Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

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

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Ваганов, Михаил Юрьевич. Гибридная искусственная иммунная система защиты компьютера от процессов с аномальной активностью : диссертация ... кандидата технических наук : 05.13.19 / Ваганов Михаил Юрьевич; [Место защиты: Нац. исслед. ун-т информ. технол., мех. и оптики].- Омск, 2012.- 94 с.: ил. РГБ ОД, 61 12-5/3392

Содержание к диссертации

Введение

0.2 Искусственные иммунные и гибридные системы . 6

0.3 Архитектура гибридной системы противодействия аномальной активности процессов 39

0.4 Программная реализация искусственной иммунной системы для подавления аномальной активности процессов 54

0.5 Компьютерный эксперимент 74

0.6 Выводы 83

0.7 Публикации автора по теме диссертации 84

Введение к работе

Актуальность темы

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

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

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

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

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

Для достижения поставленной цели были решены следующие задачи:

  1. Разработка и реализация системы слежения за аномальной активностью процессов.

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

  3. Разработка алгоритма подавления вредоносного кода.

  4. Реализация и апробация программного комплекса, реализующего разработанные алгоритмы.

Объектом исследования является вредоносный код, его детектирование и нейтрализация. .

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

Научная новизна

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

  1. Разработка и реализация системы слежения за аномальной активностью процессов. Новизна подхода состоит в динамическом отслеживании объема ресурсов, потребляемых процессом на основе системы детекторов в реальном времени.

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

  3. Разработка алгоритма подавления вредоносного кода. Новизна подхода состоит в автоматическом формировании сервисов, отвечающих за подавление каждого вида аномальной активности - антител.

4. Реализация и апробация программного комплекса, реализующе
го разработанные алгоритмы. Реализовано антивирусное программное
обеспечение с использованием искусственных иммунных систем.

Практическая и научная значимость результатов

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

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

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

  4. Реализованный программный комплекс представляет собой закон-

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

  1. Система слежения за аномальной активностью процессов.

  2. Алгоритм автоматического выделения участков вредоносного кода.

  3. Алгоритм подавления вредоносного кода.

  4. Прикладное программное обеспечение, реализующее предложенные алгоритмы.

Апробация работы Основные результаты диссертации докладывались и обсуждались на следующих конференциях: «Информационные технологии и автоматизация управления» (2009 г., г.Омск), IV Международная научно - практическая конференция « Актуальные проблемы безопасности информационных технологий»,(Красноярск, 2010), международная конференция «Автоматизация управления и интеллектуальные системы и среды» (г. Нальчик,2010), XVIII Всероссийская научно-практическая конференция «Проблемы информационной безопасности в системе высшей школы» (г. Москва, 2011).

Публикации Материалы диссертации опубликованы в б печатных работах, из них 2 статьи в журналах из списка, рекомендованного ВАК.

Структура и объем диссертации

Искусственные иммунные и гибридные системы

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

Все живые существа обладают иммунной системой, сложность которой отличается в зависимости от их характерных черт. Например, некоторые растения обладают защитными шипами, обеспечивающими сохранность от нападения хищников. Со своей стороны животные, имеющие в составе организмов костный скелет (позвоночные животные), сумели развить крайне эффективную и сложную иммунную систему. Данная система включает в себя огромные совокупности клеток, молекул, а также внутренние органы, которые объединяются с единой целью поддержания жизни. При построении искусственных иммунных систем, как правило, опираются на функционирование иммунной системы позвоночных животных, более конкретно - иммунной системы человека. Это связано с интересными особенностями, с биологической и вычислительной точек зрения, гигантским доступным знанием о ее функционировании, а также широкими возможностями использования при проектировании искусственных иммунных систем. Иммунная система выполняет несколько видов задач. Совместно с другими системами организма она поддерживает устойчивый режим работы жизненно важных функций, так называемый гомеостаз. Однако ее наиболее значимая роль состоит в защите организма от атак болезнетворных агентов, патогенов, а также ликвидации неработоспособных клеток. Микроорганизмы, такие как вирусы, бактерии, грибы и паразиты классифицируются в качестве болезнетворных микроорганизмов, поскольку ввиду проникновения внутрь организма человека способны вызывать различные заболевания. Таким образом, основная проблема, с которой сталкивается иммунная система, это распознавание болезнетворных микроорганизмов. Сами по себе патогены не могут быть напрямую распознаны компонентами иммунной системы. Объектами распознавания в этом случае выступают небольшие структурные элементы данных микроорганизмов, называемые антигенами. После распознавания (идентификации) болезнетворного агента, в целях ликвидации вероятности заболевания или препятствия его развитию, иммунная система становится ответственной за его устранение. Однако существует некоторое количество иных задач, которые иммунная система обязана решать в целях корректной идентификации и устранения инфекционных агентов. Одна из таких задач -распознавание тканей организма, так называемых собственных. Как и патогены, клетки и молекулы организма человека имеют антигены, в данном случае собственные антигены, также распознаваемые иммунной системой. В целях проведения различия между собственными антигенами и антигенами, представленными инфекционными агентами, последние получили название чужеродных антигенов. Процесс распознавания собственных и чужеродных антигенов (т.е. непосредственно относящихся и не относящихся к организму человека) получил название распознавание свой/чужой.

Физиология иммунных систем. В организме человека имеются два органа, ответственные за образование и развитие иммунокомпетентных клеток: костный мозг и тимус (зобная железа). Костный мозг представляет собой область, где вырабатываются и развиваются некоторые кровяные клетки. В свою очередь зобная железа - это орган, куда мигрирует и где развивается класс иммуноцитов, названных Т-клетками. Существует несколько типов иммунокомпетентных клеток, однако в дальнейшем мы сосредоточим свое внимание на лимфоцитах. Лимфоциты представляют собой белые кровяные клетки, главным образом специализирующиеся на распознавании патогенов. Существует два основных типа лимфоцитов образующихся в костном мозге: В-клетки и Т-клетки. Те лимфоциты, которые развиваются внутри костного мозга, именуются В-клетками, в свою очередь те, которые мигрируют и развиваются в зобной железе (тимусе), соответственно Т-клетками. Оба типа клеток имеют на своей поверхности рецеп-торные молекулы, ответственные за распознавание антигенных образов, проявляемых патогенами или некоторыми из их фрагментов [5].

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

1) связывание (распознавание) антигенов,

2) функции эффектора.

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

Распознавание образов в иммунной системе. Распознавание образов в иммунной системе происходит преимущественно на молекулярном уровне. Поверхностные рецепторы В-и Т-клеток имеют определенную «форму», которая должна совпадать с формой антигена. Существуют и другие особенности, вовлеченные в процесс распознавания антигенов посредством клеточных рецепторов. И В- и Т-клетки в целях распознавания антигенов используют поверхностные рецепторы. Отличительными признаками данных рецепторов являются их базовая конструкция (антитела и TCR) и типы распознаваемых антигенов. В то время как антитела могут свободно распознавать и связывать многие типы антигенов, TCR способны распознавать лишь антигены, представленные молекулами нашего собственного организма также называемого главный комплекс гистосовместимости (ГКГ). Таким образом, TCR способны распознавать исключительно молекулы, известные как комплексы пептидов/ГКГ. В свою очередь пептиды - это переработанные (фрагментарные) части антигена. Важно отметить, что распознавание в иммунной системе строится на комплементарности форм. Антигены и клеточные рецепторы для связывания друг с другом обязаны иметь комплементарные формы. Данное связывание вызывает иммунную реакцию, то есть реакцию иммунной системы на патоген, к которому относится распознанный системой антиген.

Клональная селекция. Ранее уже был рассмотрен процесс образования иммунных клеток и то, каким образом происходит распознавание антигенов. Однако теперь встает вопрос: что происходит вследствие распознавания? После успешного распознавания следует адаптивная иммунная реакция. Важный механизм защиты иммунной системы состоит в воспроизводстве клеток, способных распознавать и связывать антигены [2]. Воспроизводство клеток в иммунной системе основано на клонировании (митозе), то есть создании клеток-потомков, являющихся копиями родительских клеток подвергнутых мутациям. Данная пролиферация (быстрое размножение) приводит к производству клона клеток одинакового типа. Вследствие мутаций все клетки внутри клона являются подобными, однако, имеющими некоторые различия касающиеся способности распознавания антигена, вызвавшего иммунную реакцию. Механизм селекции гарантирует, что клетки-потомки (внутри клона) наиболее эффективно распознающие антиген, вызвавший реакцию системы, будут отобраны в целях увеличения срока их службы; данные клетки именуются клетками памяти. В соответствии с описанной стратегией процесс эволюции формирует наши иммунные системы таким образом, чтобы они были способны справляться с антигенами, с которыми столкнулись в прошлом. Указанный принцип также используется при вакцинации. Весь процесс распознавания антигенов, клеточной пролиферации и дифференциации клеток памяти получил название клональной селекции.

Архитектура гибридной системы противодействия аномальной активности процессов

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

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

1. Наличие начального иммунитета к некоторому набору вредоносного программного обеспечения. То есть после установки и запуска системы компьютер способен противодействовать определенному воздействию со стороны вирусов. Данное требование соответствует наличию врожденного иммунитета у живых организмов. Также сюда могут быть отнесены прививки, которые делаются живым организмам в раннем возрасте.

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

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

4. Автоматическое реагирование на вновь появляющиеся вредоносные программы. То есть должен быть реализован алгоритм распознавания свой/чужой, выявляющий угрозы безопасности компьютерной системе.

5. Формирование защитных мер, противодействующих выявленным вредоносным программам. То есть система должна формировать антигены, соответствующие каждому выявленному компьютерному вирусу.

При запуске приложения в системе происходит проверка является ли оно новым. Для выявления новых ведется список обработанных приложений. Если приложение не является новым, то производится проверка, не помещено ли приложение в карантин. Если приложение в карантине, то оно блокируется. Снять блокировку может только пользователь в «ручном» режиме. Если приложение не помещено в карантин, то оно запускается на выполнение средствами операционной системы.

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

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

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

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

1. Дизассебмлирование процесса.

2. Поиск стоп-точек (начало и конец процедуры).

3. Выделение блоков команд.

4. Отбрасывание операндов.

5. Запись последовательностей инструкций.

Как видим в данном фрагменте программы удалось выделить две последовательности инструкций.

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

Для отслеживания активности процессов используются детекторы фиксирующие обращения к тем или иным ресурсам системы. Каждый детектор играет роль триггера, генерирующего сигнал при наступлении определенного события. Все сигналы последовательно записываются в некоторый общий поток событий, привязанный к каждому процессу. Для того, чтобы отличать одно событие от другого был построен реестр вызовов для различных состояний системы, согласно которому каждый вызов был ассоциирован с уникальным числовым значением. Анализируя частоту использования вызовов нормальными и вредоносными приложениями, из реестра были удалены вызовы, использующиеся в более, чем 80% и менее чем 10% всех приложений. Наиболее часто используемые вызовы соответствуют обычным действиям, выполняемым всеми процессами. Редкие вызовы используют специализированные программы, устанавливаемые с ведома пользователя. Для удобства, все детекторы были разбиты на несколько групп, характеризующих их область применимости:

1. Работа с файлами.

2. Работа с сетью.

3. Работа с реестром.

4. Работа политиками безопасности.

5. Управление сервисами.

6. Управление установкой приложений.

Таким образом, активность процесса была представлена в виде последовательности сигналов детекторов. Поток вызовов был разбит на блоки, длинной 12 элементов, где каждый элемент представляет собой числовое значение ассоциированное с вызванным методом.

Для определения является ли поведение аномальным были использованы два подхода - алгоритм отрицательного отбора и нейросетевой подход.

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

Программная реализация искусственной иммунной системы для подавления аномальной активности процессов

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

Для регистрации всех обращений к файловой системе, в драйвер мониторинга был включен функционал драйвера фильтра файловой системы, основной задачей которого является перехват IRP—пакетов с командами IRP MJ CREATE. Тот факт, что драйвер фильтра занимает в иерархии более высокий уровень, нежели драйвер файловой системы, позволяет ему модифицировать поток между приложениями и драйвером файловой системы.

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

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

1.2. CancelloEx - отмечает любые ожидающие выполнения операции ввода/вывода для данного файла, детектор на ее основе позволяет отслеживать процессы открывающие много файлов одновременно.

1.3. CancelSynchronousIo - отмечает синхронные операции ожидающие ввода/вывода (I/O), которые были запущены указанным потоком как отмененные.

1.4. CopyFile - копирует существующий файл в новый файл, детектор на ее основе позволяет отслеживать процессы, производящие операцию копирование файла.

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

1.6. CreateFile - создает или открывает каталог, физический диск, том, буфер консоли (CONIN$ или CONOUTS), устройство на магнитной ленте, коммуникационный ресурс, почтовый слот или именованный канал. Детекртор на ее основе позволяет отслеживать процессы, осуществляющие операции открытия или создания каталога, физического диска, тома, буфера консоли итп.

1.7. CreateHardLink - устанавливает жесткую связь между существующим и новым файлом (поддерживается только в NTFS), детектор на ее основе позволяет отслеживать процессы, создающие «hardlink» для файлов.

1.8. CreateloCompletionPort - связывает порт завершения ввода/-вывода (I/O) данных с одним или несколькими дескрипторами файла, или она может создать порт завершение I/O, который не связан с дескриптором файла.

1.9. DeleteFile - удаляет существующий файл, детектор на ее основе позволяет отслеживать процессы, осуществляющие операцию удаления файла.

1.10. FindClose - закрывает дескриптор поиска файла, открытый функциями FindFirstFile и FindFirstFileEx или FindFirstStreamW. Детектор на ее основе позволяет отслеживать процессы, осуществляющие поиск файлов.

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

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

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

1.14. FindNextFile продолжает поиск файла из предыдущего вызова функции FindFirstFile или FindFirstFileEx. Детектор на ее основе позволяет отслеживать процессы, осуществляющие поиск файлов.

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

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

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

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

1.19. GetFileSize - извлекает размер указанного файла. Размер файла, который может быть сообщен при помощи этой функции ограничивается значением двойного слова (DWORD). Детектор на ее основе позволяет отслеживать процессы, запрашивающие информацию о различных свойствах файлов.

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

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

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

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

1.24. LockFile - блокирует заданный файл для единоличного доступа вызывающего процесса. Детектор на ее основе позволяет отслеживать процессы блокирующие доступ к файлам.

1.25. LockFileEx - блокирует заданный файл для монопольного доступа вызывающего процесса. Детектор на ее основе позволяет отслеживать процессы блокирующие доступ к файлам.

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

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

1.28. MoveFileWithProgress - перемещает файл или каталог (дает возможность предоставить функцию повторного вызова, которая получает уведомления о продвижении процесса). Детектор на ее основе позволяет отслеживать процессы, производящие операции с перемещением файлов и каталогов.

1.29. OpenFile - создает, открывает, повторно открывает или удаляет файл, детектор на ее основе позволяет отслежтвать процессы, осуществляющие открытие файлов.

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

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

1.32. 8earchPath - ищет заданный файл по указанному пути, детектор на ее основе позволяет отслежтвать процессы, осуществляющие операции поиска файлов.

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

1.34. SetFilePointer - перемещает указатель позиции в открытом файле, детектор на ее основе позволяет отслеживать процессы, производящие манипуляции с открытыми файлами.

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

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

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

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

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

Компьютерный эксперимент

Эксперимент проводился в три стадии. Первая стадия заключалась в обучении подсистемы анализа активности процессов. Во второй стадии формировалась база данных приложения и происходило обучение подсистемы программных профилей. При обучении в качестве входных данных использовались наборы известных вредоносных и нормальных программ. В третьей стадии было произведено тестирование совместной работы подсистем профилей и анализа активности процессов. В поставленном эксперименте были задействованы 8 персональных компьютеров с установленной Windows Seven, 32bit. Каждый из компьютеров являлся рабочим местом одного из трех типов сотрудников (менеджер, оператор или бухгалтер) организации, согласившейся принять участие в эксперименте. Для проверки данных перед началом обучения использовался Norton Antivirus (с последними, на момент тестирования, базами). Выбор платформы (х32) обусловлен возможностью использования бесплатной версии дизассемблера IDA Pro.

Для составления актуального набора вредоносных программ, были развернуты спам-ловушки на доменах gorodomsk.org, nobrain.ru и email.WS. Так же были реализованы скрипты, позволяющие переходить по ссылкам в теле письма и сохранять вредоносное программное обеспечение. Общее количество извлеченных исполняемых вложений (включая архивы) составило 4000. Полученные исполняемые файлы были разделены на две группы - одна использовалась на стадии обучения, вторая - в ходе последующего тестирования.

В процессе создания базового набора детекторов использовались данные о нормальной активности процессов, собранные за 480 часов (60 рабочих дней), а так же данные о суточной активности вредоносных программ из первого набора.

Для подготовки данных ко второй стадии эксперимента, были реализованные скрипты на языке python, копирующие исполняемые файлы с расширениями ехе и dll на сетевой диск. Далее было произведено удаление повторяющихся файлов, после чего количество файлов для анализа составило 65 000 файлов. Непосредственно перед началом дизассемблирования, было проведено антивирусное сканирование, что позволило исключить возможность попадания вредоносного программного обеспечения.

После применения метода последовательного сокращения, количество последовательностей сократилось до 3383 После применения метода Пирсона, число уникальных последовательностей составило 623.

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

В качестве метода обучения использовался метод коррекции ошибки (обучение с учителем).

Для реализации выбранной модели использовалась библиотека FANN и соответствующий интерфейс для языка python.

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

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

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