Обнаружение вредоносных программ на основе анализа активности рабочей станции

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

Вестн. Ом. ун-та. 2010. № 4. С. 134-136.

УДК 681.3.06:519.6 М.Ю. Ваганов

Омский государственный университет им. Ф. М. Достоевского

ОБНАРУЖЕНИЕ ВРЕДОНОСНЫХ ПРОГРАММ

АКТИВНОСТИ

Рассматривается реализация системы обнаружения вредоносных программ на осно ве анализа активности рабочей станции.

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

Введение

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

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

Иммунные системы

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

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

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

НА ОСНОВЕ АНАЛИЗА РАБОЧЕЙ СТАНЦИИ

© М.Ю. Ваганов, 2010

Обнаружение вредоносных программ на основе анализа...______________________________135

ние приобрели такие важные особенности, как адаптируемость, наличие памяти, толерантность (терпимость по отношению к аномалиям, произошедшим на ранних стадия функционирования системы) и избирательность.

Искусственная иммунная система

Под искусственной иммунной системой принято понимать программные комплексы, принципы функционирования которых аналогичны иммунным системам живых организмов [2].

В данной работе предпринята попытка создания программного комплекса, использующего принципы иммунной системы [3] для детектирования вредоносного кода. В качестве целевой платформы выбраны операционные системы семейства Windows, а именно: ХР, 2000, Server 2003, Vista, Server 2008 и 7. В качестве критериев состояния системы выбраны статистические параметры, на которые в большинстве случаев оказывают влияние вредоносные программы. Все параметры разбиты на четыре группы:

• связанные с работой файловой системы (создание/модификация исполняемых файлов, создание файлов с нестандартными именами, создание файлов с расширениями, не соответствующими заголовку ит. п.);

• связанные с реестром операционной системы (модификация и удаление ключей, в том числе ключей, гарантированно не связанных с наблюдаемым процессом);

• связанные с сетью (обращение к устройству \\DEVICE\\TCP и т. п.);

• связанные с запуском и работой других процессов (запуск процессов с уровнем доступа, допускающим его остановку или запись в его адресное пространство, доступ к \\DEVICE\\ PHYSICALMEMORY, открытие потоков других процессов, использование хуков, выгрузка системных процессов).

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

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

Структура системы

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

• Ядро. Представляет собой Windows Service, запускаемый с привилегиями SYSTEM в процессе загрузки операционной системы. Основной задачей, возложенной на ядро, является обеспечение коммуникации между драйвером мониторинга и модулями обработки информации. Также осуществляется взаимодействие с GUI-модулем управления, позволяющее изменять настройки системы в процессе работы.

• Драйвер мониторинга. Представляет собой WDM-драйвер, включающий в себя функции сбора различных проявлений активности процессов, а именно: работу с файловой системой и устройствами, сетевую и межпроцессную активность. Также отвечает за создание и обновление таблицы процессов, которая требуется для выявления скрытых и замаскированных процессов. В виду достаточно большого количества вариантов сокрытия процесса в данной работе одновременно использовалось несколько различных способов получения списка процессов (в частности, используя функции ToolHelp API, Native API, ZwQuerySystemlnformation, а также анализ структуры EPROCESS). В целях повышения производительности и стабильности работы системы, упрощения отладки на стадии разработки обработка собранной информации осуществляется отдельными модулями, функционирующими в пользовательском режиме.

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

• GUI-модуль управления. Является Windows Forms приложением, позволяю-

136

М.Ю. Ваганов

щим пользователю или администратору производить тонкую настройку системы (загрузка и выгрузка модулей, изменение чувствительности системы, правила и исключения обработки активности для отдельных процессов и групп процессов и т. п.). Связь модуля управления и ядра системы осуществляется посредством зашифрованного TCP/IP соединения, поэтому настройка может производиться как локально, так и удаленно.

• Модуль реакции. Отвечает за остановку работы процесса, в случае признания деятельности последнего вредоносной.

• База данных. Хранит статистическую информацию о деятельности всех процессов системы.

Все компоненты, за исключением драйвера мониторинга, реализованы на языке C# с использованием .NET Framework версии 4.0. Для написания драйвера использовалась комбинация языков C++ и Assembler. Передача информации между драйвером и ядром осуществляется с помощью IRP пакетов [4; 5].

Целостность РЕ образа

Для выявления замаскированного вредоносного кода перед запуском приложения система производит проверку структуры исполняемого файла. Проверка состоит из следующих шагов:

• анализ таблицы импорта;

• анализ секции данных (проверка на наличие кода);

• проверка избыточности циклической суммы (CRC32);

• эмуляция загрузки файла с последующей проверкой соответствия структуры образа в памяти.

Работа с файловой системой

Для регистрации всех обращений к файловой системе в драйвер мониторинга был включен функционал драйвера

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

Полученные результаты

Тестирование работоспособности системы проведено на серии известных вредоносных программ (в частности Trojan-Downloader.Win32.Agent.bet). Для сравнения использовались две идентично сконфигурированные виртуальные машины: VirtualBox, Windows ХР SP2 с включенным стандартным сетевым экраном. Обеим машинам был обеспечен доступ в сеть Internet. В процессе тестирования одна из машин все время оставалась «здоровой», другая «заражалась» через некоторое время после начала эксперимента. Число успешных индикаций зараженного состояния составляет не менее 73 %, что говорит о высокой эффективности используемой модели.

ЛИТЕРАТУРА

[1] Tarakanov A. O., Skormin V. A., Sokolova S. P. Immunocomputing: Principles and Applications. NY : Springer, 2003.

[2] Дасгупта В. Искусственные иммунные системы. М. : Физматлит, 2006. 344 с.

[3] Newsome J., Karp B., Song D. Polygraph: Auto-

matically Generating Signatures for Polymorphic Worms. URL: http://www.ece.cmu.edu/-

dawnsong/papers/polygraph.pdf (дата обращения: 01.02.2010).

[4] Они У. Использование Microsoft Windows Driver Model. Питер, 2007. С. 213-293.

[5] Руссинович М., Соломон Д. Внутреннее устройство Microsoft Windows: Windows Server 2003, Wndows XP, Windows 2000. СПб.: Питер, Русская редакция, 2008. С. 566-648.