WWW.LIB.KNIGI-X.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Электронные матриалы
 


Pages:   || 2 |

«РАСПОЗНАВАНИЯ ВРЕДОНОСНЫХ ПРОГРАММ НА ОСНОВЕ ИСКУССТВЕННЫХ ИММУННЫХ СИСТЕМ ...»

-- [ Страница 1 ] --

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ

РАДИОЭЛЕКТРОНИКИ

На правах рукописи

КУШНАРЕВ МАКСИМ ВЛАДИМИРОВИЧ

УДК 004.89

МЕТОДЫ И МОДЕЛИ РАСПОЗНАВАНИЯ ВРЕДОНОСНЫХ

ПРОГРАММ НА ОСНОВЕ ИСКУССТВЕННЫХ ИММУННЫХ СИСТЕМ

Специальность 05.13.23 – системы и средства искусственного интеллекта Диссертация на соискание ученой степени кандидата технических наук

Научный руководитель Цей примірник дисертації ідентичний за змістом з іншими, що подані до Кораблев Николай Михайлович, спецради Д 64.052.01 доктор технических наук, профессор Вчений секретар Харьков – 2016 СОДЕРЖАНИЕ

ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ

СОКРАЩЕНИЙ И ТЕРМИНОВ…………………………………………..……..4 ВВЕДЕНИЕ………………………………………………………………………..5

РАЗДЕЛ 1. АНАЛИЗ СОСТОЯНИЯ ВОПРОСА И ПОСТАНОВКА

ЗАДАЧ ИССЛЕДОВАНИЯ……………………………………………………..13

1.1. Проблемы распознавания вредоносных программ…………...…………..13

1.2. Анализ существующих классов вирусов……………………………….….16

1.3. Анализ методов и моделей распознавания вредоносных программ….…19 1.3.1. Сигнатурный анализ………………………………………………………19 1.3.2. Эвристический анализ…………………………………………………….22

1.4. Анализ методов искусственного интеллекта в задачах распознавания вредоносных программ …………………………….……………….…..…32 1.4.1. Продукционные системы…………………………………………………32 1.4.2. Статистический подход…………………………………………………..36 1.4.3. Искусственные нейронные сети………………………………………….39 1.4.4. Мультиагентные системы………………………………………………...42 1.4.5. Искусственные иммунные системы………………………………………..44

1.5. Выводы по разделу 1 и постановка задач исследования……………………49

РАЗДЕЛ 2. РАСПОЗНАВАНИЕ ВРЕДОНОСНЫХ ПРОГРАММ НА

ОСНОВЕ ИСКУССТВЕННОЙ ИММУННОЙ СЕТИ……………………..….53

2.1. Модель эвристического анализатора вредоносных программ...…………53

2.2. Выделение характерных признаков………………………………………..61

2.3. Выбор модели искусственной иммунной системы для распознавания вредоносных программ.…………………………………………………...…….63 2.3.1. Модель клонального отбора……………………………………………...64 2.3.2. Модель искусственной иммунной сети………………………………….66 2.3.3. Модель отрицательного/положительного отбора………………………69

2.4. Исследование основных операторов иммунных моделей………………..72

2.5. Обучение искусственной иммунной сети и распознавание вредоносных программ……………………………………………………..78

2.6. Выводы по разделу 2………………………………………………………….84

РАЗДЕЛ 3. РАСПОЗНАВАНИЕ ВРЕДОНОСНЫХ ПРОГРАММ НА

ОСНОВЕ ГИБРИДНЫХ ПОДХОДОВ С ИСПОЛЬЗОВАНИЕМ ИИС……...86

3.1. Выбор модели искусственной нейронной сети для распознавания вредоносных программ…………………………………...………………...86

3.2. Обучение нейросетевого анализатора с помощью ИИС…………………91

3.3. Распознавание вредоносных программ с использованием мультиагентного подхода ……………………………..…………….. …...99

3.4. Мультиагентная модель искусственной иммунной сети для распознавания вредоносных программ……………………………….....105

3.5. Выводы по разделу 3………………………………………………………...113 РАЗДЕЛ 4. ЭКСПЕРИМЕНТАЛЬНЫЕ ИССЛЕДОВАНИЯ………………...115

4.1. Выбор инструментальных средств для моделирования работы эвристических анализаторов вредоносных программ ……………….....115

4.2. Получение данных и предварительная обработка протоколов работы вредоносных программ…………………………………….……..116

4.3 Распознавание вредоносных программ семейства Trojan-PSW.Win32.LdPinch…….……………………………..…...………122

4.4 Распознавание вредоносных программ семейства Email-orm.Win32.Warezov…………..……………………………………..129

4.5. Сравнительный анализ эффективности разработанных методов и моделей распознавания вредоносных программ……...…… …..……..133

4.6. Выводы по разделу 4………………………………………………………...137 ВЫВОДЫ……………………………………………………………………….139 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ…………………………..142 Приложение А. Акты об использовании результатов диссертационной работы…………………………………………………………………………...161

ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ

СОКРАЩЕНИЙ И ТЕРМИНОВ

АП – антивирусная программа;

БД – база данных;

БПР – блок принятия решений;

ВП – вредоносная программа;

ГА – генетический алгоритм;

ЕИС – естественная иммунная система;

ИА – иммунный алгоритм;

ИИ – искусственный интеллект;

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

ИМ – иммунная модель;

ИНС – искусственная нейронная сеть;

ИОИ – интеллектуальная обработка информации;

НС – нейронная сеть;

МАМ – мультиагентная модель;

МАС – мультиагентная система;

ОС – операционная система;

ПО – программное обеспечение;

СОВ – система обнаружения вторжений;

ЭА – эвристический анализатор;

ЭТ – эвристические технологии;

ЭС – экспертная система;

DDoS – Distributed Denial of Service (распределенный отказ в обслуживании);

IDS – Intrusion Detection System (система обнаружения вторжений).

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

Использование методов искусственного интеллекта (ИИ) позволяет создавать принципиально новые методы и модели распознавания ВП, повышающие уровень защищенности компьютерных систем. В этой связи в составе эвристических анализаторов (ЭА) в настоящее время активно используются ИНС, ИИС, МАС и др. [1, 12-15, 21-24, 28, 30, 33-35, 42, 70-75, 89, 94-95, 101-102, 109-110, 117, 120-121, 127-128, 139, 140, 144-148, 160, 173], с помощью которых можно эффективно распознавать как старые, так и новые модификации вирусов, с минимально возможной загрузкой системы.

Различным аспектам разработки, реализации и использования интеллектуальных методов и моделей распознавания ВП посвящены работы Е.С. Абрамова, А.И. Аветисяна, П.П. Алексеева, Н.О. Андреева, Дж. Била, Ю.А. Брюхомицкого, А.В. Гаврилова, В.А. Головко, Дж. Гомеса, Ф. Гонсалеса, В.И. Городецкого, С.В. Гошко, Ю.Г. Емельяновой, А.Г. Корченко, И.В. Котенко, А.В. Лукацкого, Е.А. Новикова, С.А. Петрова и других ученых.

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

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

Связь работы с научными программами, планами, темами.

Диссертационная работа выполнена в соответствии с планом научноисследовательских работ Харьковского национального университета радиоэлектроники в рамках госбюджетных тем «Эволюционные гибридные системы вычислительного интеллекта с переменной структурой для интеллектуального анализа данных» (№ ДР 0110U000458), раздел «Эволюционные гибридные методы и модели интеллектуальной обработки информации с переменной структурой в условиях неопределенности», и «Нейро-фаззи системы для текущей кластеризации и классификации последовательностей данных в условиях их искаженности отсутствующими и аномальными наблюдениями» (№ ДР 0113U000361), раздел «Адаптивные методы и модели классификации данных и прогнозирования временных рядов в условиях их искаженности отсутствующими и аномальными наблюдениями на основе искусственных иммунных систем» которые выполнялись в соответствии с приказами Министерства образования и науки Украины. Автор был одним из исполнителей работ по данным темам.

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

Для достижения этой цели необходимо решить следующие задачи:

– анализ существующих методов и моделей распознавания вредоносных программ;

– разработка модели эвристического анализатора вредоносных программ, которая использует поведенческий анализ на основании данных, получаемых от эмуляторов, и их интеллектуальный анализ;

– разработка метода распознавания вредоносных программ на основе искусственной иммунной сети и исследование основных иммунных операторов;

– разработка метода распознавания вредоносных программ на основе искусственной нейронной сети с иммунным обучением;

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

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

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

Предметом исследования являются методы и модели распознавания вредоносных программ на основе искусственных иммунных систем.

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

Научная новизна полученных результатов.

К новым, полученным лично автором, относятся следующие результаты:

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

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

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

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

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

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

Отдельные положения, выводы и рекомендации, полученные в диссертационной работе, использованы для повышения эффективности системы безопасности компьютерной сети ООО «Ипра-софт» (акт внедрения от 21.01.15 г.), а также для работы с сетевыми протоколами и в системном администрировании ООО «Интехсофт» (акт внедрения от 30.04.15 г.).

Результаты диссертационной работы также были внедрены в учебный процесс Харьковского национального университета радиоэлектроники (акт внедрения от 23.04.15 г.).

Личный вклад соискателя. Все основные результаты, выносимые соискателем на защиту, получены лично. В работах, написанных в соавторстве, соискателю принадлежит: в [4] – разработка структуры экспертного оценивания с использованием принципов параллелизма; в [20] – разработка модели автоматической классификации объектов; в [40] – разработка структуры мультиагентной модели распознавания вредоносного кода; в [46] – мультиагентный подход к решению задачи коммивояжера; в [47] – разработка модели взаимодействия агентов в МАС; в [48] – разработка гибридной модели ЭА ВП программ с использованием ИНС; в [49] – разработка иммунной модели распознавания компьютерных вирусов на основе мультиагентного подхода; в [51] – использование адаптивного структурированного мультиантитела для обучения нейросетевого анализатора ВП; в [52] – использование искусственной иммунной сети для распознавания ВП; в [53] – синтез модели интеллектуальной МАС на основе искусственной иммунной сети; в [54] – синтез модели ЭА ВП на основе ИИС; в [55] – разработка модифицированной модели автоматической классификации на основе иммунного метода RLAIS; в [56] – разработка мультиагентной модели ИИС для распознавания ВП; в [57] – синтез МАС на основе искусственной иммунной сети; в [58] – разработка нейросетевого ЭА ВП с иммунным обучением; в [59] – разработка модели нечеткой классификация объектов на основе ИИС; в [61] – подход к обнаружению и анализу компьютерных вирусов на основе искусственной иммунной сети; в [62] – разработка модели представления МАС с помощью ИИС; в [64] – синтез МАС обнаружения компьютерных вторжений и распознавания вирусов; в [65] – применение МАС для классификации компьютерных вирусов; в [63] – разработка модели ЭА ВП на основе нейронной сети; в [67]

– предложена среда моделирования МАС; в [68] – предложено использование искусственных иммунных сетей для распознавания компьютерных вирусов; в [76] – разработана модель взаимодействия агентов на основе ИИС; в [78] – разработана МАС обнаружения и предотвращения вторжений в компьютер; в [79] – предложено обучение нейросетевого ЭА ВП с помощью ИИС; в [81] – предложен агентно-ориентированный подход создания системы поддержки принятия решений; в [157] – предложен иммунный подход классификации объектов.

Апробация результатов диссертации. Основные результаты, полученные в диссертационной работе, докладывались и обсуждались на: 12м Международных молодежных форумах «Радиоэлектроника и молодежь в XXI веке» (Харьков, 2008-2015 гг.); 1-5-й Международных научнотехнических конференциях «Современные направления развития информационно-коммуникационных технологий и средств управления»

(Харьков, 2010, 2011, 2013-2015 гг.); 1-й и 2-й Международных научнотехнических конференциях «Информационные технологии в навигации и управлении: состояние и перспективы развития» (Киев, 2010, 2011); 9-й Международной научно-технической конференции «Математическое и программное обеспечение интеллектуальных систем» (Днепропетровск, 2011); 1-й и 2-й Международных научно-технических конференциях «Проблемы информатизации» (Киев, 2013, 2014); 2-й и 3-й Международных научно-практических конференциях «Вычислительный интеллект»

(Черкассы, 2013, 2015); Международной научной конференции «Интеллектуальные системы принятия решений и проблемы вычислительного интеллекта – ISDMCI’2013» (Евпатория 2013);

Международной научно-технической конференции «Информационные проблемы теории акустических, радиоэлектронных и телекоммуникационных систем – IPST-2013» (Алушта, 2013); 1-й и 2-й Международных научно-практических конференциях «Информатика, математическое моделирование, экономика» (Смоленск, 2012, 2013);

Международной научно-практической конференции «Информационные управляющие системы и технологии» (Одесса, 2014).

Публикации. Основные результаты диссертационной работы опубликованы в научно-технических публикациях: статей в специальных периодических изданиях по техническим наукам (среди них 3 издания, которые входят в международные наукометрические базы), 1 статья в международном научно-техническом журнале (Польша), 20 публикаций в сборниках работ и тезисов международных научно-технических конференций и семинаров.

Структура и объем диссертационной работы. Диссертация состоит из введения, четырех разделов, выводов, списка использованных литературных источников из 173 наименований на 19 страницах, 3 приложений.

Работа содержит 36 рисунков, 6 таблиц. Общий объем работы составляет 164 страницы, из них 138 – основного текста.

РАЗДЕЛ 1

АНАЛИЗ СОСТОЯНИЯ ВОПРОСА И ПОСТАНОВКА ЗАДАЧ

ИССЛЕДОВАНИЯ

1.1. Проблемы распознавания вредоносных программ

В последние годы количество различных типов вредоносного ПО сильно возросло.

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

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

Операционная система (ОС) или приложение может подвергнуться вирусному нападению в том случае, если она имеет возможность запустить программу, не являющуюся частью самой системы. Данному условию удовлетворяют все популярные ОС, офисные приложения, графические редакторы, системы проектирования и прочие программные комплексы, имеющие встроенные скриптовые языки. Компьютерные вирусы существуют для многих ОС и приложений. В то же время существует много других ОС и приложений, для которых ВП пока не распознаны.

Причиной появления подобных программ в конкретной ОС или приложении является одновременное выполнение следующих условий [38, 39]:

– популярность, широкое распространение данной системы;

– наличие разнообразной и достаточно полной документации по системе;

– незащищенность системы или существование известных уязвимостей в системе безопасности.

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

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

Далеко не все существующие антивирусные программы (АП) дают защиту, близкую к 100%. Большинство продуктов не могут гарантировать даже 90%-й уровень защиты. В этом и заключается основная проблема антивирусных компаний на сегодняшний день.

Это сложная проблема, вызванная целым рядом причин, основные из которых следующие [38, 39]:

1. Постоянно увеличивающееся количество и разнообразие ВП приводит к тому, что поток вредоносного ПО значительно превышает производительность самых современных и мощных антивирусных лабораторий. Подавляющее большинство ВП сейчас создаются с целью заражения компьютеров в глобальной сети, а число новых вирусов и троянских программ исчисляется сотнями ежедневно. Многие антивирусные компании просто не в состоянии угнаться за ростом количества и разнообразия ВП. В результате чего по официальной статистике ведущих антивирусных лабораторий процент вредоносного ПО, добавляемого в антивирусные базы, составляет около 35% от всего объема, обнаруживаемого в Интернете. На сегодня пользователи АП оказываются защищенными далеко не от всех современных компьютерных угроз.

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

3. Удаление вредоносного кода из системы пользователя так же является нетривиальной задачей. Так как написание вредоносного кода сейчас поставлено на коммерческую основу, то при этом разрабатываются и применяются очень сложные технологии, использующие методы скрытия от антивирусов, основанные на найденных в ОС уязвимостях (Rootkit технологии) Применение таких технологий делает задачу [5, 93].

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

4. Проблемы, связанные с эффективным потреблением системных ресурсов. Для того чтобы проверять файлы «на лету» и постоянно защищать компьютер, АП должны устанавливать перехватчики системных событий глубоко внутри защищаемой системы и передавать результаты своей работы антивирусному «модулю, отвечающему за проверку объектов и обнаружение ВП» для проверки перехваченных файлов, сетевых пакетов и других опасных объектов. Код перехватчиков системных событий вносит задержку своего выполнения в общее время обработки каждого из наблюдаемых системных событий. Так как количество системных событий и частота их появления довольно велики, антивирусная проверка может сильно замедлять работу ОС.

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

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

1.2. Анализ существующих классов вирусов

Современное вредоносное ПО содержит широкий спектр вирусов:

сетевые черви, файловые вирусы, троянские программы, хакерские утилиты и прочие программы, наносящие вред компьютеру, на котором они запускаются на выполнение, или другим компьютерам в сети. Вирусы можно разделить на классы по следующим основным признакам [38, 39, 41, 93]:

– среда обитания;

– особенности алгоритма работы;

– деструктивные возможности.

По среде обитания вирусы можно разделить на:

– файловые;

– загрузочные;

– макро;

– сетевые.

Файловые вирусы либо различными способами внедряются в исполняемые файлы (наиболее распространенный тип вирусов), либо создают файлы-двойники (компаньон-вирусы), либо используют особенности организации файловой системы (link-вирусы). Загрузочные вирусы записывают себя либо в загрузочный сектор диска (boot-сектор), либо в сектор, содержащий системный загрузчик винчестера (MBR), либо меняют указатель на активный boot-сектор. Макровирусы заражают файлыдокументы и электронные таблицы нескольких популярных редакторов.

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

Существует большое количество сочетаний – например, файловозагрузочные вирусы, заражающие как файлы, так и загрузочные сектора дисков. Такие вирусы, как правило, имеют довольно сложный алгоритм работы, часто применяют оригинальные методы проникновения в систему, используют стелс- и полиморфик-технологии [69]. Другой пример такого сочетания – сетевой макровирус, который не только заражает редактируемые документы, но и рассылает свои копии по электронной почте.

Заражаемая ОС является вторым уровнем деления вирусов на классы.

Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких ОС. Макровирусы заражают файлы форматов Word, Excel, Office и т.п. Загрузочные вирусы также ориентированы на конкретные форматы расположения системных данных в загрузочных секторах дисков.

Среди особенностей алгоритма работы вирусов выделяются следующие [38, 39, 69]:

– резидентность;

– использование стелс-алгоритмов;

– самошифрование и полиморфичность;

– использование нестандартных приемов.

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

Такие вирусы считаются нерезидентными.

Резидентными можно считать макровирусы, поскольку они постоянно присутствуют в памяти компьютера на все время работы зараженного редактора. При этом роль ОС берет на себя редактор, а понятие «перезагрузка ОС» трактуется как выход из редактора.

Использование стелс-алгоритмов [69] позволяет вирусам полностью или частично скрыть себя в системе. Наиболее распространенным стелсалгоритмом является перехват запросов OC на чтение/запись зараженных объектов. Стелс-вирусы при этом либо временно лечат их, либо «подставляют» вместо себя незараженные участки информации. В случае макровирусов наиболее популярный способ – запрет вызовов меню просмотра макросов.

Самошифрование и полиморфичность [29, 93] используются всеми типами вирусов для того, чтобы максимально усложнить процедуру детектирования вируса. Полиморфик-вирусы – это трудно [7, 41] обнаружимые вирусы, не имеющие сигнатур, т.е. не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик-вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика.

По деструктивным возможностям вирусы можно разделить на [41. 93]:

– безвредные, не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения);

– неопасные, влияние которых ограничивается уменьшением свободной памяти на диске и графическими, звуковыми и другими эффектами;

– опасные вирусы, которые могут привести к серьезным сбоям в работе компьютера;

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

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

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

1.3. Анализ методов и моделей распознавания вредоносных программ 1.3.1. Сигнатурный анализ Сигнатуры – классический способ, позволяющий обнаруживать и однозначно распознавать большинство вирусов [92, 113]. Сигнатура это – уникальный набор характеристик, однозначно характеризующих некий объект (вирус). Этот набор характеристик заведомо меньше полного количества характеристик, присущих объекту. Это вариант хеш-функции, т.е.

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

Сигнатура должна быть уникальной и характерной для вируса, т.е.

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

– переменность их длины. Но тогда встает проблема – в каком месте вируса выбирать сигнатуру? Нужно выбирать непрерывную сигнатуру в таком месте, где эти версии не отличаются.

Избежать указанного выше недостатка можно, используя «прерывистые» сигнатуры, состоящие из отдельных фрагментов. В этом случае сигнатуры будут состоять из двух частей: 1) из общей для всех вирусов семейства; 2) из уникальной для каждой версии вируса.

Также можно использовать разновидность «прерывистых» сигнатур не только на уровне байтов, но и на уровне битовых полей. Это удобно для распознавания вирусов с частичной полиморфностью [27, 38, 39]. Тем не менее, использовать механизм сигнатур для некоторых из них возможно.

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

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

рассчитываемое по набору данных (коду вируса) и характеризующее его почти уникальным образом. Теоретически могут существовать несколько разных вирусов с одним и тем же контрольным кодом – эта ситуация называется «коллизией», но на практике вероятность этого довольно мала.

В качестве контрольных кодов может быть использована любая хорошая хеш-функция, например, SHA или MD5 [115, 118]. Основной недостаток таких функций – относительная сложность программирования.

Данные хеш-функции могут упаковать фрагмент любого размера в 32 или 64 байтное слово, при этом имея очень низкие вероятности коллизий. В данном случае в антивирусной базе хранится 3 поля – смещение в файле, длина фрагмента и его хеш. При проверке файла антивирус считает значение хешфункции фрагмента, указанной в базе данных, находящейся по указанному смещению, после чего сравнивает подсчитанный результат и эталонное значение в базе. Если они совпадают – это означает, что найден искомый фрагмент. Хеш-функции являются наиболее приспособленным для сложившихся сегодня условий методом, который показывает такую же точность проверки, как и простые сигнатуры, при этом обладая значительно большей производительность и минимальными требованиями к памяти для хранения сопутствующей информации.

Главное положительное свойство сигнатур – точное и гарантированное определение типа вируса. Данное свойство позволяет занести в базу как сигнатуры, так и способы лечения вируса. Если бы сигнатурный анализ не давал ответа, что это за вирус, очевидно, лечение было бы не возможно – слишком большим был бы риск совершить не те действия и вместо лечения получить дополнительные потери информации.

Недостатки сигнатурного метода:

– для получения сигнатуры необходимо иметь образец вируса;

– требует регулярного и крайне оперативного обновления;

– требует кропотливого ручного анализа вирусов;

– беззащитный перед полиморфными вирусами и изменнными версиями того же вируса;

– неспособный выявить какие-либо новые атаки.

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

1.3.2. Эвристический анализ

Задача эвристического анализа – распознавание неизвестных модификаций вирусов [98, 115, 116]. На вход эвристического анализатора (ЭА) поступает программный файл, ЭА исследует его с использованием различных эвристических методов, после чего, основываясь на полученных результатах, пытается ответить на вопрос: является ли данный файл ВП или нет.

Решение данной задачи складывается из следующих шагов:

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

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

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

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

Семантический анализ. Работающая программа выполняет множество различных действий: изменяет значения регистров, флагов процессора, областей памяти и т.п. Но не все из них должны учитываться при распознавании вирусов. При распознавании используются так называемые «дискретно-событийные» модели вирусов [3, 98, 116], и далеко не каждое программное действие в рамках такой модели получает статус «события».

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

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

произвольное множество каких-либо элементов (битов, байтов, слов или их последовательности) назовем «алфавитом», а сами эти элементы «символами алфавита». Комбинируя элементы, составляя из них различные последовательности (цепочки), получаем различные «фразы». Некоторое четко ограниченное подмножество фраз является «языком», остальные фразы считаются неправильными с точки зрения этого «языка».

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

Семантический анализ бывает двух типов [2, 9, 91, 104, 111, 119]:

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

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

На практике это очень сложная задача и требует больших временных затрат.

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

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

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

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

Довольно просто найти эквивалентную по функционалу альтернативу последовательности, на распознавание которой настроен вышеприведенный автомат, для этого существует несколько способов [2, 111]:

1. Замена некоторых команд эквивалентными блоками.

2. Использовать альтернативный набор API функций, например, вместо использовать функции библиотеки InternetOpenURL, InternetReadFile wsock32.dll socket, send, recv, с помощью которых реализовать функции с эквивалентным функционалом и использовать их.

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

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

Основная причина, по который возникает необходимость использования эмуляции выполнения кода, заключается в том, что программа – не статический объект и распознавать ее в общем случае статическими методами не всегда невозможно. Самый простой пример самомодифицирующиеся программы – полиморфные вирусы и упаковщики [10, 43, 38, 39]. Статичная сигнатура появляется в них только после выполнения определенного количества команд. Вторая причина заключается в том, что только таким образом можно легко распознать смысл эквивалентных команд и справиться с ограничениями, возникающими при анализе с помощью статического анализа автоматами.

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

Антивирусные программы так же использует отладку для слежения за действиями запущенных в системе программ, однако контролирует этот процесс не человек, а специальная интеллектуальная система – модуль проактивной защиты [6, 32, 115]. Данная программа содержит анализатор, распознающий стандартные типы вредоносных поведений, и блокирует их выполнение. Поскольку анализ идет во время реального выполнения программы, данный метод имеет высокий процент нахождения новых ВП.

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

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

Чтобы избавиться от недостатка первого способа, необходимо запускать программы в специальном искусственно созданном окружении – эмуляторе. Данная технология получила название «Sandboxing» [97] как средство проактивной защиты от вредоносного кода, а также для распознавания ВП. В данном случае программа выполняется не на физическом процессоре, а на интерпретаторе, который по мере возможности эмулирует внешнюю среду: устройства, память, системные вызовы и прочее.

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

Однако эмуляция, несмотря на множество плюсов, так же имеет ряд серьезных недостатков:

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

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

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

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

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

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

3. Так же большой проблемой является вопрос «глубины эмуляции», т.е. количества эмулируемых команд в программе. Речь идет о том, когда и при каких условиях следует завершать эмуляцию. Данное условие всегда определяется целью эмуляции. Эмуляция – это подчиненный механизм, направленный на решение конкретной задачи, такой как «раскручивание»

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

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

Поэтому используются два наиболее популярных и простых подхода:

1. Считать общее количество шагов эмуляции. Например, завершать эмуляцию, выполнив некоторое число шагов или выполнив такое же количество разных команд. Важно то, что это должны быть обязательно разные команды, дело в том что вирус может, с целью обхода эвристического анализатора или эмулятора, проявить себя за 64 000 команд NOP или спустя несколько тысяч холостых циклов. Точно такие же приемы сегодня используются в системах защиты ПО от взлома для обхода автоматических трассировщиков, используемых во многих динамических распаковщиках;

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

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

В целом можно выделить следующик основные недостатки эвристического метода:

1. Чрезмерная подозрительность ЭА может вызывать ложные срабатывания при наличии в программе фрагментов кода, выполняющего действия и/или последовательности, в том числе и свойственные некоторым вирусам. В частности, распаковщик в файлах, запакованных PEупаковщиком (Win)Upack вызывает ложные срабатывания целого ряда антивирусных средств, не признающих такой проблемы.

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

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

Основные требования, предъявляемые к таким методам следующие:

1) высокий процент распознавания новых модификаций;

2) низкий коэффициент ложных срабатываний;

3) высокая скорость проверки одного файла;

4) небольшой размер сопутствующих обновлений;

5) небольшое потребление системных ресурсов;

6) возможность добавления в будущем новых методов обнаружения и анализа вирусов.

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

1.4. Анализ методов искусственного интеллекта в задачах распознавания вредоносных программ Использование методов искусственного интеллекта (ИИ) [100, 108] позволяет ввести в системы защиты свойство самообучения и обеспечивает обнаружение угроз «на лету», создавать принципиально новые алгоритмы распознавания ВП, повышающие уровень защищенности компьютерных систем. Существующие эвристические технологии, использующие ИНС, ИИС, МАС и др. [1, 12-15, 21-24, 28-30, 42, 109, 110, 114, 120, 121, 127, 128, 134, 139, 145-148, 162, 163, 172, 173], позволяют с довольно большой долей вероятности идентифицировать широкий класс вирусов. Однако полностью эффективных способов борьбы с угрозами на сегодняшний день не существует. Рассмотрим некоторые методы ИИ, используемые для распознавания ВП.

1.4.1. Продукционные системы

Продукционные системы – системы, которые используют продукционную модель представления знаний. Эта модель описывает любые знания как правила вида [8, 25]: ЕСЛИ условие ТО действие, которые называются продукциями. Левая часть (условие) описывает необходимые предпосылки для выполнения правой части (действия). Может быть несколько простых условий, которые объединяются в одно с помощью таких логических операций, как И, ИЛИ, НЕ. Общий недостаток продукционных моделей состоит в том, что при накоплении большого числа продукций они могут противоречить друг другу. Часто это возникает из-за того, что правила являются эвристиками, которые не гарантируют стопроцентного результата.

Эвристики обычно описывают эксперты на основании своего опыта, поэтому системы, использующие их, называются экспертными системами (ЭС).

В общем случае продукционную модель можно представить в следующем виде [8]:

I S, L, A B,Q, (1.1)

где S – описание класса ситуаций;

L – условие, при котором продукция активизируется;

A B – ядро продукции;

Q – постусловие продукционного правила.

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

Порядок означает, что каждая последующая продукция должна проверяться только после попыток применить предыдущие продукции. Другой вариант упрощения – это использование приоритетов [25]. При таком подходе в первую очередь рассматриваются продукции, у которых наивысший приоритет. Проблема роста противоречивости базы знаний решается вводом механизмов исключений и/или возвратов [88]. Основные компоненты продукционной системы – это база знаний, рабочая память и механизм вывода [8, 25]. Структура продукционной системы представлена на рис. 1.1.

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

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

Рис. 1.1. Структура продукционной системы

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

Чтобы распознать такое совпадение часто используются продукционные системы. Яркими представителями программ, которые в своей работе используют метод сигнатурного анализа, являются системы обнаружения сетевых атак (например [99, 115], Snort, RealSecure, eTrust Intrusion Detection и др.) и антивирусные сканеры (например, AVZ, Kaspersky Anti-Virus, Microsoft Security Essentials и др.). Первые используют сигнатуры удалнных атак, а вторые – сигнатуры известных вирусов.

Системы обнаружения вторжений (СОВ) хранят информацию о вторжениях в правилах вида: ЕСЛИ причина ТО решение. Часть ЕСЛИ содержит причины, которые необходимы для выполнения успешной атаки.

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

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

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

Программа активно развивается и набор эвристик постоянно обновляется.

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

Однако вместе с преимуществами имеется и большое количество недостатков, которые затрудняет применение экспертных систем для анализа защищнности:

1. Обнаруживаются только известные уязвимости (атаки, вирусы и т.п.). Метод уязвим к атакам через обнаруженные, но еще не исправленные ошибки в ПО.

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

3. Требуются огромные усилия экспертов для постоянного поддержания базы правил. Необходима ежедневная работа над е качественным пополнением. Невозможно выработать исчерпывающее множество правил. Правила должны быть не противоречивы.

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

Продукционные системы – наиболее простой и наиболее часто используемый в антивирусах метод.

Но у него есть и недостатки:

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

Благодаря этому принципиально невозможно избежать следующих ошибок:

– ошибок первого рода, когда не ВП считается вредоносной;

– ошибок второго рода, когда ВП считается безопасной программой.

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

1.4.2. Статистический подход

Статистическому подходу соответствует большая группа методов [142, 143, 149, 153], основанная на формальном учете частоты встречаемости классификационных признаков. Эти методы объективны, и в общем случае работают независимо от знаний и умений аналитика. Кроме того, они позволяют сделать нечеткий, вероятностный вывод о результатах распознавания. В этом их недостатки, но в этом же и их достоинства.

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

Например, программы для Windows, написанные на языке Visual C++, используют десятки различных команд, в то время как вирусы и упаковщики используют их значительно больше. Это пример типичного статистического подхода, основное назначение данных методов – обнаруживать «Random Push Generator»-ы и прочие шифровщики, изготавливающие длинный, но однообразный код.

Широкое распространение получил метод, основанный на формуле

Байеса, применяемой в теории вероятностей [142, 143, 149]:

–  –  –

обнаружении j -го события;

P( Di ) – априорная вероятность i -го диагноза;

P( S j Di ) – условная вероятность появления i -го признака при j -ом событии.

Формируется большая обучающая выборка вирусов и нормальных программ, по которой при помощи семантического сканера определяются исходные значения P( Di ). Потом берется коллекция из вирусов, заранее классифицированных по типам (резидентный/нерезидентный, поиск в каталогах, поиск по указанному пути и т.п.) и по ней определяются P( S j Di ). На этом обучение Байесовского распознавателя завершено.

–  –  –

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

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

Если вирус уверенно распознан, значит немного изменились априорные вероятности диагноза, условные вероятности симптомов, в этом случае имеет смысл их пересчитать и заменить новыми значениями. При распознавании вирусов in the wild метод имеет высокую эффективность. Но это не работает при распознавании спама, спаммеры имеют постоянный контроль над содержимым своих писем, и могут целенаправленно разбавлять характерные признаки присутствием нехарактерных, размывая тем самым заложенные в распознаватель вероятности.

Главный недостаток Байесовского метода: в нем не учитывается порядок расположения признаков. Поэтому использование вероятностного подхода для распознавания ВП малоперспективно.

1.4.3. Искусственные нейронные сети ИНС – математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей – сетей нервных клеток живого организма [11, 18, 26, 103, 112]. ИНС – это система соединнных и взаимодействующих между собой простых процессоров, которые называются нейронами. Такие процессоры довольно просты по сравнению с современными процессорами в персональных компьютерах. Каждый нейрон обрабатывает входные сигналы, которые он периодически получает, и вычисляет выходные сигналы для передачи другим нейронам, входящим в сеть. Организованные в достаточно большую сеть с управляемым взаимодействием, локально простые процессоры вместе способны выполнять довольно сложные задачи.

Отличительной особенностью ИНС является то, что они не программируются, а обучаются. Это одно из главных преимуществ ИНС.

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

Отдельные нейроны объединяются в сети с разнообразной архитектурой (рис. 1.2).. Наиболее используемыми при решении практических задач являются следующие архитектуры НС: сети прямого распространения, рекуррентные НС, радиально базисные функции, самоорганизующиеся карты (сети Кохонена).

Рис. 1.2. Классификация ИНС по характеру связей

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

Принято выделять следующие варианты обучения ИНС: обучение с учителем (выходное пространство решений известно), обучение без учителя (самоорганизующаяся ИНС формирует выходное пространство решений только на основе входных воздействий) и обучение с подкреплением (система назначения штрафов и поощрений). Обучение ИНС можно произвести с помощью существующих пакетов (например, пакет Deductor Lite [126]; MATLAB Neural Network Toolbox [90, 166]) или известных алгоритмов (например, метод «обратного распространения ошибки»). Для качественного обучения такой сети необходимо около 300 обучающих примеров [24]. Следует отметить, что подготовка обучающей выборки является достаточно сложным этапом.

ИНС используют для решения задач классификации и распознавания образов, задачи кластеризации, прогнозирования и аппроксимации. ИНС применяются для сжатия данных и в качестве ассоциативной памяти, а также для решения задач управления. Активно ИНС применяются и для решения различных задач защиты информации в компьютерных системах, например, для идентификации поведения пользователя в компьютерной сети [21]. Для этого ИНС обучается прогнозировать его следующую команду. Если относительное количество правильно предсказанных команд на протяжении сеанса работы пользователя выше заданного порога, то поведение считается «нормальным», иначе либо пользователь резко изменил свое поведение, либо под его именем работает нарушитель. Преимущество подхода заключается в независимости от количества пользователей в системе, так как с каждым пользователем связывается отдельная ИНС. К недостаткам можно отнести то, что топология сети и веса узлов определяются только после достаточно большого количества проб и ошибок. Кроме этого количество команд, по которым осуществляется прогнозирование, имеет огромное значение. Если количество команд мало, то НС может часто ошибаться, а анализ большого количества команд может замедлять работу всей системы. Определить адекватное количество команд можно только методом проб и ошибок.

В целом ИНС придают системам безопасности возможность обучения и могут быть использованы для анализа компьютерных вирусов. В отличии от продукционных систем, для хранения ИНС требуется гораздо меньше памяти, обновления требуются реже и занимают также меньший объм памяти. Однако при построении ИНС следует особенно обращать внимание на размер и качество обучающей выборки, так как это может существенно повлиять на время обучения и на пространство решений [19, 21, 44, 45, 82, 106, 107]. Кроме того, обученная ИНС является «черным ящиком» для пользователя. Он может лишь задавать сигналы на входе и проверять значения на выходе, поэтому анализ работы ИНС достаточно сложен.

Подходящая топология и другие параметры сети определяются методом подбора, что во многом является «искусством».

1.4.4. Мультиагентные системы Классическая теория ИИ в ходе решения задачи создат одну интеллектуальную систему. Иногда е называют интеллектуальным агентом.

Такая система, имея доступ к необходимым знаниям и вычислительным ресурсам, решает некоторую глобальную проблему. В отличие от этого в теории мультиагентных систем (МАС) используется противоположный принцип [124, 164]. Вся система делится на множество агентов и предполагается, что каждый из них может решить только некоторую локальную задачу, так как не владеет исчерпывающими знаниями о глобальной проблеме. Поэтому решение исходной задачи заключается в реализации множества агентов и организации эффективного взаимодействия между ними. В МАС исходная задача декомпозируется и е части по определнным правилам назначаются агентам. Назначение задачи агенту означает присвоение ему роли, сложность которой определяется исходя из возможностей агента. Для решения общей задачи агенты объединяются в организации или группы. Глобальная задача в МАС распределяется либо с помощью единого «центра», либо в процессе взаимодействия агентов. В первом случае за разделение и агрегацию результатов отвечает некоторая система распределнного решения. Во втором используется децентрализованный ИИ, который образуют мнения отдельных агентов, и распределение имеет более случайный характер.

Использование МАС можно рассмотреть на примере защиты от атаки типа распределенный отказ в обслуживании (Distributed Denial of Service, DDoS) – одной из актуальных угроз безопасности для сети Интернет [105, 150-152, 158, 172]. Результатом успешной реализации DDoS атаки является выход из строя отдельных хостов и/или служб. Более существенным результатом может быть остановка в работе корневых DNS-серверов и, за счт этого, нарушение в функционировании всей сети Интернет. Для подготовки к проведению данной атаки злоумышленники должны «захватить» большое количество хостов и установить на них программные средства, автоматизирующие процесс атаки. Сама атака заключается в отправке жертве большого количества сетевых пакетов, передаче некорректных пакетов (например, со слишком длинными заголовками) или посылке большого количества трудоемких запросов. Эффективная защита от атак такого типа должна основываться на распределнной системе и содержать механизмы для предупреждения и обнаружения атаки. Чем больше информации имеет система защиты, тем точнее она может распознать атаку. Так как Интернет – это децентрализованная сеть, то собрать данные о трафике в различных подсетях проблематично. Более вероятный и осуществимый подход – анализ и защита отдельных подсетей, например, для отдельного провайдера. Одной из актуальных задач является формализация противодействия нарушителей и распределнных систем защиты, и, в частности, исследование атак DDoS и разработка эффективных средств защиты от них.

В [72] рассматривается использование МАС для защиты от DDoS атак.

Выделяются различные классы агентов: агенты-пользователи, агентызлоумышленники и агенты защиты. Команды агентов-пользователей выполняют разрешенные функции по использованию ресурсов сети. Они могут сотрудничать между собой для достижения общей цели или находиться в отношении безразличия. Агенты атаки разделяются как минимум на два класса (рис. 1.3). Первый класс – это «демоны», которые осуществляют атаку, а второй – класс «мастер», агенты которого координируют действия других агентов. Команда защиты состоит из следующих классов: «сэмплеры», «детекторы», «фильтры», «агенты расследования». «Сэмплеры» собирают данные о сети для «детекторов», которые отвечают за обнаружение начала атаки. «Фильтры» защищают сеть путм фильтрации входящего трафика, а «агенты расследования» пытаются обезвреживать агентов атаки. В ходе моделирования команда защиты использует исследуемый механизм противодействия DDoS атакам.

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

Рис. 1.3. Классы агентов атаки и защиты

Авторами подхода разработана система агентно-ориентированного моделирования [71] для сетевых процессов и протоколов. С е помощью был проведн ряд экспериментов, которые показали, что кооперация нескольких команд защиты эффективней отражает атаки, нежели каждая команда по отдельности [73].

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

1.4.5. Искусственные иммунные системы

Роль ИИС в иерархии направлений ИИ важна наряду с такими важными направлениями как ИНС и генетические алгоритмы (ГА) [37, 77, 165, 169].

ИИС используют вычислительные модели обработки информации в иммунологических взаимодействиях, заимствованных из естественной иммунной системы (ЕИС) [37, 83, 85, 122, 130, 171]. ЕИС представляет собой сложную систему, состоящую из нескольких функционально различных компонентов. Основная роль иммунной системы заключается в распознавании всех клеток организма и классификации их как «своих» или «чужих». В процессе эволюции иммунная система обучается различать чужеродные внешние антигены (молекулы, например, бактерий и вирусов, индуцирующие образование антител) и собственные клетки или молекулы организма. Внешние антигены подвергаются дальнейшей классификации с целью стимуляции защитного механизма соответствующего типа. Основным типом клеток, участвующих в работе иммунной системы и ее защитных механизмов и обладающих свойствами специфичности, разнообразия, памяти и адаптивности, являются лимфоциты. Основной их функцией является захват антигенов и обеспечение взаимодействия с ними поверхностных антител лимфоцитов для стимуляции иммунного ответа.

Анализ работ [37, 123, 135-137, 167, 168, 170] позволяет выделить свойства ЕИС, использование которых является перспективным при решении задач распознавания ВП с использованием ИИС:

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

– способность ЕИС к обучению используется для изменения концентрации антител при первом контакте с антигеном (накопления возможных решений задач) путем создания множества клонов антител;

– свойство разнообразия ЕИС, использующее комбинаторный механизм (мутацию) для образования множества различных антител, в ИИС используется для гарантии того, что хотя бы одно антитело (возможное решение) из всей совокупности сможет провзаимодействовать с любым наперед заданным антигеном (решаемой задачей);

– пороговый механизм ЕИС, заключающийся в том, что иммунный ответ и клонирование антител при взаимодействии с антигеном происходят лишь после преодоления некоторого порога, зависящего от силы связей, используется в ИИС путем введения функции аффинности – меры близости антигена и антитела для определения соответствия найденного решения решаемой задаче;

– память ЕИС позволяет преобразовывать небольшое количество антител, провзаимодействовавших с антигеном, в клетки памяти, что в ИИС позволяет запоминать найденные решения и гарантирует, что они не будут утеряны;

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

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

– поведение ЕИС в целом определяется совокупностью локальных взаимодействий, что представляет интерес для эффективной обработки значительных объемов данных путем использования параллельных вычислений.

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

ИИС находят практическое применение для решения многих проблем, таких как оптимизация функций [129-132, 167], распознавание образов [31, 130, 141, 170], компьютерная безопасность [12-15, 23, 94, 95, 127, 128, 134, 139, 145классификация [84, 86, 125, 133, 138, ] и др. Одной из важных областей применения ИИС является компьютерная безопасность. В [12-15] рассматриваются ИИС и ИНС для обнаружения и классификации вредоносных программ. В [23] рассматривается проект создания ИИС для компьютеров, которая включает в себя обнаружение вирусов, мониторинг процессов и имеющая мощные средства обнаружения и защиты, основанные на применении принципов отрицательного отбора для нахождения отличий своего (законных пользователей, неиспорченных данных и т.п.) от опасного чужого (неавторизованных пользователей, вирусов и других опасных агентов).

Работы [94, 95] посвящены системам обнаружения сетевых вторжений на основе механизмов иммунной модели. Системы обнаружения аномалий [146, 161] обладают большим потенциалом в области сетевой безопасности, однако, на практике подобных систем реализовано мало. Хотя они способны обнаруживать атаки с приемлемым уровнем ложных срабатываний, существует проблема, связанная с необходимостью генерировать большое количество трафика, содержащего атаки. Подобные данные тяжело и дорого производить.

Представлен адаптивный подход, основанный на иммунных механизмах.

Поведение предлагаемой ИИС заимствует стратегию защиты у иммунной системы человека. Представлены результаты экспериментов, демонстрирующих перспективность ИИС. Другой областью применения ИИС является диагностика неисправностей. В [114, 173] рассматривается возможность применения принципов строения и функционирования иммунной сети для диагностики неисправностей.

В [136, 137] отражены последние достижения в области ИИС, их модели и приложения. ИИС, основанная на агенте (Agent-based Artificial Immune System, ABAIS), применяется в качестве системы обнаружения вторжений (Intrusion Detection System, IDS). Система IDS на основе агентов (An Agentстимулирована предложенной теорией опасности based IDS, ABIDS) человеческой иммунной системы. Несколько агентов внедряются в ABIDS, где агенты координируют друг друга, чтобы подсчитать число окружающих зрелых агентов (Mature Context Antigen Value, MCAV) и обновить активацию порога безопасных ответов. Интеллект, обусловленный ABIDS, основан на теории опасности и функционировании дендритных клеток человеческой иммунной системы, в то время как дендритные клеточные агенты (Dendritic Cells Agents, имитируются для врожденной иммунной подсистемы и DC agents) искусственных Т-клеточных агентов (T-cells Agents, TC agents) для адаптивной иммунной подсистемы. Антигены являются набором параметров системы вызовов, а соответствующие характеристики рассматриваются как сигналы.

Система ABIDS основана на детектировании DC-агентов для сигналов и TCагентов для антигенов. ABAIS является интеллектуальной системой с возможностью обучения и способностью к запоминанию. Согласно MCAV иммунный ответ на поведение вредоносных активностей активируется либо с компьютера, либо с центра обеспечения безопасности. Следовательно, компьютерные хосты, встреченные как вредоносные вторжения, могут быть эффективно обнаружены входными сигналами и временными выходными сигналами как опасные и безопасные сигналы.

В [15] изложены основные принципы построения и функционирования системы обнаружения вредоносных программ, основанной на интеграции методов ИНС и ИИС. Нейросетевая ИИС является самоорганизующейся системой, она находится в постоянной эволюции и позволяет обнаруживать не только известные, но и новые, еще неизвестные вредоносные программы.

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

Работа [114] посвящена разработке алгоритма функционирования мультиагентной ИИС для адаптивной регистрации повреждений в распределенной системе мониторинга искусственных сооружений. Диагностика повреждений для мобильных агентов и алгоритмов иммунного распознавания образов были протестированы с использованием бенчмарка стального моста. В [31] рассмотрена задача прогнозирования значений временных рядов на основе аппарата ИИС. Предложена реализация алгоритма клонального отбора для получения аналитической зависимости, которая описывает известные значения временного ряда и обеспечивает прогноз будущих значений.

Работа [28] отражает основные принципы построения интеллектуальных систем для обнаружения компьютерных и медицинских атак, поиска вредоносных программ. Для обнаружения компьютерных и медицинских атак применяются различные комбинации рециркуляционной ИНС и многослойного персептрона. Поиск компьютерных вирусов базируется на объединении искусственных иммунных и нейронных сетей.

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

1.5. Выводы по разделу 1 и постановка задач исследования

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

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

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

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

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

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

На основе проведенного анализа процесс распознавания ВП может быть представлен следующим образом:

Pj, j 1, F, Имеется множество исполняемых файлов (объектов)

–  –  –

элементов, который может содержать вредоносные коды.

Задача распознавания ВП состоит в том, чтобы для исполняемых файлов Pj, j 1, F и набора классов Ck, k 1, K по обучающей информации I 0 ( C1,C2,...,C K ) и описаниям объектов I ( C1,C2,...,CK ) отнести исходные программы к определенному классу C k путем выделения и сопоставления соответствующих признаков (фрагментов программ). Информация о вхождении исполняемого файла (объекта) Pj, j 1, F в какой-либо класс

–  –  –

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

Это позволило сформулировать следующие основные задачи исследования:

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

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

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

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

– разработка модели искусственной иммунной сети для распознавания ВП путем ее представления в виде МАС, что обобщит ее, сделает более гибкой и позволит изменять параметры и структуру иммунной сети на основе распределенной обработки.

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

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

РАЗДЕЛ 2

РАСПОЗНАВАНИЕ ВРЕДОНОСНЫХ ПРОГРАММ

НА ОСНОВЕ ИСКУССТВЕННОЙ ИММУННОЙ СЕТИ

2.1. Модель эвристического анализатора вредоносных программ

Степень полиморфизма современных вирусов и сложность их кода такова, что даже применение эмуляции совместно с анализом кода «на лету»

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

– высокая степень полиморфизма;

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

– использование громоздкого кода приводит к тому, что расшифрованное тело появляется в памяти слишком поздно, когда эмулятор заканчивает свою работу.

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

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

Ситуация может измениться в лучшую сторону с появлением эвристических анализаторов нового поколения, использующих поведенческий анализ на основании данных, получаемых от эмуляторов, и интеллектуального анализа с помощью искусственных нейронных сетей, искусственных иммунных систем, генетических алгоритмов, мультиагентного подхода и др. [1, 23, 24, 28, 33, 34, 74, 110, 120, 121].

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

2.1):

Рис. 2.1 – Модель эвристического анализатора вредоносных программ

1. Блок мониторинга. Функцией данного блока является мониторинг поведения вредоносных и не вредоносных объектов с целью получения протокола их работы (последовательностей вызова API функций и переданных им аргументов).

2. Блок сравнения. Данный блок принимает протоколы работы нескольких программ от блока мониторинга и сравнивает их. Результатом работы будет множество одинаковых фрагментов (признаков) в протоколах разных программ одного семейства.

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

4. Блок принятия решений (БПР). Функция данного компонента – принятие решения о принадлежности или непринадлежности рассматриваемой программы к некоторому семейству вредоносных программ.

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

К данному компоненту предъявляются следующие требования:

1) поддержка выполнения команд центрального процессора (ЦП);

2) поддержка основных и дополнительных, часто используемых API функций Microsoft Windows, которая включает:

– поддержка работы с Интернет;

– поддержка работы с файловой системой;

– поддержка работы с реестром Windows.

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

Основной задачей данного блока является сбор следующих данных:

1) имена вызываемых в процессе работы программы функций WinAPI;

2) передаваемые исследуемой программой аргументы при вызове функций;

3) последовательность вызова функций.

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

Данный модуль может быть реализован двумя способами:

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

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

– Загрузчик исполняемых файлов Windows PE, который необходим для чтения информации о распределении памяти из исполняемых файлов PE и воссоздания образа ОП программы. Так же данный компонент формирует таблицы переходов для импортируемых/экспортируемых функций, считывает адрес точки входа в программу и передает ее в интерпретатор, для того что бы программа могла начать выполняться.

– Библиотека, моделирующая работу функций Win32 API, которая должна содержать модели системных библиотек Windows, функции которых не должны производить никаких изменений в системе, они являются «заглушками» и служат только для фиксации фактов их вызова программой и переданных им аргументов для сбора статистики и формирования протокола.

На рис.2.2 представлена схема взаимодействия компонентов эмулятора.

В качестве модуля мониторинга использовался эмулятор iMUL, разработанный Лабораторией Касперского Данное ПО [38, 39].

удовлетворяет всем предъявляемым требованиям.

–  –  –

Рис. 2.2 – Схема взаимодействия компонентов блока мониторинга

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

Для сбора данных используются специальные программы перехвата вызовов API функций – мониторы, такие, например, как WinAPIOverride32.

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

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

Обработка происходит в два этапа:

1. Фильтрация входных протоколов и очистка их от данных, которые не несут информацию о событиях, связанных с действиями над файловой системой, системным реестром, процессами или работой в интернет; Из протокола выбрасывается вся информация о вызовах, которые не входят в следующий список:

а) API для работы с файловой системой;

б) API для работы с Internet;

в) API для работы с окнами;

г) API для работы с реестром;

д) API для работы с сетью;

е) API для работы с процессами;

ж) прочие важные функции.

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

2. Отфильтрованные протоколы попарно сравниваются по алгоритму уменьшающегося движущегося окна для нахождения в них идентичных фрагментов, не зависимо от их расположения. Структурная схема алгоритма представлена на рис 2.3. Здесь WindowSize – размер окна, ArgSize – размер сравниваемых последовательностей (обе последовательности должны быть одинаковой длинны), MinSeqSize – минимальный размер искомых фрагментов, Arg1 и Arg2 – сравниваемые последовательности.

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

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

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

–  –  –

[1] [2] [3] [4] [1] [2] [3] [4] [1] [2] [3] [4] [1] [2] [3] [4]

–  –  –

[1] [2] [3] [4] [1] [2] [3] [4] [1] [2] [3] [4] [1] [2] [3] [4]

–  –  –

[1] [2] [3] [4] [1] [2] [3] [4] [1] [2] [3] [4] [1] [2] [3] [4]

–  –  –

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

– тип функции и значения наиболее важных с точки зрения анализа аргументов. Для каждого хранимого признака x f, f 1, L f подсчитывается рейтинг встречаемости R f :

–  –  –

где X f – количество найденных объектов с данным признаком, F – общее количество объектов.

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

2.2. Выделение характерных признаков

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

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

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

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

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

Наиболее приоритетными при выборе должны быть следующие типы событий:

- события, связанные с системным реестром;

- события, связанные с файловой системой;

- события, связанные с работой сети;

- события, связанные с манипулированием окнами;

- события, связанные с манипулированием процессами;

- события, связанные с установкой перехватчиков системных событий.

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

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

2.3. Выбор модели искусственной иммунной системы для распознавания вредоносных программ Для объяснения иммунологических механизмов существуют разные теории и математические модели. В общем виде, при работе ИИС изменение популяции антител Ab gen в текущем поколении gen в результате действия всех иммунных операторов можно представить следующим образом [17, 36, 37, 136, 137]:

Abgen1 Edit (Mutate ( Clone ( Sel ( Abgen ) ) ), Abgen ) ; (2.2)

–  –  –

антител AbCM и Ab gen после выполнения супрессии для формирования gen популяции антител Ab gen1 следующего поколения ( gen 1).

Анализ работ [17, 37, 83-86, 94, 95, 129-132, 136, 137] показывает, что в настоящее время существует лишь небольшое число вычислительных моделей, основанных на принципах работы иммунной системы, что связано с сохраняющейся неопределенностью основных положений, предложенных для ее описания.

Среди таких моделей наиболее часто используются следующие:

1. Модель клонального отбора.

2. Модель искусственной иммунной сети.

3. Модель отрицательного/положительного отбора.

Рассмотрим эти модели с позиций возможности их использования как в составе ЭА для распознавания ВП, так и для обучения НС.

2.3.1. Модель клонального отбора Модель клонального отбора (clonal selection model) описывает основные свойства естественной иммунной системы (ЕИС), проявляющиеся при формировании иммунного ответа на стимуляцию системы антигенами. Эта модель основывается на том, что в результате взаимодействия антител с антигенами в системе остаются только антитела, характеризующиеся наилучшей аффинностью к популяции антигенов. Затем эти антитела подвергаются клонированию и мутации, в результате чего иммунная модель (ИМ) продуцирует антитела, специфичные данному антигену. После этого из антител с наилучшей аффинностью формируется иммунная память системы для обеспечения вторичного иммунного ответа в случае повторного попадания в организм антигена данного типа (рис. 2.5).

Рис.

2.5 – Принцип работы модели клонального отбора В работе иммунной модели клонального отбора используются несколько основных принципов функционирования ЕИС:

– клонирование антител в результате взаимодействия с антигеном;

– мутация антител;

– удаление антител с минимальной аффинностью к антигенам.

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

Данные алгоритмы используются в основном для решения задач распознавания образов и классификации объектов.

Выделим основные особенности модели клонального отбора:

– возможность взаимодействия антител с антигенами, а также клонов с антигенами;

– минимизация количества отбираемых клонов (в BCA – выживает один клон);

– использование оператора клонального отбора для редактирования популяции мутировавших клонов;

– использование оператора старения для редактирования множества клонированных антител;

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

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

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

2.3.2. Модель искусственной иммунной сети Модель искусственной иммунной сети, предложенная Н. Ерне [154, 155], предоставляет больше возможностей по организации взаимодействия популяций иммунных объектов (рис. 2.6).

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

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

Математическая модель иммунной сети – это сеть, в которой антигены и антитела описывались бинарными строками, а определение аффинности производилось следующим образом:

–  –  –

где “ ” является дополнительным XOR оператором;

k является отклонением, измеряемым в битах, между паратопами и эпитопами клеток;

ei ( n ) является n -м битом в эпитопе;

p j ( n ) является n -м битом паратопа;

s является порогом от G( x ) x при x 0 и G( x ) 0 в противном случае.

Аффинности иммунных объектов используются в дифференциальном уравнении для моделирования динамики изменения антител.

Для исходного количества N антител {x1,..., xN } и n антигенов { y1,...,yn }, известно изменение полученных xi -клеток, которое описывается следующим образом:

–  –  –

k1 – нормирующий коэффициент между стимуляцией и подавлением;

k 2 x1 ( k2 0 ) – «конечное выражение», удаляющее количество xi антител;

c – является величиной продуцирования стимулированных антител.

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

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

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

В настоящее время существует несколько основных методов, реализующих принципы модели иммунной сети [122, 137, 167-169]: методы aiNET, opt-aiNET и метод RLAIS. Данные методы главным образом используются для решения задач распознавания и анализа данных и являются базовыми по отношению к остальным существующим иммунным методам, функционирующим на основе модели ИИС.

2.3.3. Модель отрицательного/положительного отбора

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

Рис. 2.7 – Принцип отрицательного отбора Для организации отрицательного отбора используются лимфоциты, имеющие на своей поверхности рецепторы (антитела с детекторами), которые в результате взаимодействия с клетками способны обнаруживать чужеродные белки (антигены). Наборы антител-рецепторов формируются случайным образом на поверхности лимфоцитов. При этом антитела, распознающие «свои» клетки, удаляются, а антитела, распознающие «чужие»

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

Наиболее распространенными методами отрицательного отбора являются методы Форреста-Эспонды, использующиеся для создания алгоритмов обнаружения аномалий и организации защиты от вирусов.

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

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

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

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

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

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

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

Модель ИИС для распознавания ВП может быть представлена следующим образом:

–  –  –

2.4. Исследование основных операторов иммунных моделей Рассмотрим теперь основные операторы моделей клонального отбора и искусственной иммунной сети, используемых для распознавания ВП. К ним относятся операторы клонирования, мутации и редактирования популяции.

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

Параметрами оператора клонирования являются количество антител для клонирования n и кратность клонирования антитела N c.

Для оценки влияния количества антител для клонирования n и кратность клонирования антитела N c на скорость сходимости ИА вида (2.2) будем использовать оператор статического клонирования [131], клонирующий каждое из n антител фиксированное количество раз. Для параметра n определим необходимое для сходимости количество поколений при зафиксированном значении параметра N c 5. Для параметра N c определим необходимое для сходимости количество поколений при зафиксированном значении параметра n 6. Критерием останова будем рассматривать заданную точность.

На рис. 2.8, 2.9 приведены графики зависимости количества поколений, необходимых для сходимости ИА, от параметров n и N c, а также обозначен диапазон изменения количества поколений по результатам 10 запусков.

–  –  –

клонирования антитела соответственно;

Aff ( Abi ) – значение аффинности антитела Abi ;

– лучшее значение аффинности, полученное в текущем Affbest поколении;

Выбор коэффициентов 0.3 и 0.7 основан на исследованиях, проведенных в [138].

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

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

– вероятностью мутации, определяющей случайные параметры вектора антитела, которые будут подвержены мутации;

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

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

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

Для регулирования вероятности мутации антител в процессе работы ИА зададим интервал изменения вероятности мутации: Pmut_ min ; Pmut_max, где Pmut_min и Pmut_max – минимальная и максимальная вероятность мутации антитела.

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

–  –  –

где p j, j 1, L – вероятность мутации j -го параметра вектора антитела;

L – количество параметров в векторе антитела.

Мутации подвергаются параметры ab j вектора антитела, для которых выполняется соотношение:

–  –  –

где i – дисперсия случайной величины N, которая ассоциируется с каждым параметром abi антитела.

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

Для изменения значений i используется следующее соотношение:

Affbest Aff ( Abi ) i 1 i, (2.13) Affbest Affworst где Aff ( Abi ) – значение аффинности антитела Abi ;

– лучшее значение аффинности, полученное в текущем Affbest поколении;

– худшее значение аффинности, полученное в текущем Affworst поколении.

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

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

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

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

Выше указывалось, что обучение и распознавание ВП предлагается осуществлять с помощью ИИС, для которой исполняемые файлы являются антигенами Ag, а возможные решения задачи – антителами Ab.

Предполагается, что все иммунные процессы происходят в некотором пространстве S N L, являющимся многомерным метрическим пространством, в котором конфигурация точки s характеризуется L параметрами. Тогда математически множество свойств, характеризующих антитело или антиген, можно представить в виде L -мерного вектора. Следовательно, точка s в L мерном пространстве однозначно определяет множество свойств, необходимых для характеристики взаимодействий антиген-антитело ( Ag Ab ) и антитело-антитело ( Ab Ab ), а значит возможность ее отнесения к тому или иному классу исполняемых программ.

ЭА работает в двух режимах: обучение и распознавание.

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

1. Множество исполняемых файлов, сходных по функционалу и принадлежащих к одному семейству, исследуется с помощью эмуляции и составляются подробные карты их действий (протоколы).

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

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

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

5. Производится создание ИИС и ее обучение на ранее подготовленных наборах рейтингов встречаемости. При этом выполняется кластеризация входного множества данных на два подмножества, первое из которых будет соответствовать ВП исследуемого семейства, а второе – не ВП или же ВП из других семейств.

–  –  –

Рис 2.10 – Структурная схема движения данных

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

1. Исполняемый файл исследуется с помощью эмулятора.

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

3. Рейтинги подаются на входы ИИС, которая выносит вердикт о принадлежности исследуемого объекта к классу ВП или нет.

Структурная схема движения данных представлена на рис 2.10.

Модель ИИС может быть формально представлена в виде следующего кортежа [37, 137]:

–  –  –

N – размер популяции антител;

Ag – популяция (множество) антигенов ( Ag S QL ) ;

Q – размер популяции антигенов;

L – количество параметров (признаков) антитела или антигена;

F – матрица аффинностей антител Abi по отношению к антигенам

–  –  –

Sel – оператор селекции;

Clon – оператор клонирования;

N c – количество антител для клонирования;

Mut – оператор мутации;

Edit – оператор редактирования (удаление антител);

Supp – оператор суппрессии (сжатие сети);

C – популяция антител из N c клонов, генерируемая из множества

–  –  –

C – популяция антител из C после полного созревания аффинности;

H – матрица, содержащая аффинности между каждым элементом cr из множества антител C и каждым элементом Ag q из множества антигенов

–  –  –

элементами bi,q,i 1,C,q 1,Q ;

d – естественный порог смертности;

s – порог сжатия сети;

G – количество поколений;

– условие завершения работы алгоритма.

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

Сжатие ограничивается некоторым порогом s. Каждая пара ( Agq Abi ) будет взаимодействовать в пределах пространства S N L с аффинностью f i,q, i 1, N, q 1,Q, которая отражает возможность начала адаптивного иммунного ответа. Аналогично, аффинность ai, j отражает степень схожести

–  –  –

множество клонов C. Кратность клонирования антитела N c регулируется в процессе работы иммунного алгоритма в зависимости от аффинности антитела f i,q,i 1, N,q 1,Q по соотношению (2.8).

–  –  –

1.1.6. Из множества C выбирается антител с наивысшим значением hr,q и помещаются в клональную память M q.

1.1.7. Апоптоз (естественная смерть клетки): из клональной памяти M q удаляются все элементы, для которых hr,q d.

–  –  –

Проверяется критерий завершения работы алгоритма.

2.

В рассмотренном алгоритме шаги 1.1.1 – 1.1.7 описывают процессы клонального отбора и созревания аффинности. Шаги 1.1.8-1.3 моделируют работу иммунной сети. Алгоритм обучения останавливается после прохождения заранее определенного количества шагов.

Обученная иммунная сеть представляется множеством антител памяти Abm и матрицей их аффинностей B. Множество Abm интерпретирует внутренние отображения антигенов, поданные на вход сети. Матрица B описывает связи между антителами, и показывает общую структуру иммунной сети. Имея матрицу аффинностей антител памяти B, можно определить структуру иммунной сети, а также принадлежность каждого антитела к соответствующему классу. Путем измерения аффинностей антител из множества клеток памяти к антигенам из обучающего набора можно определить, какие из антител распознают антигены, соответствующие ВП из данного семейства, а какие – распознают не ВП (или ВП других семейств). Таким образом, осуществляется идентификация полученных кластеров.

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

2.6. Выводы по разделу 2

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

2. Для распознавания ВП выбран перечень признаков, в качестве которых используются наиболее часто встречающиеся события, связанные с системными вызовами, во ВП, и не встречающиеся в не ВП.

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

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

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

Основные результаты, полученные в разделе 2, опубликованы в работах [4, 20, 52, 54, 55, 59, 61, 68, 157].

РАЗДЕЛ 3

РАСПОЗНАВАНИЕ ВРЕДОНОСНЫХ ПРОГРАММ НА ОСНОВЕ

ГИБРИДНЫХ ПОДХОДОВ С ИСПОЛЬЗОВАНИЕМ ИИС

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

3.1. Выбор модели искусственной нейронной сети дляраспознавания вредоносных программ

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

Известно, что ИНС представляют собой мощный инструмент для решения задач нелинейной аппроксимации, классификации и распознавания образов, прогнозирования, идентификации, оценивания, управления др. [18, 26], и могут использоваться тогда, когда все прочие методы не пригодны.

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

Среди множества существующих видов НС в качестве основных можно выделить три типа нейросетевых архитектур [18, 26]:

– сети прямого распространения (однослойные, многослойные);

– сети обратного распространения (рекурентные);

– полносвязные сети.

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



Pages:   || 2 |
Похожие работы:

«ЭЛЕКТРОТЕХНИКА И ЭНЕРГЕТИКА 55 УДК 628.984 ОПТИМИЗАЦИЯ ПРОЕКТИРОВАНИЯ СОВРЕМЕННЫХ СИСТЕМ ОСВЕЩЕНИЯ ПРОМЫШЛЕННЫХ ПРЕДПРИЯТИЙ А. И. КРАВЧЕНКО, Т. Н. САВКОВА Учреждение образования "Гомельский государственный технический университет имени П. О. Сухого", Респу...»

«Совет по Правам Человека 5/1. Институциональное строительство Совета по правам человека Организации Объединенных Наций Совет по правам человека, действуя во исполнение мандата, возложенного на него Генеральной Ассамблеей Организации Объединенных Наций в соответствии с резолюцией 60/251 от 15 марта 2006 года, рассмотрев...»

«Серия Экономика. Информатика. НАУЧНЫЕ ВЕДОМОСТИ 2016. № 9 (230). Выпуск 38 УДК 658.51.012 СТОХАСТИЧЕСКАЯ МОДЕЛЬ ПЕРЕНОСА ТЕХНОЛОГИЧЕСКИХ РЕСУРСОВ НА ПРЕДМЕТ ТРУДА В РЕЗУЛЬТАТЕ ВОЗДЕЙСТВИЯ ТЕХНОЛОГИЧЕС...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ Запорожский национальный технический университет Открытое акционерное общество Мотор Сич Богуслаев А. В., Олейник Ал. А., Олейник Ан. А., Павленко Д. В., Субботин С. А. ПРОГРЕССИВНЫЕ ТЕХНОЛОГИИ МОДЕЛИРОВАНИЯ, ОПТИМИЗАЦИИ И ИНТЕЛЛЕКТУАЛЬНОЙ АВТОМАТИЗАЦИИ ЭТАПОВ ЖИЗНЕННОГО ЦИК...»

«Посвящается 50-летию Тамбовского государственного технического университета С.В. Пономарев ЗАПИСКИ ПРОФЕССОРА ТАМБОВСКОГО ГОСУДАРСТВЕННОГО ТЕХНИЧЕСКОГО УНИВЕРСИТЕТА Изложение рассказов моих родственников, друзей, коллег по работе, знакомых и моих...»

«XI Российская конференция по физике полупроводников Санкт-Петербург, 16–20 сентября 2013 Тезисы докладов Физико-технический институт им. А.Ф. Иоффе РАН Санкт-Петербург, 2013 УДК 53 ББК 2...»

«МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОСТОВСКОЙ ОБЛАСТИ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ РОСТОВСКОЙ ОБЛАСТИ "ДОНСКОЙ СТРОИТЕЛЬНЫЙ КОЛЛЕДЖ" (ГБПОУ РО "ДСК") ПОЛОЖЕНИЕ О МЕТОДИЧЕСКОЙ РАБОТЕ...»

«Вы можете прочитать рекомендации в руководстве пользователя, техническом руководстве или руководстве по установке KENWOOD DPX-502UY. Вы найдете ответы на вопросы о KENWOOD DPX-502UY в руководстве (характеристики, техника безопасности...»

«УДК 621.74:669.131.6 СЛЕТОВА НАТАЛЬЯ ВЛАДИМИРОВНА Создание препаратов для рафинирования и модифицирования Alсплавов, обеспечивающих стабильные показатели качества отливок Специальность 05.16.04 – литейное производство Автореферат диссер...»

«T-225, Thromboplastin Liquid ИНСТРУМЕНТЫ Тест проводиться с помощью ручный методики или при использовании электромеханических или фотооптических коагуляционных инструментов. ТРОМБОПЛАСТИН ЖИДКИЙ ЗАБОР И ОБРАЩЕНИЕ С РЕАГЕНТАМИ Примечание: После первичного забора крови, в Набор для определения процессе анализа трубки, шприцы и п...»

«ИССЛЕДОВАНИЕ Смирнов Д.Ю.1, Кузнецов В.В.1 Омский государственный технический университет Интеграция региональных предприятий в состав федеральных корпоративных структур: выгоды и потери АННОТАЦИЯ: Настоящее исследование посвящено оценке в...»

«0904055 "ПАТРИОТ" с 1990 года до наших дней БЕТОНОСМЕСИТЕЛИ ГРАВИТАЦИОННЫЕ Уважаемые господа! Представляем Вашему вниманию обновленный модельный ряд бетоносмесителей "Патриот". Предлагаемые на Ваш суд машины прошли испытание временем. В их конструкцию вносились изменения, согласно пожеланиям требовательных строителей. Все узлы об...»

«И. Т. Глебов, Д. В. Неустроев СПРАВОЧНИК по дереворежущему инструменту МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Уральская государственная лесотехническая академия И.Т. Глебов, Д.В. Неустроев Справочник по дереворежущему инструменту Екатеринбург 2000 УДК 674. 05...»

«ТАНАНАЕВ ДЕНИС ДМИТРИЕВИЧ МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ СОСТОЯНИЙ ТЕХНИЧЕСКОГО ОБЪЕКТА НА ОСНОВЕ АНАЛИЗА ЗВУКОВЫХ СИГНАЛОВ Специальность 05.13.18. – Математическое моделирование, численные методы и комплексы программ АВТОРЕФЕРАТ диссертации на соискани...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Механико-математический факультет Г. С. Хакимзянов, Л. Б. Чубаров, П. В. Воронина МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ Часть 1 Общие принципы математического модели...»

«Приложение 4 к Правилам сотрудничества АО "Россельхозбанк" с Партнерами Требования АО "Россельхозбанк" к содержанию отчета Партнеров Банка по проведению строительного аудита/финансово-технического контроля Отчет о проведении строительного аудита/финансово-технического конт...»

«Контрольно кассовая машина Меркурий-115ФKZ Инструкция налогового инспектора АВЛГ 410.00.00-45 НИ Москва АВЛГ 410.00.00-45НИ Казахстан Инструкция налогового инспектора АВЛГ 410.00.00-45 НИ Инструкция налогового инспектора 1. Введение 2. Технические данн...»

«Зоря Вячеслав Николаевич ИССЛЕДОВАНИЕ ТЕХНОГЕННЫХ ОТХОДОВ ЧЕРНОЙ МЕТАЛЛУРГИИ, В ТОМ ЧИСЛЕ ОТХОДОВ ОТ ОБОГАЩЕНИЯ И СЖИГАНИЯ УГЛЕЙ, И РАЗРАБОТКА ТЕХНОЛОГИЙ ИХ ПЕРЕРАБОТКИ Специальность 05.16.07 "Металлург...»

«ХУДОЖНИК КНИГИ ВЯЧЕСЛАВ ПУРШЕВ Вячеслав Алексеевич Пуршев родился в семье учителей в июле 1935 года. Его малая родина село Плоская Казьминка (Кузьминка) Липецкого района Воронежской области (по современному административному делению Липецкая область). С 1951 по 1955 год учился в Елецком художественном...»

«ТОЛЩИНОМЕР ПОКРЫТИЙ КОНСТАНТА® МК4 № РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ УАЛТ.135.000.00РЭ Содержание 1 Техническое описание и работа. 6 2 Комплектность.. 8 3 Использование по назначению. 8 4 Техническое обслуживание. 17 5 Ресурсы, сроки службы и хранения, гарантия изготовителя.....»

«ЗАО "ПФК Тверьпромавтоматика"СИСТЕМА УПРАВЛЕНИЯ И АВТОМАТИКИ "ВОЛНА 2.02-В12" Руководство по эксплуатации. г. Тверь 2010 СИСТЕМА УПРАВЛЕНИЯ И АВТОМАТИКИ “ВОЛНА” ДЛЯ СУДОВЫХ ДИЗЕЛЕЙ В СОСТАВЕ ДИЗЕЛЬ-ГЕНЕРАТОРОВ РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ ДГС 105.200 РЭ Настоящее руководство по эксплуатации...»

«Приложение № 1 к Дополнению об Услугах виртуального (мультидоменного) хостинга к Договору Соглашение об уровне обслуживания (SLA) для виртуального хостинга Утверждено Приказом Директора ООО "Активные технологии" Ручановой Н.В. № 02/07 от 01...»

«Том 8, №2 (март апрель 2016) Интернет-журнал "НАУКОВЕДЕНИЕ" publishing@naukovedenie.ru http://naukovedenie.ru Интернет-журнал "Науковедение" ISSN 2223-5167 http://naukovedenie.ru/ Том 8, №2 (2016) http://naukovedenie.ru...»

«УДК 622.788.36 НОВАЯ ЭФФЕКТИВНАЯ СХЕМА ПРОИЗВОДСТВА МАРГАНЦЕВОГО АГЛОМЕРАТА А.А.Вяткин, В.П.Жилкин 000 "Уралмаш металлургическое оборудование" А.В.Малыгин, В.С.Швыдкий, Е.Г.Дмитриева ГОУВПО "Уральский государственный технический университет — УПИ" Использование горячего воздуха зоны охлаждения агломерата при спекании обеспечивает повыш...»

«И.В. Проскуренко Фермерское рыбоводное хозяйство (пособие для фермера-рыбовода) Рыбоводные установки Качество воды Технология культивирования Инженерное оснащение Г. Санкт-Петербург 2000 г. УДК 639.001.63 И. В. Проскуренко Фермерское рыбоводное хозяйство (пособие для фермера-рыбовода) Рыбоводные установки Качество воды Технология культивирова...»








 
2017 www.lib.knigi-x.ru - «Бесплатная электронная библиотека - электронные матриалы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.