Научная статья на тему 'Троянские программы: механизмы проникновения и заражения'

Троянские программы: механизмы проникновения и заражения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2141
275
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВИРУСЫ / ТРОЯНСКИЕ ПРОГРАММЫ / МЕХАНИЗМЫ ПРОНИКНОВЕНИЯ И ЗАРАЖЕНИЯ ВИРУСОМ / VIRUSES / TROJAN PROGRAMS / MECHANISMS OF INTRUSION AND INFECTION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Трубачёв Евгений Сергеевич

В данной статье представлена классификация вирусов троянских программ, анализируются механизмы проникновения и заражения вирусом-трояном.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Трубачёв Евгений Сергеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

TROJAN PROGRAMS: MECHANISMS OF INTRUSION AND INFECTION

The paper gives the classification of viruses Trojan programs, analyses of mechanisms of intrusion and infection by Trojan virus.

Текст научной работы на тему «Троянские программы: механизмы проникновения и заражения»

УДК 004.491.22 ББК 32

Трубачев Е.С.

ТРОЯНСКИЕ ПРОГРАММЫ:

МЕХАНИЗМЫ ПРОНИКНОВЕНИЯ И ЗАРАЖЕНИЯ

Trubachev E.S.

TROJAN PROGRAMS: MECHANISMS OF INTRUSION AND INFECTION

Ключевые слова: вирусы, троянские программы, механизмы проникновения и заражения вирусом.

Key words: viruses, Trojan programs, mechanisms of intrusion and infection.

Аннотация

В данной статье представлена классификация вирусов - троянских программ, анализируются механизмы проникновения и заражения вирусом-трояном.

Abstract

The paper gives the classification of viruses - Trojan programs, analyses of mechanisms of intrusion and infection by Trojan virus.

Цель исследования - классифицировать вирусы-трояны, по результатам классификации определить механизмы проникновения вирусов-троянов и заражения ПК, разработать рекомендации по антивирусной защите.

Трояны или программы класса «троянский конь» написаны с целью - нанести ущерб целевому компьютеру путем выполнения несанкционированных пользователем действий: кража данных, порча или удаление конфиденциальных данных, нарушения работоспособности ПК или использования его ресурсов в неблаговидных целях.

Некоторые троянские программы способны к самостоятельному преодолению систем защиты вычислительной системы с целью проникновения в нее. Однако в большинстве случаев они проникают на ПК вместе с другим вирусом. Троянские программы можно рассматривать как дополнительную вредоносную программу. Нередко пользователи сами загружают троянские программы из сети Интернет.

Жизненный цикл троянов можно определить следующими стадиями:

- проникновение в систему.

- активация.

- выполнение вредоносных действий.

Троянские программы [3] различаются между собой по тем действиям, которые они производят на зараженном ПК. Классификация таких программ, назначение, действия приведены в таблице 1.

Таблица 1 - Классы троянских программ

Название Назначение Действия

Trojan-PSW Воровство паролей Могут быть использованы для поиска системных файлов, хранящих различную конфиденциальную информацию (например, пароли), «воруют» регистрационную информацию к различному ПО

Название Назначение Действия

Trojan-Clicker Интернет-кликеры Организация несанкционированных обращений к Интернет-ресурсам для следующих целей: 1) привлечение потенциальных «жертв» для заражения вирусами; 2) организация атаки на сервер; 3) увеличение посещаемости сайтов и пр.

Trojan- Downloader Доставка прочих вредоносных программ Активация загруженных из Интернет программ (запуск на выполнение, регистрация на автозагрузку)

Trojan-Dropper Инсталляторы других вредоносных программ Инсталляция на диск других файлов, их запуск на выполнение

Trojan-proxy Троянские прокси-сервера Осуществляют анонимный доступ с ПК «жертвы» к различным Интернет-ресурсам. Используются для рассылки спама

Trojan-Spy Шпионские программы Осуществляют электронный шпионаж за пользователем зараженного ПК: вводимая информация, снимки экрана, список активных приложений, действия пользователей сохраняются в файле и периодически отправляются злоумышленнику

Trojan Прочие троянские программы Осуществляют прочие действия, попадающие под определение троянских программ, например, разрушение или модификацию данных, нарушение работоспособности ПК

Trojan-Notifier Оповещение об успешной атаке Информируют различными способами своему «хозяину» о зараженном ПК. При этом на адрес «хозяина» отправляется информация о зараженном ПК: Ш-адрес, номер открытого порта, адрес эл. почты и т.д.

Backdoor Утилиты удаленного администрирования Могут быть использованы для обнаружения и передачи злоумышленнику конфиденциальной информации, уничтожения данных и т.д.

ArcBomb «Бомбы» в архивах Вызывают нештатное поведение архиваторов при попытке распаковать данные

RootKit Скрытие присутствия в операционной системе Программный код, действие которого направлено на сокрытие присутствия в системе объектов: процессов, файлов, данных реестра и т.д.

Рассмотрим механизм работы RootKit-программ, угроза которых в последнее время становится все более актуальной.

В системе Windows под RootKit принято считать программу, которая несанкционированно внедряется в систему, перехватывает вызовы системных функций (API), производит модификацию системных библиотек. Перехват низкоуровневых API

позволяет такой программе маскировать свое присутствие в системе, защищая ее от обнаружения пользователем и антивирусным ПО.

RootKit-технологии можно разделить на две основные категории:

- программы, работающие в режиме пользователя (user-mode);

- программы, работающие в режиме ядра (kernel-mode).

Первая категория основана на перехвате функций библиотек, вторая - на внедрение в систему драйвера, осуществляющего перехват API уровня ядра.

В режиме пользователя существует несколько методов перехвата функций:

Модификация машинного кода прикладной программы.

Модификация таблицы импорта исполняемого файла.

Перехват функций LoadLibrary и GetProcAddress.

Модификация программного кода API функции.

Модификация программного кода библиотек DLL.

Рассмотрим наиболее распространенный метод, который совмещает в себе перехват функций LoadLibrary и GetProcAddress и модификацию таблицы импорта.

Известно два способа вызова функций, размещенных в DLL:

- раннее связывание (статически импортируемые функции);

- позднее связывание (динамически импортируемые функции).

В первом случае компилятору известен перечень импортируемых программой функций. Используя эти данные, компилятор формирует таблицу импорта EXE-файла, которая содержит список используемых программой библиотек и список импортируемых из каждой библиотеки функций. Для каждой функции в таблице импорта имеется поле для хранения адреса (виртуального адреса). На стадии компиляции реальный адрес ОП не известен. В процессе загрузки EXE-файла в ОП система анализирует его таблицу импорта, загружает в ОП все перечисленные в ней библиотеки и производит занесение в таблицу импорта реальных адресов функций. На рисунке 1 цифрами 1-3 показан процесс раннего связывания. В момент загрузки кодового сегмента в ОП происходит заполнение полей адресов в таблице импорта (1). В момент вызова функции из таблицы импорта берется адрес функции (2) и выполняются действия вызова функции (3).

Позднее связывание отличается от раннего связывания тем, что компилятору в данном случае не известен перечень импортируемых программой функций. Загрузка библиотеки производится динамически при помощи функции API LoadLibrary. Эта функция находится в файле kernel32.dll. Программа при помощи функции LoadLibrary может загрузить библиотеку в любой момент времени. Для получения реального адреса функции применяется функция kernel32.dll GetProcAddress. На рисунке 1 шаг 4 демонстрирует загрузку библиотеки при помощи LoadLibrary, определение адресов при помощи функции GetProcAddress. Таблица импорта EXE-файла при этом не нужна. Независимо от метода связывания системе необходимо знать, какие функции экспортирует DLL. Для этого у каждой DLL имеется таблица экспорта, в которой перечислены экспортируемые функции.

Рисунок 1 - Схема взаимодействия, характеризующая принцип вызова API функции Рисунок 2 демонстрирует схему перехвата RootKit-программой таблицы импорта

программы, включая функции GetProcAddress и LoadLibrary.

Рисунок 2 - Схема перехвата вызываемых программой функций

RootKit-программа находит в ОП таблицу импорта, заменяет адреса требуемых функций на адреса своих перехватчиков. В момент вызова API функции программа считывает ее адрес из модифицированной таблицы импорта, управление передается по этому адресу. В данном случае перехватываются статически импортируемые функции, в числе которых - GetProcAddress и LoadLibrary библиотеки kernel32.dll. При запросе программой адресов интересующих её функций ей выдается не реальный адрес функции, а адреса перехватчика RootKit-программы.

Таким образом, при вызове статически импортируемых функций модифицированные адреса берутся из таблицы импорта; при динамическом определении адреса вызывается перехваченная функция GetProcAddress, которая возвращает адреса функций-перехватчиков. В результате у программы нет возможности определить правильный адрес функции.

«Предупрежден, значит, вооружен...». Зная механизмы проникновения и заражения, можно исправить коды программных модулей операционной системы. Один из способов -запретить пользовательским программам напрямую взаимодействовать друг с другом; разрешить взаимодействие друг с другом с помощью посредника - операционной

системы. Взаимодействие должно строиться по схеме:

Пользовательская программа □ Операционная система □ Пользовательская программа.

В данной статье представлена классификация вирусных программ - троянов. Классификация представлена с точки зрения действия трояна. Рассмотрены механизмы вредоносного действия программы RootKit, которая модифицирует таблицу импорта в exe-файле. Даны рекомендации системному программисту.

Библиографический список

1. Боровко Р. Рынок антивирусных пакетов и средств по борьбе со спамом /cnews.ru.

2. Беляев А.В. Методы и средства защиты информации / http://www.citforum.ru.

3. Трубачев Е.С. Проблемы информационной безопасности. Методы и средства защиты информационных ресурсов / Вестник Волжского университета имени В.Н. Татищева. - 2009. - Вып. 14.

i Надоели баннеры? Вы всегда можете отключить рекламу.