
- •Тема 9.1. Классификация вредоносных программ
- •Вредоносное программное обеспечение
- •Подведем итоги
- •Тема 3.2. Троянские программы
- •Подведем итоги
- •Тема 3.3. Самовоспроизводящийся код
- •Подведем итоги
- •Тема 3.4. Борьба с вредоносными программами
- •Подведем итоги
- •Операционные системы
- •Прикладные программы
- •Ошибки, приводящие к возможности атак на информацию
- •Основные положения по разработке по
Подведем итоги
вредоносная программа – это программа или процедура (встроенная в какую-либо программу), умышленно изменяющая штатный режим работы компьютера.
вредоносные программы можно классифицировать по цели функционирования: на нарушающие конфиденциальность, целостность или доступность информации;
по степени избирательности вредоносные программы могут быть универсальными, ограниченными или уникальными;
по типу управления вредоносныый код может быть неуправляемым, ожидающим управление и запрашивающим управление.
вопросы для самоконтроля
1. Приведите известные вам примеры вредоносных программ. С какими видами Вы сталкивались лично?
2. Какие способы доставки украденной информации к злоумышленнику могут использовать программные закладки?
3. Какие свойства системы могут выбраны злоумышленником в качестве признаков для активации программной закладки?
4. Какая схема управления вредоносным кодом наиболее опасна?
Тема 3.2. Троянские программы
В результате изучения данной темы Вы будете знать
что такое троянская программа,
где может располагаться ее программный код,
какие несанкционированные действия выполняют наиболее распространенные виды троянских программ.
Троянская программа – разновидность вредоносных программ, реализующая угрозы конфиденциальности и целостности информации и ведущая себя на атакуемом компьютере как можно менее заметно. Название произошло от мифической статуи "троянского коня", внутри которого были спрятаны люди, открывшие ворота осаждаемой Трои изнутри.
Существует три основных пути проникновения троянской программы в защищаемую информационную систему:
программная закладка недобросовестными производителями на этапе разработки;
умышленная установка недобросовестным сотрудником, имеющим (или имевшим ранее) полномочия для работы в системе;
неумышленный запуск (чаще всего в связи с заражением файлов вирусами) рядовым сотрудником.
Отдельно следует отметить случай, когда троянская программа устанавливается извне системы через уже имеющуюся уязвимость в системе безопасности, после чего изнутри еще в большей степени снижает эффективность системы безопасности.
В операционной системе Microsoft Windows троянские программы могут располагаться:
в прикладных программах (троянская программа активна во время работы данной прикладной программы);
в служебных невизуальных программах операционной системы – сервисах и драйверах (создается сервис с именем и описанием, напоминающими служебные, и в течение всего времени работы компьютера троянская программа может выполнять заложенные в нее злоумышленником функции);
в динамически загружаемых библиотеках DLL (троянская программа изменяет какую-либо часто используемую библиотеку и при каждом вызове процедуры из нее может выполнять какое-либо несанкционированное действие);
редко – в программном коде аппаратных устройств (процедура активируется в момент инициализации устройства или при выполнении определенных действий с ним).
Принцип активации кода троянских программ при работе с динамически загружаемыми библиотеками основан на внутреннем устройстве операционной системы Microsoft Windows. Одно из основных положений работы программ в ней заключается в том, что программный код наиболее часто востребованных и системных функции операционной системы вынесен в DLL-библиотеки. При этом сразу несколько программ (как системных так и прикладных) могут одновременно использовать программный код одной и той же библиотеки. Поиск функции производится по уникальной паре требуемых имени библиотеки и имени процедуры в ней.
В штатном режиме работы вызов процедуры из динамической библиотеки происходит как изображено на рис. 3.2.1.
Рис.3.2.1. Вызов процедуры из DLL-библиотеки в штатном режиме
Однако если в момент установки троянской программы имеется возможность модифицировать либо код программы, либо саму библиотеку, то последовательность вызова процедуры будет уже другой – с активацией несанкционированного кода троянской программы. Пример, демонстрирующий вариант с изменением прикладной программы показан на рис.3.2.2, с изменением DLL-библиотеки – на рис.3.2.3.
Рис.3.2.2. Модификация секции импорта приложения
Рис.3.2.3. Модификация секции экспорта DLL-библиотеки
Закладки в программный код аппаратных устройств имеют гораздо более ограниченный набор возможностей (например, не могут записывать информацию на другие устройства или пересылать по сети) и требуют высокой квалификации для создания. Однако, при этом обладают уникальной возможностью "выживать" при полной переустановке операционной системы и всего программного обеспечения.
Наиболее распространенными целями работы троянских программ (исключая единичные версии) являются:
предоставление злоумышленнику полного доступа над атакованным компьютером;
кража часто встречающейся ценной информации (паролей доступа к коммутируемым линиям Интернет, номеров кредитных карт, ключей систем электронных платежей);
полный лог и отправка вовне защищаемого периметра всех текстов (в т.ч. паролей), набираемых на клавиатуре компьютера.
Троянские программы, работающие по принципу ожидания управления (см. тему 3.1) чаще всего открывают на ожидание подключения какой-либо порт протокола TCP или UDP. В случае поступления пакетов на этот порт троянская программа выделяет из них команды (по заложенным в ней правилам), исполняет их и отправляет удаленной стороне результат. К типовому набору команд, реализуемых подобными программами (они получили еще одно название – "backdoor" – потайная дверь) относятся:
чтение, запись, модификация файлов на дисках;
запуск программ на зараженном компьютере, в том числе записанных до этого на диск от злоумышленника;
отправка злоумышленнику копии текущего изображения на экране;
эмуляция нажатия клавиш и передвижения курсора мыши.
Более сложными и более скрытыми технологиями является перехват и фильтрация сетевых сообщений к уже открытому TCP-порту (например, какого-либо сервера, запущенного на атакованной машине) и общение по служебному протоколу ICMP.
В современных корпоративных сетях все чаще в точке подключения к сети Интернет используются межсетевые экраны, прокси-сервера и трансляция адресов. Любое из этих средств защиты (более подробно – см. раздел 5) не позволяет злоумышленнику начать соединение с установленной внутри защищаемого периметра троянской программой. Учитывая это, создатели и распространители вредоносных программ начинают все шире использовать принцип запроса управления (см. тему 3.1). В этом случае троянская программа сама, маскируясь под сетевой трафик, разрешенный пользователю атакованной машины, запрашивает сервер злоумышленника о дальнейших действиях. В качестве точки взаимодействия может использоваться WWW-страничка, ящик электронной почты, ICQ-подключение. Троянские программы с запросом управления являются наиболее трудно обнаружимыми из всего класса управляемых вредоносных программ.