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



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

Разработка и исследование методов построения систем обнаружения атак Абрамов Евгений Сергеевич

Разработка и исследование методов построения систем обнаружения атак
<
Разработка и исследование методов построения систем обнаружения атак Разработка и исследование методов построения систем обнаружения атак Разработка и исследование методов построения систем обнаружения атак Разработка и исследование методов построения систем обнаружения атак Разработка и исследование методов построения систем обнаружения атак Разработка и исследование методов построения систем обнаружения атак Разработка и исследование методов построения систем обнаружения атак Разработка и исследование методов построения систем обнаружения атак Разработка и исследование методов построения систем обнаружения атак
>

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

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

Абрамов Евгений Сергеевич. Разработка и исследование методов построения систем обнаружения атак : Дис. ... канд. техн. наук : 05.13.19 : Таганрог, 2005 199 c. РГБ ОД, 61:05-5/3433

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

Введение

1. Обзор существующих методов обнаружения сетевых атак 9

1.1. Анализ характеристик защищаемой информационной системы 9

1.1.1. Основные понятия и определения 9

1.1.2. Определение среды функционирования СОА 10

1.1.3. Классификация сетевых атак 12

1.2. Анализ существующих технологий систем обнаружения атак 16

1.2.1 Типовая архитектура СОА .16

1.2.2. Анализ существующих подходов к построению СОА 19

1.2.3. Методы обнаружения злоупотреблений 23

1.2.4. Обнаружение аномалий 25

1.3. Цель и задачи исследования 30

1.4. Выводы 34

2. Разработка частных методов обнаружения атак 35

2.1. Определение задачи обнаружения атак 35

2.1.1. Определение перечня признаков объектов 35

2.1.2. Классификация распознаваемых объектов 37

2.1.3. Разработка общего метода распознавания атак 43

2.2. Метод обнаружения аномалий 47

2.2.1 Применение нейронных сетей в задачах обнаружения аномалий .47

2.2.2 Выбор архитектуры нейросети 50

2.2.3 Разработка частного метода обнаружения аномалий 61

2.2.4 Методика формирования обучающей выборки 63

2.2.5 Обучение нейронной сети 65

2.3 Метод поиска злоупотреблений 68

2.3.1. Общие сведения об алгоритме неточно поиска сигнатур 69

2.3.2. Описание алгоритма неточного поиска 70

2.4 Применение комбинированного метода для построения архитектуры СОА 76

2.5 Выводы 80

3. Разработка методики тестирования COА 82

3.1. Общие положения 82

3.2. Критерии оценки для функциональных тестов 83

3.3. Методические рекомендации по тестированию систем обнаружения атак 84

3.4. Методы тестирования производительности 95

4.4. Программно-аппаратное обеспечение 96

4.5. Разработка интерпретатора языка программирования сценариев атак 98

4.6. Выводы 104

4. Программная реализация модели СОА, её экспериментальное исследование и сравнение с аналогами 105

4.1. Описание программной реализации модулей 105

4.1.1 Описание программной реализации модулей СОА 105

4.1.2 Описание программной реализации модулей тестирования СОА. ПО

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

4.2. Экспериментальное исследование программной модел . 116

4.2.1 Исследование программной реализации нейронной сети 116

4.2.2 Исследование программной модели неточного поиска 121

4.3. Сравнение с аналогами 123

4.3.1 Обзор аналогов 123

4.3.2 Экспериментальное сравнение с аналогами 131

4.4. Выводы... 137

Заключение 138

Список использованных источников 140

Приложения 145

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

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

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

Однако бурный рост информационных технологий вызвал стремительный рост компьютерно^ преступности. Ещё в 2000 году лишь 24% компаний, чей бизнес связан с использованием информационных технологий, сообщали об инцидентах, связанных с преднамеренным нарушением компьютерной безопасности. В 2002 таких организаций было уже 44%, в 2003 - более 60%. Зафиксированные финансовые потери компаний за 2000 год составили 265,5 млн. долларов, за 2002 год 455,8 млн., а за первый квартал 2003 года - 201,7 млн[1]. Аналогично обстоит дело и в России. Так, например, с начала 2004г. зафиксировано около 5000 попыток атак на информационные системы и телекоммуникационные сети ОАО "Российские железные дороги", убыток от которых мог составить около 1 млрд руб. Зти цифры позволяют увидеть тенденцию рорта компьютерной преступности.

До сих пор можно встретить утверждения, что наибольший ущерб наносится компаниям изнутри. Такая ситуация была характерна для начала 90-х годов. Согласно отчёту Институту компьютерной безопасности CSI (Computer Security Institute), опубликованному в конце 2003 года, 71% процентов подвергнувшихся нападению организаций были атакованы через внешние сетевые подключения.

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

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

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

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

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

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

Ещё одной проблемой, стоящей перед разработчиками и пользователями СОА, является отсутствие методики тестирования, позволяющей оценить эффективность используемой системы.

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

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

Исходя из основной цели данной работы, определяется перечень решаемых задач:

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

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

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

4. Разработка методики функционального тестирования СОА.

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

Результаты, выносимые на защиту

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

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

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

Научная новизна работы заключается в следующем:

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

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

средствах обеспечения безопасности информационных систем на этапе их

проектирования.

Практическая значимость и внедрение результатов работы Практическая значимость результатов диссертации заключается в

следующем:

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

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

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

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

Использование результатов Основные результаты исследований были использованы на кафедре Безопасности информационных технологий ТРТУ при проведении следующих научно-исследовательских и опытно-конструкторских работ: «Создание программных и программно-аппаратных средств обнаружения . и выявления сетевых атак в информационно-

телекоммуникационных системах» (№ договора 16108), «Разработка материалов по вопросам обнаружения сетевых атак в ЛВС АС ВН» (№ договора 16112), «Разработка материалов по вопросам обнаружения сетевых атак в ЛВС АС ВН и создания программного макета системы тестирования системы обнаружения атак» (№ договора 16111), «Разработка средств генерации информационных воздействий на автоматизированную систему»; научных исследований, поддержанных грантами РФФИ № 04-07-90137-в «Исследование и разработка моделей, методов и средств обнаружения атак»; в учебном процессе на кафедре БИТ Таганрогского государственного радиотехнического университета.

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

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

  1. Международной научно-практической конференции «Информационная безопасность», Таганрог (2003 и 2004 г.).

  2. Международной конференции «Системные проблемы качества математического моделирования, информационных, электронных и лазерных технологий», Сочи, (2003 г.).

  3. Всероссийской конференции «Проблемы информационной безопасности в системе высшей школы», МИФИ, Москва, (2004 г.).

  4. Всероссийской научной конференции студентов и аспирантов «Техническая кибернетика, радиоэлектроника и системы управления», Таганрог (2004 г.).

Анализ существующих технологий систем обнаружения атак

СОА классифицируют по этапам осуществления атак и по принципу реализации. По принципу реализации различают два основных типа СОА: host-based, т.е. обнаруживающие атаки, направленные на конкретный узел сети, и network-based, направленные на всю сеть или сегмент сети (см. Рисунок 1.2). Системы обнаружения атак 1 і Системы обнаружения атак на уровне узла Системы обнаружения атак на уровне сети і На уровне ОС На уровне СУБД Ма уровне приложений Рисунок 1.2 - Классификация систем обнаружения атак по принципу реализации ( по материалам [4]) Системы обнаружения атак на уровне хоста были разработаны для работы под управлением конкретной операционной системы, что накладывает на них определенные ограничения. Используя информацию о том, как должна себя "вести" операционная система, средства, построенные с учетом этого подхода, иногда могут обнаружить вторжения, пропускаемые сетевыми средствами обнаружения атак. Системы обнаружения атак, контролирующие отдельный компьютер, как правило, собирают и анализируют информацию из журналов регистрации операционной системы и различных приложений (Web-сервер, СУБД и т.д.). По такому принципу функционирует RealSecure OS Sensor. Однако, зачастую, это достигается высокой ценой, потому что постоянная регистрация, необходимая для выполнения такого рода обнаружения, существенно снижает производительность защищаемого хоста. Такие системы сильно загружают процессор и требуют больших объемов дискового пространства для хранения журналов регистрации и, в принципе, не применимы для систем, работающих в режиме реального времени.

Принципиальное преимущество сетевых (network-based) систем обнаружения атак в том, что они идентифицируют нападения прежде, чем те достигнут атакуемого узла. Выполняться эти системы могут на обычных компьютерах (например, RealSecure Network Sensor), на специализированных компьютерах (например, RealSecure for Nokia или Cisco Secure IDS 4210 и 4230) или интегрированы в маршрутизаторы или коммутаторы (например, CiscoSecure IOS Integrated Software или Cisco Catalyst 6000 IDS Module). В первых двух случаях анализируемая информация собирается посредством захвата и анализа пакетов, используя сетевые интерфейсы в беспорядочном (promiscuous) режиме. В последнем случае захват трафика осуществляется с шины сетевого оборудования. Эти системы проще для развертывания в крупных сетях, потому что они не требуют установки на различные платформы, используемые в организации. Кроме того, системы обнаружения атак на уровне сети практически не снижают производительности сети.

Системы обнаружения атак сетевого уровня используют в качестве источника данных для анализа необработанные (raw) сетевые пакеты. Как правило, IDS сетевого уровня используют сетевой адаптер, функционирующий в режиме "прослушивания" (promiscuous), и анализируют трафик в реальном масштабе времени по мере его прохождения через сегмент сети. Модуль выявления атак реализует один из известных методов распознавания атаки: - Поиск строковой сигнатуры атаки - Статистический метод - Использование прогнозируемых шаблонов - Анализ переходов из состояния в состояние - Нечеткая логика - Экспертные системы - Genetic Algorithms - Скрытые марковские модели - Data Mining-методы - Искусственные нейронные сети

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

Обнаружение аномалий (Anomaly Detection Intrusion Detection Systems, AD-IDS) использует модели предполагаемого поведения пользователей и приложений, интерпретируя отклонение от «нормального» поведения как потенциальное нарушение защиты [5]. Основной постулат обнаружения аномалий состоит в том, что атаки отличаются от нормального поведения. Обнаружение аномалий, как правило, включает создание базы данных, которая содержит профили контролируемой деятельности.

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

Вторым и наиболее распространенным подходом к обнаружению атак является обнаружение злоупотреблений (Misuse Detection Intrusion Detection Systems, MD-IDS). MD-IDS сильно напоминают антивирусные системы, подключенные тс сети. Этот метод включает сравнение деятельности пользователя с известными шаблонами поведения злоумышленника. Обычно

. такие системы содержат набор сигнатур, которые описывают типы соединений и трафика, которые указывают на то, что развертывается конкретная атака. Другие типы MD-IDS основаны на информации от хостов, например, из журналов регистрации операционной системы, для обнаружения событий, свидетельствующих о подозрительной деятельности [6]. В то время, как при обнаружении аномалий, как правило, используется . мониторинг пороговой величины для определения достижения определенного предела, методы обнаружения злоупотреблений часто используют подход на основе правил. Когда они применяются для обнаружения злоупотреблений, правила описывают сценарии (описания, сигнатуры) атак. Механизм обнаружения идентифицирует потенциальные атаки в случае, если действия пользователя совпадают с установленными правилами. Наличие исчерпывающих баз данных таких правил является наиболее важным аспектом для экспертных систем обнаружения атак.

Основное преимущество систем обнаружения злоупотреблений состоит в том, что они сосредотачиваются на анализе проверяемых данных и обычно порождают очень мало ложных тревог. Главный недостаток систем обнаружения злоупотреблений связан с тем, что они могут определять только известные атаки, для которых существуют определенная сигнатура. По мере обнаружения новых атак разработчики должны строить соответствующие им модели, добавляя их к базе сигнатур. Кроме того, хакер может относительно легко скрыть следы атаки, обманывая MD-IDS путем использования трюков вроде вставки пробела в поток данныхутем самым, изменяя сигнатуру атаки. Ни один из существующих подходов к построению СО А -обнаружение аномалий или обнаружение злоупотреблений (сигнатур) -самостоятельно не могут решать все задачи, стоящие перед СОА.

Применение нейронных сетей в задачах обнаружения аномалий

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

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

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

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

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

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

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

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

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

Для успешного функционирования нейронной сети необходимо соответствующим образом настроить её весовые коэффициенты. Для некоторых типов сетей существуют методы построения обученных конфигураций из постановки задачи. Однако подавляющее большинство видов нейронных сетей необходимо обучать после построения. Существуют две основные парадигмы обучения: обучение «с учителем» (supervised manner) и обучение без учителя (unsupervised manner) [17].

Обучение «с учителем» более характерно для однонаправленных сетей. В процессе обучения «с учителем» сети последовательно предъявляются пары pi, ti , где pi — входной вектор, ti — желаемый выходной вектор. (Множество всех таких пар называется обучающей выборкой). При этом сеть пытается настроить свои веса таким образом, чтобы при следующем предъявлении на вход вектора pi, получать на выходе вектор максимально близкий к ti. После окончания процедуры обучения можно надеяться, что нейронная сеть правильно отреагирует на входные вектора, не входящие в обучающую выборку. Способ обучения «без учителя» характерен для сетей с обратными связями. Получая входное воздействие, сеть подстраивает свои веса согласно своим внутренним целям.

Разработка интерпретатора языка программирования сценариев атак

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

Язык поддерживает три простых типа данных и один составной. К простым типам относятся: int, string.

Тип int представляет 32 битные целые знаковые числа. Для представления строк используется тип string. При этом память под строки выделяется автоматически.

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

Объявление начинается с ключевого слова define, за которым следует идентификатор имени типа. Далее идет блок, ограниченный фигурными скобками и содержащий описания полей. Каждое описание поля содержит идентификатор поля и размерность, так же может содержать значение по умолчанию. Таким образом, объявление типа можно представить в следующем виде:

Условие может быть представлено как операция, возвращающая числовое значение (например, операции сравнения, арифметические и логические операции). Блок_истина представляет выражение или составное выражение, которое должно быть заключено в фигурные скобки. Блок_истина получает управление в том случае, если условие истинно. Блок_ложь аналогичен по синтаксису блоку_истине, за тем исключением, что он выполняется в том случае, если условие ложно. Конструкция else и следующий за ней блок являются необязательными.

Таким образом, оператор ветвления осуществляет выбор вычисления одного из двух возможных блоков операторов, на основе истинности условия. В языке программирования допускается использование двух видов циклов: параметризованного и не параметризованного. Параметризованный цикл используется в том случае, если заранее известно количество итераций цикла. Данный вид цикла имеет следующий синтаксис: for ;( счетчик = нач_значение; условие; предоператор ) блок Здесь, счетчик - это переменная одного из целочисленных типов; значение — начальное значение, которое. присваивается счетчику перед началом выполнения цикла; условие - выражение, вычисляемое в начале каждой итерации, если оно ложно, то выполнение цикла прерывается; предоператор - оператор, выполняемый в начале каждой итерации (обычно оператор инкремента); блок - тело итерации.Не параметризованный цикл используется, когда нет необходимости в счетчике итерации или когда вычисление условия не зависит от параметра.

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

При реализации алгоритма память выделяется для трех битовых массивов S, R, RNext. Битовый массив S для каждого символа Pattern определяет позиции, в которых этот символ содержится в образце для поиска. Битовый массив R содержит информацию обо всех предыдущих совпадениях в Р с количеством ошибок не более (d-І). Битовый массив RNext содержит информацию обо всех предыдущих совпадениях с количеством ошибок не более d.

Архитектура комбинированной системы обнаружения атак

Сетевые сенсоры, функционирующие в ключевых точках сети, анализируют сетевой трафик. В случае обнаружения атаки сообщение об этом пересылается на консоль управления, где обрабатывается в соответствии с рассчитанным приоритетом: отображаются или архивируются. Для сообщений с высоким приоритетом может быть активирован модуль ответной реакции. Если включена опция уведомления, то сообщение об атаке может быть передано администратору по электронной почте или через службу коротких сообщений (short message service, SMS). Модуль корреляции сообщений предназначен для выявления следов атак при помощи анализа архива сообщений об атаках.

Основным модулем программы является модуль генерации сетевого трафика, основанный на архитектуре захвата пакетов WinPcap. Он позволяет формировать сетевые пакеты, описывая параметры пакетов, при помощи которых моделируются различные атаки. К таким параметрам можно отнести флаги в заголовке IP-пакета, IP и MAC адреса, номера портов в заголовке TCP-пакета, поля данных в пакетах различных протоколов. Таким образом программа позволяет эмулировать такие атаки, которые невозможно сымитировать на языке высокого уровня. Программа позволяет формировать и отсылать пакеты по протоколам TCP, UDP и ICMP. Описание атаки, используемое имитатором, представляется в виде сценария, написанного на разработанном языке описания атак. Программа-сценарий состоит из инструкций. Инструкции состоят из управляющих конструкций и выражений. Создаваемые пакеты состоят из заголовков соответствующих протоколов и полезной нагрузки (данных пакета). Пакеты формируются в программе.

Экспериментальное исследование программной модел

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

Для наглядности сымитируем атаку, характеризующуюся большим числом значащих признаков — атаку типа «X-mas tree» («Рождественская ёлка»). Она характеризуется установкой всех TCP-флагов (URG, АСК, PSH, RST,SYN,FIN).

В обычных условиях этого происходить не должно. Установка одиночного флага SYN показывает начало соединения TCP. Установка флага FIN означает разрыв соединения. Поскольку нельзя одновременно устанавливать и.разрывать соединение с помощью TCP, такая комбинация весьма подозрительна. RESET используется для прерывания попытки соединения. SYN и RESET вместе применять нельзя. Таким образом, устанавливать все биты равными 1 нелогично. Это указывает на искусственное происхождение пакета. Чтобы отследить все запрещённые комбинации, понадобится до десяти различных фильтров.

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

При построении гистограммы использовались результаты анализа нейронной сетью ста векторов, сформированных из заголовков пакетов, перехваченных в локальной сети. К ним был добавлен вектор, содержащий аномальные характеристики (все флаги установлены в 1), включённый в обучающую выборку (№ 57 в таблице). Также для экспериментальной проверки характеристик НС, в число анализируемых векторов были включены вектора, не присутствовавшие в обучающей выборке - с установленными флагами SYN, FIN (№ 44) и RST, SYN (№ 63).

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

Рассмотрим сигнатуру атаки на web-сервер с использованием уязвимости службы php, например «/cgi-bin/php.cgi?». Каталог, в котором хранится скрипт, может быть переименован пользователем, например, в ««/cgi-mybin/».

Эксперимент заключается в имитации атаки, содержащей изменённую сигнатуру, т.е. не присутствующую в БД сигнатур. Для этого видоизменим запрос к серверу, включив в него модифицированную сигнатуру.

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

Описанные здесь системы представляют весь спектр существующих на сегодняшний день продуктов, включая исследовательские системы, коммерческие системы и те, что соответствуют формату Open Source Software (программные средства с открытым программным кодом).

Политика (описывающая значимые события) определяется на станции анализа (менеджере). В любой момент ее можно изменить и направить датчику, не перезагружая его. ISS предлагает стандартные политики, в том числе называемую maximum coverage (максимальный охват). Фильтры можно редактировать и модифицировать. ISS поддерживает лишь пользовательские фильтры, позволяющие сопоставлять сетевой трафик с регулярными выражениями на основе определенного протокола (HTTP, SMTP, NNTP, FTP и т.д.) в определенный момент времени. Создатели системы говорят, что в будущем планируется расширить эту возможность.

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

На консоли можно наблюдать за событиями. Они окрашиваются в три цвета: красный,-желтый и зеленый. Самый высокий приоритет у красных событий. Они находятся вверху, поэтому их можно проверять первыми. Если предполагается, что событие, отмеченное желтым или зеленым цветом, важнее, чем красное, переведите его в класс красных, отредактировав свою политику. Датчик контролирует системные журналы (syslogs) Cisco, а также необработанные пакетные данные в сети. Этот датчик является самым функциональным из всех коммерческих. Он поддерживает повторную компоновку пакетов, что позволяет выявлять атаки, в которых одна часть строки символов помещается в один фрагмент, а другая - во второй.

Директор может работать в Solaris, HP-UX и в Windows NT. Директор принимает данные от датчика и графически представляет их с помощью интерфейса HP Openview. Системы управления базами данных SQL не предусмотрено. Для переноса простых файлов журналов в реляционную базу применяются табличные форматы, эталонные SQL-запросы и загрузка больших объемов данных. Это предоставляет аналитику отличные возможности для быстрого внедрения базы данных клиента.

Главные недостатки NetRanger — малая производительность директора и высокая стоимость системы. Достоинствами же являются тесная интеграция с маршрутизаторами Cisco и высокая производительность датчика.

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

Похожие диссертации на Разработка и исследование методов построения систем обнаружения атак