WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Pages:     || 2 |

«ОБНАРУЖЕНИЕ КОМПЬЮТЕРНЫХ АТАК НА ОСНОВЕ АНАЛИЗА ПОВЕДЕНИЯ СЕТЕВЫХ ОБЪЕКТОВ Специальность 05.13.11 – математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей ДИССЕРТАЦИЯ на соискание ...»

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

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

имени М.В. Ломоносова

ФАКУЛЬТЕТ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И КИБЕРНЕТИКИ

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

Гамаюнов Денис Юрьевич

ОБНАРУЖЕНИЕ КОМПЬЮТЕРНЫХ АТАК НА ОСНОВЕ

АНАЛИЗА ПОВЕДЕНИЯ СЕТЕВЫХ ОБЪЕКТОВ

Специальность 05.13.11 – математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

ДИССЕРТАЦИЯ

на соискание ученой степени кандидата физико-математических наук

Научный руководитель:

д.ф-м.н. Р.Л.Смелянский

МОСКВА

ВВЕДЕНИЕ

1.1. ЗАДАЧА ОБНАРУЖЕНИЯ КОМПЬЮТЕРНЫХ АТАК

1.2. АКТУАЛЬНОСТЬ ТЕМЫ

1.3. ЦЕЛЬ РАБОТЫ

1.4. МЕТОДЫ РЕШЕНИЯ

1.5. СТРУКТУРА РАБОТЫ

2. ОБЗОР МЕТОДОВ И СИСТЕМ ОБНАРУЖЕНИЯ КОМПЬЮТЕРНЫХ АТАК

2.1. КРИТЕРИИ СРАВНЕНИЯ

2.1.1. КРИТЕРИИ СРАВНЕНИЯ МЕТОДОВ ОБНАРУЖЕНИЯ АТАК

2.1.2. КРИТЕРИИ СРАВНЕНИЯ СИСТЕМ ОБНАРУЖЕНИЯ АТАК

2.2. МЕТОДЫ ОБНАРУЖЕНИЯ АТАК

2.2.1. МЕТОДЫ ОБНАРУЖЕНИЯ ЗЛОУПОТРЕБЛЕНИЙ

2.2.2. МЕТОДЫ ОБНАРУЖЕНИЯ АНОМАЛИЙ

2.2.3. РЕЗУЛЬТАТЫ СРАВНИТЕЛЬНОГО АНАЛИЗА

2.3. СОВРЕМЕННЫЕ ОТКРЫТЫЕ СИСТЕМЫ ОБНАРУЖЕНИЯ АТАК

2.3.1. ИССЛЕДОВАННЫЕ СИСТЕМЫ ОБНАРУЖЕНИЯ АТАК

2.3.2. РЕЗУЛЬТАТЫ СРАВНИТЕЛЬНОГО АНАЛИЗА

2.4. ОПИСАНИЕ ИССЛЕДОВАННЫХ СИСТЕМ

2.4.1. BRO

2.4.2. OSSEC

2.4.3. STAT

2.4.4. PRELUDE

2.4.5. SNORT

2.5. ЗАКЛЮЧЕНИЕ И ВЫВОДЫ

3. МОДЕЛЬ ОБНАРУЖЕНИЯ АТАК

3.1. МОДЕЛЬ ФУНКЦИОНИРОВАНИЯ РИС

3.1.1. ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ

3.1.2. МОДЕЛЬ ПОВЕДЕНИЯ ОБЪЕКТА И МОДЕЛЬ АТАКИ

3.2. ФОРМАЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ ОБНАРУЖЕНИЯ АТАК

3.3. РАСПОЗНАВАНИЕ НОРМАЛЬНЫХ И АНОМАЛЬНЫХ ТРАЕКТОРИЙ

3.4. ЯЗЫК ОПИСАНИЯ АВТОМАТОВ ПЕРВОГО И ВТОРОГО РОДА

3.5. АЛГОРИТМЫ ОБНАРУЖЕНИЯ АТАК

4. ЭКСПЕРИМЕНТАЛЬНАЯ СИСТЕМА ОБНАРУЖЕНИЯ АТАК

4.1. АРХИТЕКТУРА И АЛГОРИТМЫ РАБОТЫ СИСТЕМЫ ОБНАРУЖЕНИЯ АТАК

4.1.1. СТРУКТУРА И АЛГОРИТМЫ РАБОТЫ СЕТЕВОГО СЕНСОРА

4.1.2. СТРУКТУРА И АЛГОРИТМЫ РАБОТЫ УЗЛОВОГО СЕНСОРА

4.1.3. СТРУКТУРА И АЛГОРИТМЫ РАБОТЫ ПОДСИСТЕМЫ РЕАГИРОВАНИЯ

4.1.4. СТРУКТУРА И АЛГОРИТМЫ РАБОТЫ КОНСОЛИ УПРАВЛЕНИЯ

4.1.5. ОРГАНИЗАЦИЯ ИЕРАРХИЧЕСКОГО ХРАНИЛИЩА ДАННЫХ

4.2. ВЫВОДЫ ПО АРХИТЕКТУРЕ

5. ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ ЭКСПЕРИМЕНТАЛЬНОЙ СОА

5.1. НАБОР ТЕСТОВЫХ ПРИМЕРОВ

5.2. ТЕСТОВЫЕ СЦЕНАРИИ ОБНАРУЖЕНИЯ

5.3. СОСТАВ И СТРУКТУРА ИНСТРУМЕНТАЛЬНОГО СТЕНДА

5.3.1. СЕТЕВАЯ ИНФРАСТРУКТУРА

-2СЕРВЕРНЫЕ УЗЛЫ

5.3.3. РАБОЧИЕ СТАНЦИИ

5.3.4. АТАКУЮЩИЕ УЗЛЫ

5.4. ПОРЯДОК ИСПЫТАНИЙ

5.5. РЕЗУЛЬТАТЫ ИСПЫТАНИЙ

5.6. ВЫВОДЫ

6. ЗАКЛЮЧЕНИЕ

7. ЛИТЕРАТУРА

ПРИЛОЖЕНИЕ: ЯЗЫК ОПИСАНИЯ ПОВЕДЕНИЯ СЕТЕВЫХ ОБЪЕКТОВ

7.1. ЯЗЫК ОПИСАНИЯ ПОВЕДЕНИЯ ОБЪЕКТОВ РИС

7.2. ПРЕПРОЦЕССОР ЯЗЫКА

7.3. ЛЕКСИЧЕСКАЯ СТРУКТУРА ЯЗЫКА

7.3.1. КОММЕНТАРИИ

7.3.2. КОНСТАНТЫ

7.3.3. СИМВОЛЫ ОПЕРАЦИЙ

7.3.4. КЛЮЧЕВЫЕ СЛОВА

7.3.5. ИДЕНТИФИКАТОРЫ

7.4. СИНТАКСИС И СЕМАНТИКА ЯЗЫКА

7.4.1. ТИПЫ ДАННЫХ

7.4.2. ОПЕРАЦИИ НАД ТИПАМИ ДАННЫХ

7.4.3. ФУНКЦИИ

7.4.4. ВЫРАЖЕНИЯ

7.4.5. ОПЕРАТОРЫ

7.4.6. СЦЕНАРИИ

7.5. ВСТРОЕННАЯ БИБЛИОТЕКА ЯЗЫКА

7.5.1. ВСТРОЕННЫЕ СТРУКТУРЫ

7.5.2. ВСТРОЕННЫЕ ФУНКЦИИ

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

Требуется разработать:

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

1.2. Актуальность темы Компьютерные сети за несколько последних десятилетий из чисто технического решения превратились в глобальное явление, развитие которого оказывает влияние на большинство сфер экономической деятельности. Одним из первых количественную оценку значимости сетей дал Роберт Меткалф, участвовавший в создании Ethernet: по его оценке «значимость» сети во всех смыслах пропорциональна квадрату числа узлов в ней. То есть, зависимость от нормальной работы сетей растёт быстрее, чем сами сети.

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



Создание информационных систем, гарантированно устойчивых к вредоносным воздействиям и компьютерным атакам, сопряжено с существенными затратами как времени, так и материальных ресурсов. Кроме того, существует известная обратная зависимость между удобством пользования системой и её защищённостью: чем совершеннее системы защиты, тем сложнее пользоваться основным функционалом информационной системы. В 80-е годы XX века, в рамках оборонных проектов США, предпринимались попытки создания распределенных информационных систем специального назначения (MMS – Military Messaging System) [103], для которых формально доказывалась выполнимость основной теоремы безопасности – невыведение системы из безопасного состояния для любой последовательности действий взаимодействующих объектов. В этих системах использовалось специализированное программное обеспечение на всех уровнях, включая системный.

Однако, на сегодняшний день подобные системы не получили развития, и для организации информационных систем используются операционные системы общего назначения, такие как ОС семейства Microsoft Windows, GNU/Linux, *BSD и различные клоны SysV UNIX (Solaris, HP-UX, etc).

Из-за высокой сложности и дороговизны разработки защищённых систем by design, тогда же в 80-е годы XX века появилось и начало активно развиваться направление информационной безопасности, связанное с обнаружением (и, возможно, последующим реагированием) нарушений безопасности информационных систем, в качестве эффективного временного решения, позволяющего закрывать «бреши» в безопасности систем до их исправления [5,32]. Данное направление получило название «обнаружение атак» (intrusion detection); и за прошедшие годы в рамках академических разработок были созданы сотни систем обнаружения атак для различных платформ: от систем класса mainframe до современных операционных систем общего назначения, СУБД и распространённых приложений [7,8,64,69].

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

Методы обнаружения атак в современных системах обнаружения атак (далее СОА) недостаточно проработаны в части формальной модели атаки, и, следовательно, для них достаточно сложно строго оценить такие свойства как вычислительная сложность, корректность, завершимость и т.д. [6,7,8,64,69]. Принято разделять методы обнаружения атак на методы обнаружения аномалий и методы обнаружения злоупотреблений [6]. Ко второму типу методов относятся большинство современных коммерческих систем (Cisco IPS, ISS RealSecure, NFR) – они используют сигнатурные (экспертные) методы обнаружения [6,64]. Существует множество академических разработок в области обнаружения аномалий, но в промышленных системах они используются редко и с большой осторожностью, так как такие системы порождают большое количество ложных срабатываний. Для экспертных же систем основной проблемой является низкая, близкая к нулю, эффективность обнаружения неизвестных атак (адаптивность) [7,8,111]. Низкая адаптивность до сих пор остаётся проблемой, хотя такие достоинства как низкая вычислительная сложность и малая стоимость развёртывания определяют доминирование таких систем в данной области.

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

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

• построить модель функционирования РИС, в рамках которой определить • выделить классы реальных атак, представимых в рамках предложенной модели функционирования РИС;

• разработать метод обнаружения атак на РИС на основе информации о поведении объектов РИС;

• разработать архитектуру системы обнаружения атак для РИС на базе ОС GNU/Linux, Windows 2000/XP и сетевого стека TCP/IP.

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

• функционирование РИС определяется через понятие состояния объекта РИС и переходы между состояниями, объекты типизированы;

• множество состояний разделяется на безопасные и опасные состояния;

• вводится понятие траектории и поведения объекта;

• понятие атаки вводится как траектория из безопасного состояния некоторого • для каждого класса атак вводится понятия автомата первого рода, который принимает любую траекторию данного класса;

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

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

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

• алгоритм обнаружения атак, реализующий метод обнаружения атак на основе описаний поведения объектов РИС и наблюдения за поведением объектов РИС в режиме реального времени;

• архитектура системы обнаружения атак;

• исследование эффективности системы и результаты экспериментов.

1.5. Структура работы Глава 2 настоящей работы посвящена обзору близких по тематике методов обнаружения атак и ряда современных систем обнаружения атак.

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

Глава 4 посвящена архитектуре экспериментальной системы обнаружения атак на основе предложенного метода.

Глава 5 посвящена исследованию эффективности экспериментальной системы обнаружения атак.

-6ОБЗОР МЕТОДОВ И СИСТЕМ ОБНАРУЖЕНИЯ КОМПЬЮТЕРНЫХ

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

Целью обзора является исследовать эффективность доступных в настоящее время СОА и определить основные недостатки используемых в них методов обнаружения атак. Основная сложность составления подобного обзора заключается в том, что множество доступных реализаций СОА представлено, в основном, коммерческими системами (такими как Cisco IPS, Juniper NetScreen, ISS RealSecure, NFR и т.д.), для которых отсутствует открытая информация о программной архитектуре и используемым формальным методам обнаружения атак [64]. Доступная информация по подобным системам носит маркетинговый характер, что затрудняет проведение сравнительного анализа по публикациям в литературе. По этой причине множество рассматриваемых в обзоре систем будет ограничено СОА с открытым исходным кодом, доступным публично.

В результате обзора будет показано, что:

1. Большинство современных СОА используют на базовом уровне ту или иную реализацию сигнатурного метода обнаружения (pattern matching, сравнение шаблонов).

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

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

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

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

2.1.1. Критерии сравнения методов обнаружения атак Для сравнительного анализа методов обнаружения атак выбраны следующие критерии:

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

o HIDS – наблюдение на уровне операционной системы отдельного узла сети;

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

o Hybrid – комбинация наблюдателей разных уровней.

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

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

Возможные значения: высокая (+), низкая (-).

Адаптивность метода: Оценка устойчивости метода к малым изменениям реализации атаки, которые не изменяют результат атаки. Адаптивность является единственным существенным преимуществом «альтернативных» методов обнаружения атак перед «сигнатурными». Отсутствие адаптивности не позволяет системе защиты оперативно реагировать на неизвестные атаки и требует организации системы регулярного обновления баз известных атак, по аналогии с антивирусными системами. Возможные значения: высокая (+), низкая (-).

Устойчивость: Данный критерий характеризует независимость выхода метода от защищаемой системы – для одного и того же входа метод должен давать один и тот же выход, независимо от защищаемой системы. Проблема устойчивости особенно остро стоит для статистических методов, анализирующих абсолютные значения параметров производительности и загруженности ресурсов сети и узлов, которые могут существенно отличаться на различных узлах и в различных сетях. Обученный в одной сети распознаватель может быть устойчивым в пределах данной сети и неустойчивым во всех остальных сетях. Такую устойчивость будем называть локальной. Так как процедура обучения обычно является «дорогой» - требует использования большого количества ресурсов и времени – число процедур обучения желательно минимизировать. Методы обнаружения атак, анализирующие семантику ввода, более устойчивы, чем статистические. Возможные значения: глобальная (+), локальная (-).

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

o Сублинейная – константа, логарифм;

o Квадратичная и т.д.

В обзоре не рассмотрены такие важные критерии как полнота и точность метода, т.к.

эти характеристики редко приводятся в публикациях.

2.1.2. Критерии сравнения систем обнаружения атак Для сравнительного анализа СОА были выбраны следующие критерии:

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

Класс атаки – это четверка, где L – расположение атакующего объекта, R – атакуемый ресурс, A – целевое воздействие на ресурс, D – признак распределенного характера атаки.

отношению к защищаемой системе (li), либо внешним (le).

R: атакуемый ресурс. Ресурсы разделяются по расположению и по типу.

По расположению: узловые (rl), сетевые (rn).

По типу: пользовательские ресурсы (ru), системные ресурсы (rs), ресурсы СУБД (rd), вычислительные ресурсы (rc), ресурсы защиты (rp).

A: целевое воздействие на ресурс: сбор информации (as), получение прав пользователя ресурса (au), получение прав администратора ресурса (ar), нарушение целостности ресурса (ai), нарушение работоспособности ресурса (ad).

D: признак распределенного характера атаки: распределенные (dd), нераспределенные (dn).

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

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

o HIDS – наблюдение на уровне операционной системы отдельного узла сети;

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

o Hybrid – комбинация наблюдателей разных уровней.

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

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

o Обнаружение злоупотреблений Анализ систем состояний [34,48,52] Нейронные сети [30,54,112] Экспертные системы [90,106] Методы, основанные на спецификациях [57] MARS – Multivariate Аdaptive Regression Splines [94] Сигнатурные методы [60,61,102] o Обнаружение аномалий Статистический анализ [4,87] Кластерный анализ (data mining) [55] Нейронные сети [30,54,112] Экспертные системы [90,106] Поведенческая биометрия [1] Адаптивность к неизвестным атакам. Определяет способность используемого метода обнаруживать ранее неизвестные атаки.

Следующие три критерия определяют такие архитектурные особенности СОА как управление и распределенность.

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

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

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

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

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

Таким образом, некая «идеальная» система обнаружения атак обладает следующими свойствами:

• покрывает все классы атак (система полна);

• позволяет анализировать поведение защищаемой РИС на всех уровнях:

сетевом, узловом и уровне отдельных приложений;

• адаптивна к неизвестным атакам (использует адаптивный метод • масштабируется для РИС различных классов: от небольших локальных сетей класса «домашний офис» до крупных многосегментных и коммутированных корпоративных сетей, обеспечивая возможность централизованного управления всеми компонентами СОА;

• имеет встроенные механизмы реагирования на атаки;

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

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

2.2.1. Методы обнаружения злоупотреблений Анализ систем состояний: В данной группе методов [34,48,52] функционирование защищаемой системы представляется через множество состояний и множество переходов между ними, т.е. в виде ориентированного графа (как правило, бесконечного). Суть метода обнаружения атак заключается в том, что часть путей в таком графе помечаются как недопустимые; конечное состояние каждого такого пути считается опасным для защищаемой системы. Процесс обнаружения атаки представляет собой построение части графа состояний системы и наблюдаемых переходов между ними, и поиск в полученном графе известных недопустимых путей.

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

Графы сценариев атак: В работе [93] предложен подход к обнаружению атак на основе использования методов формальной спецификации на моделях. На вход системе верификации подаётся конечная модель защищаемой системы и некоторое формальное свойство корректности, которое выполняется только для разрешённого поведения системы. Данное свойство корректности делит всё множество поведений на два класса – допустимого поведения, для которого свойство выполняется, и недопустимого, для которого оно не выполняется. Отличие данного метода от обычных систем верификации заключается в том, что их задача, обычно, найти один контрпример из множества недопустимого поведения, а в предложенном методе строится полный набор таких примеров для конкретной защищаемой системы, что даёт на выходе описание возможных путей атаки. Из-за высокой вычислительной сложности (NP) данный метод может быть использован для поиска уязвимостей проектирования систем и других сложных для обнаружения уязвимостей, но для задачи обнаружения атак в реальном времени он неприменим. По остальным критериям метод является гибридным, верифицируемым, устойчивым и адаптивным.

Нейронные сети: Так как задачу обнаружения атак можно рассматривать как задачу распознавания образов (или задачу классификации), то для её решения также применяются нейронные сети [30,54,112]. Для этого функционирование защищаемой системы и взаимодействующих с ней внешних объектов представляется в виде траекторий в некотором числовом пространстве признаков. В качестве метода обнаружения злоупотреблений, нейронные сети обучаются на примерах атак каждого класса и, в дальнейшем, используются для распознавания принадлежности наблюдаемого поведения одному из классов атак. Основная сложность в использовании нейросетей заключается в корректном построении такого пространства признаков, которое позволило бы разделить классы атак между собой и отделить их от нормального поведения. Кроме того, для классических нейронных сетей характерно долгое обучение, при этом время обучения зависит от размера обучающей выборки. В соответствии с введёнными критериями, нейронные сети используются на сетевом и узловом уровнях, являются адаптивными, имеют сравнительно низкую вычислительную сложность. При этом они не являются верифицируемыми и устойчивы, как правило, только в пределах той сети, в которой они обучались, что существенно ограничивает применимость метода (только локальная устойчивость).

классификации и строятся по аналогии с иммунной системой живого организма.

Основное достоинство иммунных сетей заключатся в возможности получения «антител» к неизвестным атакам [50,108]. В работе [113] предложена модель формального пептида, для которой заявлена возможность использования в системах обнаружения атак. Однако, позже было показано, что использование данного метода требует решения системы дифференциальных уравнений в режиме обнаружения, что даёт вычислительную сложность порядка O(n3) при использовании метода Рунге-Кутта.

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

Support vector machines (SVM): SVM – это метод представления и распознания шаблонов, который позволяет формировать шаблоны в результате обучения [76].

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

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

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

Multivariate Adaptive Regression Splines (MARS): Один из методов аппроксимации функций, основанный на сплайнах [94]. Аналогично нейронным сетям и кластерному анализу MARS оперирует в многомерном пространстве признаков. Поведение сетевых объектов отображается в последовательности векторов данного пространства. Задача процедуры MARS заключается в построении оптимальной аппроксимации поведения по заданной истории в виде обучающего множества векторов, при этом в качестве аппроксимирующей функции используются сплайны с переменным числом вершин. В ходе «обучения», с помощью переборного процесса, выбирается оптимальное число вершин для заданной выборки. Построенный сплайн является «шаблоном» атаки. В режиме распознавания наблюдаемое поведение отображается в параметрическое пространство и сравнивается с аппроксимирующей функцией. Достоинства и недостатки данного метода аналогичны SVM и нейронным сетям.

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

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

2.2.2. Методы обнаружения аномалий Статистический анализ: Данная группа методов основана на построении статистического профиля поведения системы в течение некоторого периода «обучения», при котором поведение системы считается нормальным [4,87]. Для каждого параметра функционирования системы строится интервал допустимых значений, с использованием некоторого известного закона распределения. Далее, в режиме обнаружения, система оценивает отклонения наблюдаемых значений от значений, полученных во время обучения. Если отклонения превышают некоторые заданные значения, то фиксируется факт аномалии (атаки). Для статистического анализа характерен высокий уровень ложных срабатываний при использовании в локальных сетях, где поведение объектов не имеет гладкого, усреднённого характера.

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

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

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

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

Иммунные сети: Обнаружение аномалий является одним из возможных приложений иммунных методов. Так как количество примеров нормального поведения обычно на порядки превышает число примеров атак, использование иммунных сетей для обнаружения анормалий имеет большую вычислительную сложность. [50,108].

Экспертные системы: Информация о нормальном поведении представляется в подобных системах в виде правил, а наблюдаемое поведение в виде фактов. На основании фактов и правил принимается решение о соответствии наблюдаемого поведения «нормальному», либо о наличии аномалии. Главный недостаток подобных систем – высокая вычислительная сложность (в общем случае). В том числе при обнаружении аномалий [90,106].

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

Support vector machines (SVM): SVM применим как для обнаружения злоупотреблений, так и для обнаружения аномалий, при этом метод имеет достоинства и недостатки, аналогичные нейронным сетям [76].

2.2.3. Результаты сравнительного анализа Критерий Уровень Аномалии/ Верифици- Адаптивность Устойчивость Вычислительная переходов методы методы анализ биометрия Таблица 1. Результаты сравнения методов обнаружения атак.

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

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

2.3.1. Исследованные системы обнаружения атак Всего рассмотрено 5 систем обнаружения атак. В табл. 2. приведена краткая информация по каждой из них.

Bro University of California, Lawrence http://bro-ids.org/ STAT University of California at Santa http://www.cs.ucsb.edu/~seclab/projects/s Prelude Yoann Vandoorselaere http://www.prelude-ids.org/ Таблица 2. Открытые системы обнаружения компьютерных атак.

Часть рассмотренных систем (Bro, NetSTAT) разработаны в университетах и базируются на исследованиях в области обнаружения атак, проведенных в этих университетах.

2.3.2. Результаты сравнительного анализа В данном разделе приводятся результаты сравнения рассмотренных СОА. Системы сравниваются отдельно по каждому из вышеуказанных критериев (см.раздел 2.1.2).

Сводная таблица сравнения СОА по всем критериям дана в конце раздела.

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

Система Bro использует регулярные выражения над трассами, которые формируются сетевыми протоколами. Набор регулярных выражений создаётся экспертами. Кроме того, в состав системы входит транслятор сигнатур из формата системы Snort в сценарии Bro (хотя в настоящее время этот транслятор поддерживает не все конструкции языка Snort).

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

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

Система Prelude использует различные анализирующие компоненты для сетевых данных и журналов регистрации. Для анализа сетевых данных можно использовать систему Snort. Также используется набор специализированных модулей для обнаружения специфических атак, таких как сканирование портов, некорректные ARPпакеты и т.п. Специальные модули производят дефрагментацию IP, сборку TCP-потока, декодирование HTTP-запросов.

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

Специальные модули производят дефрагментацию IP, декодирование HTTP-запросов.

Сторонние разработчики часто реализуют другие методы обнаружения атак в виде модулей (препроцессоров) Snort. Но в основную версию системы они не входят.

Все исследованные системы могут обнаруживать атаки нескольких классов.

Поэтому для улучшения читаемости и сокращения объема текста вводятся понятия пересечения классов атак будем использовать символы “” и “” соответственно.

Системы, рассмотренные в данной работе, предназначены для обнаружения атак разных классов. Часть систем ориентирована на обнаружения узловых атак, и использует для анализа такие источники как журналы регистрации приложений, ОС, журналы систем аудита (OSSEC). Другие системы обнаруживают только внешние (сетевые) атаки и используют для анализа информацию, получаемую из каналов передачи данных в сети (Bro, Snort). Остальные системы являются гибридными и обнаруживают как локальные, так и внешние атаки (STAT, Prelude).

Система Bro является сетевой системой обнаружения атак. Она представляет собой набор модулей декомпозиции данных различных сетевых протоколов (от сетевого до прикладного уровня) и набор сигнатур над событиями соответствующих протоколов.

Сигнатуры Bro фактически представляют собой регулярные выражения в алфавитах протоколов.

Данная система обнаруживет атаки следующих классов (L,R,A,D):

• L={li le} (внутренние и внешние атаки);

• R={rn} {ru rs} (атаки на сетевые пользовательские ресурсы и системные • A={as au ar ad} (сбор информации о системе, попытки получения прав пользователя, попытки получения прав администратора и нарушение работоспособности ресурса);

• D={dn dd} (нераспределенные и распределенные).

Система OSSEC, единственная из рассмотренных в данной работе, является изначально ориентированной на обнаружение атак уровня системы (узловых). Она наиболее «молодая» из рассмотренных систем; её последняя версия предназначена, в частности, для анализа журналов регистрации UNIX, типовых приложений (ftpd, apache, mail, etc), а также журналов межсетевых экранов и сетевых СОА. OSSEC включает в себя набор анализаторов для различных источников данных, контроль целостности файловой системы, сигнатуры известных троянских закладок (rootkits) и пр.

Обнаруживаются атаки следующих классов:

• L={li } (атакующие объекты находятся внутри системы);

• R={rl} {ru rs} (узловые пользовательские и системные ресурсы);

• A={au ar ai} (попытки получения прав пользователя, попытки получения прав администратора, нарушение целостности ресурса);

• D={dn dd} (нераспределенные и распределенные).

Система STAT является экспериментальной университетской разработкой, и наиболее «старой» из рассматриваемых систем – первые публикации по STAT датируются 1992 годом. Система включает в себя набор компонентов обнаружения атак различных уровней – сетевой (NetSTAT), узловой (USTAT, WinSTAT), приложений (WebSTAT), т.е. является классической гибридной системой.

СОА обнаруживает атаки следующих классов: (L,R,A,D). Где:

• L={li le} (внутренние и внешние атаки);

• R={rl rn } {ru rs} (атаки на узловые или сетевые пользовательские ресурсы и системные ресурсы);

• A={as au ar ad} (сбор информации о системе, попытки получения прав пользователя, попытки получения прав администратора и нарушение работоспособности ресурса);

• D={dn} (нераспределенные).

Система Prelude, как и NetSTAT, является гибридной, т.е. способна обнаружить атаки как на уровне системы, так и на уровне сети. Данная система изначально высокоуровневой надстройкой над открытыми СОА и системами контроля целостности (AIDE, Osiris и т.п.). Узловая часть Prelude имеет достаточно широкий набор описаний атак и, в качестве источника информации, использует различные журналы регистрации:

- журналы регистрации межсетевого экрана IPFW;

- журналы регистрации NetFilter ОС Linux;

- журналы регистрации маршрутизаторов Cisco and Zyxel;

- журналы регистрации GRSecurity;

- журналы регистрации типовых сервисов OC UNIX и другие.

СОА обнаруживает атаки следующих классов: (L,R,A,D). Где:

• L={li le} (внутренние и внешние атаки);

• R={rl rn} {ru rs rp} (атаки на локальные или сетевые пользовательские ресурсы, системные ресурсы и ресурсы защиты);

• A={as au ar ad} (сбор информации о системе, попытки получения прав пользователя, попытки получения прав администратора и нарушение работоспособности ресурса);

• D={dn} (нераспределенные).

Система Snort это наиболее популярная на сегодняшний день некоммерческая СОА.

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

Система способна обнаружить атаки следующих классов (L,R,A,D):

• L=”внутренние” ”внешние”;

• R={rl rn} {ru rs rp} (атаки на локальные или сетевые пользовательские ресурсы, системные ресурсы и ресурсы защиты);

• A={as au ar ad} (сбор информации о системе, попытки получения прав пользователя, попытки получения прав администратора и нарушение работоспособности ресурса);

• D={dn dd} (нераспределенные и распределенные).

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

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

Система OSSEC работает исключительно с журналами регистрации приложений и операционной системы. Системы Bro, Snort анализируют только сетевые данные.

Системы NetSTAT и Prelude анализируют как данные из локальных системных источников, так и сетевые данные.

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

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

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

Система OSSEC является распределённой и управляется либо распределенно на узлах, где установлены агенты (при помощи файлов конфигурации), либо централизованно с помощью специализированной утилиты администрирования (manage_agents) с центрального сервера OSSEC. Система является хорошо масштабируемой.

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

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

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

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

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

Три из рассматриваемых систем, за исключением Bro и OSSEC, имеют открытый интерфейс для добавления новых анализирующих модулей, а также используют стандартный для систем обнаружения атак формат обмена сообщениями (IDMEF).

Система Bro позволяет пользователю и сторонним разработчикам расширять набор сигнатур.

NetSTAT имеет открытый интерфейс для добавления новых агентов и фильтров.

Prelude имеет открытый интерфейс для добавления новых модулей анализа и реагирования, а так же ведения журналов регистрации. Обмен сообщениями между компонентами системы происходит по стандарту IDMEF (Intrusion Detection Message Exchange Format), оптимизированному для высокоскоростной обработки.

Snort имеет открытый интерфейс для добавления новых модулей анализа; имеется модуль, реализующий протокол SNMPv2.

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

Встроенную возможность реагирования на атаку имеют все рассматриваемые системы. В системе NetSTAT это реализовано лишь в тестовом варианте. Система Prelude имеет набор агентов ответной реакции, которые могут блокировать атакующего при помощи межсетевого экрана. Ведутся работы по агентам, способным либо полностью изолировать атакующего, либо уменьшить пропускную способность его канала. Система Snort имеет встроенную ограниченную возможность реагирования на атаку путем отправки TCP-пакетов, разрывающих соединение (с установленным флагом RST), а также ICMP-пакетов, сообщающих атакующему узлу о недоступности узла, сети или сервиса. Аналогичная функциональность по реагированию доступна в системе Bro. Система OSSEC позволяет использовать произвольные команды для реагирования – для этого необходимо статически задать соответствие между событием, командой и параметрами её вызова.

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

СОА Prelude имеет дополнительные механизмы, обеспечивающие безопасность ее компонентов. В системе используется специализированная библиотека, которая делает безопасными такие библиотечные функции алгоритмического языка С как printf, strcpy, которые не проверяют размер передаваемых им данных. Библиотека предотвращает классические ошибки выхода за границы массивов и переполнения буферов.

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

Из рассмотренных систем вопрос безопасности наиболее проработан в системе Prelude.

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

Классы атак Уровень наблюдения за системой Метод Открытость На основании проведённого сравнительного анализа можно сделать вывод, что ни одна из рассмотренных выше открытых СОА, не соответствет в полной мере критериям «идеальной» СОА, изложенным в разделе 2.1. Основным недостатком является отсутствие адаптивности к неизвестным атакам и невозможность анализировать поведение объектов РИС на всех уровнях одновременно.

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

Система Bro [80,81] является разработкой Национальной лаборатории Лоуренса Беркли Калифорнийского университета, Беркли, США. Система является открытой и распространяется по собственной открытой лицензии в исходных текстах и бинарных пакетах для ряда UNIX-платформ. Система предназначена для пассивного мониторинга сетевого трафика и поиска подозрительной активности. Обнаружение атак выполняется на нескольких уровнях: входящий сетевой трафик разбирается для выявления семантики уровня приложений, после чего полученная трасса событий прикладного уровня анализируется набором событийно-ориентированных анализаторов и сравнивается с шаблонами атак.

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

Назначением системы является высокоскоростное обнаружение атак на сетевых каналах с высокой пропускной способностью (1Гбит).

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

Интерпретатор сценариев выполняет анализаторы событий, написанные на языке Bro.

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

В состав системы входит утилита snort2bro, которая транслирует сигнатуры Snort в сценарии Bro. Кроме трансляции, данная утилита выполняет оптимизацию сигнатур под анализатор Bro.

OSSEC HIDS является открытой узловой системой обнаружения атак [79]. В её задачи входит: анализ журналов, контроль целостности, обнаружение закладок, Система может быть установлена как в одиночной конфигурации на одном узле, так и в распределенной конфигурации на нескольких узлах – в таком случае одна из инсталляций становится сервером, а остальные – агентами системы. При этом управление агентами выполняется централизованно с сервера.

журналов использует файлы журналов типовых приложений для UNIX-систем, системные журналы Windows и некоторых приложений (IIS).

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

Модуль контроля целостности выполняет проверку наиболее критичных системных файлов (исполняемые, конфигурационные, файлы библиотек и т.п.). При первом запуске данный модуль создаёт базу данных критичных файлов, и сохраняет в нее, помимо самих файлов, информацию целостности: параметры доступа, размер, информацию о владельцах, контрольные суммы MD5 и SHA1. Затем модуль периодически производит полное сканирование системы и сравнивает системные файлы с копиями в базе данных. В том случае, если какой-либо файл изменился, генерируется сообщение администратору.

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

2.4.3. STAT Система STAT (State Transition Analysis Tool - средство анализа систем переходов) является результатом проекта Калифорнийского Университета, СантаБарбара, США [34,51,103,104]. Первые публикации по системе датированы 1992 г., последние – 2003 г. Основой используемого системой метода является описание исходной защищаемой системы в виде набора состояний ее компонентов и последующий анализ переходов из состояния в состояние в результате активных внешних воздействий.

Состояния защищаемой системы определяются при настройке и конфигурации системы обнаружения атак. Для каждого состояния определяется характеристика защищенности. Определяются переходы – изменения состояния защищаемой системы.

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

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

Язык позволяет достраивать себя, добавляя специфичные для конкретной системы события. Для каждого нового события описывается его предикат. К примеру, для расширения языка с целью определения событий, характерных для веб-сервера Apache, необходимо определить события, описывающие появляющиеся в журналах данного приложения записи. То есть, событие будет иметь поля host, ident, authuser, request, status и прочие, определенные в Apache’s Common Log Format. После этого требуется описать предикаты интересующих событий. Например, предикат isCGIrequest() будет возвращать true, если имел место вызов CGI-сценария. Описания событий и предикатов группируются в Language Extension Module (модуль расширения языка) и в последствии их можно использовать в описании сценариев атак для STAT. Поток реальных событий сравнивается со сценариями ядром STAT. Все конструкции языка STATL и его расширения транслируются в язык C++.

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

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

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

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

Основные компоненты:

STAT sensor – модуль обнаружения атак на узле на основе ядра STAT.

STAT proxy – модуль, связывающий сенсоры с центральным модулем MetaSTAT.

MetaSTAT – модуль сбора информации об атаках, уведомления администратора, хранения информации об атака.

Языком реализации системы NetSTAT является язык C++. Она работает под управлением ОС Linux и Solaris.

2.4.4. Prelude Система Prelude является системой с открытыми исходными текстами. Начало разработки – 1998 год. Она изначально задумывалась как гибридная СОА, которая могла бы помочь администратору сети отслеживать активность как на уровне сети, так и на уровне отдельных узлов. Система распределенная и состоит из следующих компонентов [103]:

на основе сигнатурного анализа. Сенсоры генерируют сообщения об обнаружении атак и отправляют их модулям управления. Система Prelude использует в качестве сетевого сенсора систему Snort;

узловые сенсоры – различные сенсоры уровня системы, анализирующие журналы регистрации ОС, приложений. Сенсоры генерируют сообщения об обнаружении аномалий и отправляют их модулям управления. Существующий набор сенсоров позволяет анализировать данные журналов регистрации таких систем и приложений, как межсетевй экран IPFW, входящий в состав ОС FreeBSD, NetFilter ОС Linux 2.4.x, маршрутизаторы Cisco и Zyxel, GRSecurity, и типовые сервисы OC UNIX.;

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

- модули журнализации – отвечают за регистрацию сообщений в журналах регистрации или базах данных. В настоящее время реализованы модули для MySQL, PostgreSQL;

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

агенты реагирования – реализуют сгенерированную менеджером реакцию на атаку;

интерфейс – основан на протоколе http. Предоставляет возможность получать статистику и управлять системой при помощи web-браузера.

Рис. 2. Логическая структура СОА Prelude.

У системы Prelude есть несколько особенностей, которые отличают ее от других современных открытых СОА. Система везде, где возможно, построена на использовании открытых стандартов. Так, для обмена сообщениями используется формат IDMEF (Intrusion Detection Message Exchange Format), оптимизированный для высокоскоростной обработки. Это позволяет в дальнейшем интегрировать компоненты в системы сторонних производителей и наоборот.

При разработке системы особое внимание было уделено вопросам безопасности.

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

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

2.4.5. Snort Система Snort является классическим продуктом с открытыми исходными текстами [89]. Разработку данной системы начал один автор, но благодаря открытой архитектуре и открытым исходным текстам, система стала быстро развиваться за счет других разработчиков, и, кроме того, интегрироваться с прочими программными продуктами, такими как базы данных для ведения журналов обнаружения, анализаторы журналов регистрации.

Snort обнаруживает атаки исключительно на основе анализа сетевого трафика.

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

Пример правила системы Snort:

alert tcp any any -> 10.1.1.0/24 80 (content: “/cgi-bin/phf”; msg: “PHF probe!”;) Это правило определяет, что любой сегмент TCP, направленный на порт 80 на любой адрес в сети 10.1.1.0/24, и при этом имеющий в поле данных строку “/cgibin/phf”, является подозрительным и необходимо послать уведомление администратору.

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

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

Архитектура системы Snort целиком разрабатывалась из соображений эффективности и скорости работы. Поэтому она предельно проста и состоит из следующих подсистем: декодер пакетов, ядро обнаружения и подсистемы оповещения и реагирования. Декодер пакетов реализует набор процедур для последовательной декомпозиции пакетов в соответствии с уровнями сетевого стека, то есть принятый кадр последовательно преобразуется в пакет, сегмент и блок данных с применением специфичных для данного уровня сигнатур атак. В настоящее время поддерживаются протоколы канального уровня Ethernet, SLIP, PPP, ожидается поддержка ATM. Ядро выстраивает имеющиеся правила в т.н. цепи правил – двумерные последовательности правил, где правила с общей частью условий применения объединяются в одно звено цепи, а несовпадающие компоненты правил строятся цепью во втором измерении от полученного звена. Это сделано для ускорения анализа сетевого трафика. Каждый пакет проходит по цепочке от корня, первое подходящее правило выполняет свой блок действий и проход завершается. На рис. 3. представлен небольшой пример такой цепи правил.

Рис. 3. Цепи правил системы Snort.

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

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

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

Система Snort реализована под множество UNIX платформ.

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

Кроме того, до сих пор использование методов обнаружения аномалий ограничено исследовательскими и узкоспециализированными системами. Например, делаются попытки использовать методы классификации данных, такие как кластерный анализ и нейронные/иммунные сети. Главный недостаток этих методов, в сравнении с экспертными методами и анализом систем переходов, в принципиальной невозможности верификации результата (выхода) – классы поведения строятся на основе обучения и не представляется возможным аналитически рассчитать уровень ошибок I и II рода для таких методов, а также проанализировать корректность принимаемых решений.

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

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

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

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

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

- 27 МОДЕЛЬ ОБНАРУЖЕНИЯ АТАК

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

Сегодня в области обнаружения и предотвращения компьютерных атак нет формальной модели, которая позволила бы оценивать эффективность и корректность предлагаемых решений. Большинство известных систем используют неформальные модели и методы [6,7,8,64,69]; например, сигнатурные методы, для которых нельзя получить теоретические оценки эффективности, показать корректность, завершаемость [6] и т.д. Модель, предлагаемая в данной работе, призвана устранить этот пробел. В основу этой модели легли идеи работ [34,93,104,110].

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

Работы Энкмана, Вигны и Кеммерера [34,104] посвящены языку STATL и модели компьютерных атак, основанной на нем. Модель атак базируется на состояниях и переходах. Состояния соответствуют состояниям защищаемой системы.

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

Работа Городецкого и Котенко [39] посвящена построению формальной модели атак. Авторы рассматривают атаку как стохастический процесс планирования действий, результат которого зависит от успешности предыдущих и ряда случайных факторов. Модель интересна тем, что атака моделируется с точки зрения атакующего и оперирует формализованным понятием цели атаки.

Описанная в данной работе модель создавалась как модель предметной области:

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

3.1. Модель функционирования РИС «несанкционированное воздействие» мы будем понимать в соответствии с ГОСТ Р 50922-96 [109], а именно:

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

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

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

Представим распределённую информационную систему (далее РИС) как множество взаимодействующих экземпляров типов объектов (далее просто объектов).

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

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

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

Типы объектов РИС могут быть программными или аппаратными.

К аппаратным типам объектов относятся:

o локальные аппаратные средства узлов ЛВС;

o физические каналы связи между узлами ЛВС;

o каналообразующая аппаратура ЛВС.

К программным типам объектов относятся:

o узловые объекты – программные объекты на узлах РИС, взаимодействующие в рамках одного узла;

o сетевые объекты – программные объекты на узлах РИС и внешние программные объекты, взаимодействующие с узлами РИС;

Каждый объект в системе характеризуется состоянием. Состояние объекта – это множество объектов РИС, имеющих доступ к нему, а также характеристика его текущей загруженности. Далее мы строго определим понятие состояния объекта.

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

Множество Act – множество типов активных объектов РИС;

Множество C – множество экземпляров активных объектов РИС;

Множество Psv – множество типов пассивных объектов РИС;

Множество P – множество экземпляров пассивных объектов РИС;

Как уже было сказано, над объектом r каждого типа определены операции доступа. Например, по чтению, записи, запуску на выполнение и т.п. Эти операции, как было отмечено выше, состоят из последовательности элементарных операций, так называемых примитивов. Будем предполагать, что каждая операция доступа состоит из двух примитивов: открыть и закрыть. Например, в случае доступа по чтению – открыть такой-то объект на чтение, закрыть такой-то объект на чтение. Выполнить примитив «закрыть» можно только в том случае, если был ранее выполнен примитив «открыть».

операции a», а a r - «закрыть доступ по операции a».

Обозначим r экземпляр объекта типа type. Тогда name – идентификатор (имя экземпляра объекта), - загрузка экземпляра объекта, А – набор операций доступа, определенных для данного типа объектов, D – порог загрузки объектов данного типа.

Определим как функцию на со значениями в [0,1]; D как функцию на со значениями в [0,1]. Под значением (r ) будем понимать текущую загрузку объекта Будем считать, что если (r ) > D(r ), то поведение объекта r не определено, а его состояние – опасное. Понятия поведения объекта и его состояния будут уточнены ниже.

Будем предполагать, что для каждой пары экземпляров объектов (ri, r j ), где ri C, r j, и операции доступа a Ar j определено понятие права объекта ri иметь доступ к объекту r j по операции а – предикат, который будем обозначать - отношение, которое мы будем называть «иметь право доступа». Отметим, что это отношение не симметрично по r и не транзитивно. Тройку (a, ri, rj ) w(ri, rj ) будем обозначать wa (ri, r j ), т.к. это отношение на C.

С операциями доступа, кроме отношения «иметь право», связано ещё одно отношение – «иметь доступ». Это отношение возникает между экземплярами объектов ri C и r j, когда экземпляр объекта ri выполнил операцию доступа a r j над Как мы уже упоминали, доступ может быть не только непосредственный, но и транзитивный. Определим транзитивный доступ по операции a через транзитивное замыкание отношения a. Пусть существует множество экземпляров объектов C = {rk },1 < k < N таких, что r1 a r2,..., rN 1 a rN. Транзитивным замыканием экземплярами объектов ri C и r j, когда ri выполнил операцию a r1, rN выполнил операцию a r j и ri косвенно выполнил операцию a r j. Множество C будем называть цепочкой транзитивного доступа от экземпляра объекта ri к экземпляру объекта r j.

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

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

Определим подмножество множества активных объектов РИС, для которых отношение «иметь доступ» по какой-либо операции всегда транзитивно:

Для рассмотренного выше примера такими объектами будут являться экземпляр терминального сервера sshd и программная оболочка bash. Любая цепочка транзитивного доступа по некоторой операции содержит хотя бы один экземпляр элемента множества C.

Теперь введем понятие состояния экземпляра объекта РИС: Состоянием экземпляра пассивного объекта rp будем называть тройку:

имеющих непосредственный доступ к rp, I ( (rp )) = [0,1,2] - индикатор загрузки экземпляра объекта rp. I принимает значение 0, если загрузка меньше пороговой, 1 – если загрузка больше пороговой, но меньше емкости объекта и 2 – если загрузка равна емкости объекта.

Состояние экземпляра активного объекта rc:

объектов, осуществляющих непосредственный доступ к rc, Out (rc ) = {r | a Arc : rc a r} - множество экземпляров объектов, к которым rc осуществляет непосредственный доступ, I ( (rc )) - индикатор загрузки экземпляра объекта rc (аналогично экземпляру пассивного объекту).

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

Обозначим = {S r | r } множество всех возможных состояний экземпляров объектов РИС. Из вышесказанного следует, что данное множество конечно.

3.1.2. Модель поведения объекта и модель атаки Теперь от определения отношений между экземплярами объектов РИС перейдём к описанию функционирования РИС. Назовём траекторией tr экземпляра объекта r некоторую непустую конечную последовательность состояний экземпляра объекта r, замкнутую слева, т.е. если t r = S1, S 2,..., S k - траектория, то Траекторию экземпляра активного объекта r можно представить как последовательность отрезков траекторий взаимодействующих с ним экземпляров объектов и собственных действий экземпляра объекта над экземплярами других объектов РИС, так как любая операция открытия или закрытия доступа вызывает изменение состояния взаимодействующих экземпляров объектов. Траекторию экземпляра пассивного объекта r можно представить как последовательность отрезков траекторий взаимодействующих с ним экземпляров активных объектов.

Определим поведение экземпляра объекта как множество всех возможных его траекторий:

экземпляров объекта данного типа:

Назовём состоянием РИС совокупность множеств экземпляров объектов РИС и их состояний:

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

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

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

, но не одновременно.

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

Эти условия означают, что если некоторая траектория РИС 1, 2,..., N полна, то она содержит все траектории экземпляров объектов, входящих в 1 2... N.

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

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

Теперь определим понятия опасного и безопасного состояния экземпляра объекта РИС. Будем говорить, что РИС находится в информационно безопасном состоянии, если все экземпляры объектов РИС находятся в информационно безопасном состоянии. В соответствии со стандартом [8], информационно безопасное состояние РИС – это множество таких состояний РИС, в которых отсутствуют следующие нарушения: нарушения конфиденциальности экземпляров объектов РИС, нарушения целостности экземпляров объектов РИС, нарушения доступности экземпляров объектов РИС [2,5]. В терминах данной модели информационно безопасное состояние РИС – это множество состояний РИС, в которых все экземпляры объектов, имеющие доступ к другим экземплярам объектов РИС, имеют права доступа, и загрузка каждого объекта меньше его ёмкости.

Состояние экземпляра объекта будем считать безопасным, если:

Обозначим Nr множество безопасных состояний экземпляра объекта r.

Обозначим множество опасных состояний экземпляра объекта r.

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

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

Следует отметить, что любому состоянию РИС можно сопоставить двудольный граф доступа = (V A + V P | A), где:

VA – множество вершин, соответствующих экземплярам активных объектов VP – множество вершин, соответствующих экземплярам пассивных объектов A – множество упорядоченных пар вершин:

На рис. 4. показан граф доступа на множестве экземпляров объектов РИС в некотором состоянии РИС.

Если в состоянии S объект r и объект r принадлежат некоторой цепочке транзитивного доступа по некоторой операции a, то в графе доступа существует путь от объекта r к объекту r (в силу определения графа доступа).

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

Таким образом, атака – это траектория некоторого экземпляра объекта или набор участков траекторий некоторой группы экземпляров объектов, выводящая РИС из информационно безопасного состояния. Атака переводит систему из безопасного состояния в опасное, либо оставляет систему в ранее достигнутом опасном состоянии.

Нормальное поведение объекта r определим как множество траекторий всех экземпляров объектов данного типа type(r), которые не выводят РИС из состояния информационной безопасности [1]. Будем считать, что ни одна траектория, входящая в нормальное поведение объекта, не может содержать опасных состояний, т.е. состояний, в которых ресурс перегружен или существует цепочка транзитивного доступа, нарушающая отношение прав доступа.

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

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

1. Обнаружение злоупотреблений.

Пусть задано:

• множество примеров атак = { X }, X = x1, x 2,..., x N ;

Требуется найти множество экземпляров объектов O* = {o} C и соответствующее им множество траекторий T * = {To | o O*}, которые реализуют атаки из множества примеров атак.

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

Пусть задано:

• множество описаний нормального поведения объектов РИС, определенное в Требуется найти множество экземпляров объектов O* = {o} C и соответствующее ему множество траекторий T * = {To | o O*}, которые не принадлежат описанию нормального поведения для соответствующих типов объектов РИС.

3.3. Распознавание нормальных и аномальных траекторий Назовем классом атак множество атак, результатом которых является одно и то же опасное состояние любого экземпляра объекта r определенного типа. Отдельную атаку класса будем называть экземпляром класса. Ясно, что экземпляр атаки соответствует атаке на экземпляр объекта соответствующего типа. Таким образом, для каждого типа объектов РИС определено некоторое множество классов атак. Финальное обозначим K ri.

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

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

Сопоставим каждому классу атак I конечный автомат первого рода таким образом, чтобы он принимал любую последовательность состояний экземпляров объектов из последовательности 1, 2,..., M 1, j,1 j M, которая оканчивается состоянием K ri и содержит все условно опасные состояния, которые предшествуют K ri. После построения автомата проводится процедура его минимизации.

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

Формально автомат для каждого i-го класса атак представляет собой пятерку следующего вида:

S – множество состояний;

- входной алфавит (множество действий);

T – функция переходов;

s0 – начальное состояние;

Q – множество заключительных состояний.

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

1. Определить множество реализаций атак одного класса (заданное множество 2. Выделить последовательность состояний атакующего объекта и атакуемого объекта, которые входят в любую траекторию атаки из заданного множества 3. Каждому состоянию полученной последовательности сопоставить состояние автомата первого рода. Множеству действий, которые ведут в некоторое состояние, сопоставить переходы в это состояние;

4. Заменить конечное (опасное) состояние на терминальное состояние, оставив все Отметим, что автоматы первого рода позволяют распознавать принадлежность наблюдаемой траектории к некоторому классу атак. В то же время, можно использовать аналогичный механизм для распознавания принадлежности траектории к классу нормального поведения некоторого объекта. Соответственно, в силу конечности множества возможных действий в каждом состоянии объекта, автомат распознавания нормального поведения можно дополнить множеством конечных состояний таким образом, чтобы он принимал все возможные отклонения от нормальной траектории объекта.

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

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

Общее число конечных автоматов для распознавания N классов атак на M экземпляров объектов равно N*M. Вычислительная сложность распознавания атак конечным автоматом не зависит от числа состояний и определяется лишь от длиной входа. Максимальную длину входа можно оценить как максимальное число одновременно наблюдаемых траекторий (M+K)*l, где K – число типов объектов, т.е.

максимальная сложность распознавания будет равна N*M*(M+K)*l. Следовательно, сложность обнаружения N классов атак на M объектов для K объектов с помощью конечных автоматов равна O(N*M2*K*l), где l – максимальная длина наблюдаемой траектории. Таким образом, сложность распознавания атак конечными автоматами первого и второго рода имеет линейную зависимость от длины наблюдаемой траектории, т.е. от потока анализируемых событий. Следует отметить, что сложность распознающего автомата по памяти для автоматов второго рода будет существенно выше, чем для автоматов первого рода, так как зависит от общего числа возможных состояний объекта соответствующего типа, а не только от тех состояний, которые использует реализация атаки. При использовании подхода на основе обнаружения аномалий существенно возрастают требования по памяти для распознавания атак.

3.4. Язык описания автоматов первого и второго рода Данный раздел посвящен некоторым аспектам реализации предложенной модели и метода обнаружения атак. Важной особенностью поведения сетевых объектов РИС является способ обслуживания запросов к сервисам по модели взаимодействия клиент-сервер. Для этого при появлении нового «клиентского» объекта порождается новый логический экземпляр «серверного» объекта. В одних РИС это реализуется порождением нового экземпляра объекта на каждый объект, в других – созданием и поддержанием независимых контекстов обслуживания нескольких объектов в одном объекте.



Pages:     || 2 |


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

«ИЗ ФОНДОВ РОССИЙСКОЙ ГОСУДАРСТВЕННОЙ БИБЛИОТЕКИ Букаева, Ирина Николаевна Обстановка совершения преступления, получение и использование информации о ней при расследовании уголовных дел Москва Российская государственная библиотека diss.rsl.ru 2006 Букаева, Ирина Николаевна Обстановка совершения преступления, получение и использование информации о ней при расследовании уголовных дел : [Электронный ресурс] : Дис. . канд. юрид. наук  : 12.00.09. ­ Тюмень: РГБ, 2006 (Из фондов Российской...»

«УДК-616.31.000.93(920) ЧЕРКАСОВ ЮРИЙ АЛЕКСЕЕВИЧ АЛЕКСАНДР ИВАНОВИЧ ЕВДОКИМОВ ОСНОВОПОЛОЖНИК ОТЕЧЕСТВЕННОЙ СТОМАТОЛОГИИ 14.00.21 -Стоматология 07.00.10 - История наук и и техники' ДИССЕРТАЦИЯ На соискание ученой степени кандидата медицинских наук Научные руководители: Д.М.Н., профессор B.C. Агапов К.М.Н., профессор Г.Н. Троянский МОСКВА - 2003г. ОГЛАВЛЕНИЕ Стр. ВВЕДЕНИЕ ГЛАВА 1....»

«ГАЛИМОВА ЛЕЙСАН ХАЙДАРОВНА Идиоматическое словообразование татарского и английского языков в свете языковой картины мира 10.02.02 – Языки народов Российской Федерации (татарский язык) 10.02.20 – Сравнительно-историческое, типологическое и сопоставительное языкознание ДИССЕРТАЦИЯ на соискание ученой степени кандидата филологических...»

«УДК 616.216.4 – 002: 616.216.4 ВОРОБЬЕВА АНАСТАСИЯ АЛЕКСЕЕВНА КЛИНИЧЕСКИЕ, АНАТОМИЧЕСКИЕ, БАКТЕРИОЛОГИЧЕСКИЕ И ГЕНЕТИЧЕСКИЕ ОСОБЕННОСТИ ХРОНИЧЕСКОГО БАКТЕРИАЛЬНОГО И ПОЛИПОЗНОГО ЭТМОИДИТА Диссертация на соискание ученой степени кандидата медицинских наук по специальности 14.01.03 – болезни...»

«Advanced version of 20.08.2012 ЛУКЬЯНОВА РЕНАТА ЮРЬЕВНА Исследование электродинамических процессов в высокоширотных областях верхней атмосферы Земли Специальность 01.03.03 – физика Солнца Диссертация на соискание ученой степени доктора физико-математических наук Санкт-Петербург – 2012 ОГЛАВЛЕНИЕ 7 Введение Глава 1. Роль электродинамических процессов в верхней атмосфере 1.1 Основные процессы, определяющие пространственную и...»

«Бачурин Александр Борисович ГИДРОАВТОМАТИКА РЕГУЛИРУЕМОЙ ДВИГАТЕЛЬНОЙ УСТАНОВКИ (РАЗРАБОТКА И ИССЛЕДОВАНИЕ) 05.04.13 – Гидравлические машины и гидропневмоагрегаты ДИССЕРТАЦИЯ на соискание ученой степени кандидата технических наук научный руководитель: доктор технических наук, профессор В.А. Целищев Уфа 2014 ОГЛАВЛЕНИЕ ВВЕДЕНИЕ.. 1 АНАЛИЗ ЭЛЕКТРОГИДРАВЛИЧЕСКИХ СИСТЕМ УПРАВЛЕНИЯ РДУ 1.1 Классификация задач и методов...»

«Сайдумов Джамбулат Хамидович СУД, ПРАВО И ПРАВОСУДИЕ У ЧЕЧЕНЦЕВ И ИНГУШЕЙ (ХVIII–ХХ вв.) Диссертация на соискание ученой степени доктора юридических наук Специальность – 12.00.01-теория и история права и государства; история учений о праве и государстве Грозный – 2014 1 СОДЕРЖАНИЕ: ВВЕДЕНИЕ ГЛАВА I. ИСТОРИЧЕСКИЙ ГЕНЕЗИС И ЭВОЛЮЦИЯ ТРАДИЦИЙ ПРАВА И ПРАВОСУДИЯ У ЧЕЧЕНЦЕВ И ИНГУШЕЙ §1....»

«Бондаренко Валентина Евгеньевна ОСНОВАНИЕ УГОЛОВНО-ПРАВОВОЙ ОХРАНЫ И ЕЕ ПРЕКРАЩЕНИЕ 12.00.08 - уголовное право и криминология; уголовно-исполнительное право Диссертация на соискание ученой степени кандидата юридических наук Научный руководитель : доктор юридических наук, профессор, заслуженный деятель науки РФ Разгильдиев...»

«Кайгородова Ирина Михайловна УДК 635.656 : 631.52 СОЗДАНИЕ ИСХОДНОГО МАТЕРИАЛА ГОРОХА ОВОЩНОГО (PISUM SATIVUM L.) РАЗНЫХ ГРУПП СПЕЛОСТИ ДЛЯ СЕЛЕКЦИИ НА ПРИГОДНОСТЬ К МЕХАНИЗИРОВАННОЙ УБОРКЕ Специальность: 06.01.05 – селекция и семеноводство сельскохозяйственных растений 06.01.09 – овощеводство ДИССЕРТАЦИЯ на соискание ученой степени кандидата сельскохозяйственных наук Научные...»

«Лютов Александр Александрович Государственная политика США в области занятости и безработицы на рубеже XX – XXI веков. Специальность 07.00.03. Всеобщая история Диссертация на соискание ученой степени кандидата исторических наук Научный руководитель доктор исторических наук, профессор Попов А.А. Москва – Оглавление Введение Глава 1. Американская модель государственного вмешательства в сферу труда и ее эволюция (1920 – 1990-е гг.)...»

«БОЧАРНИКОВА НАТАЛЬЯ АНАТОЛЬЕВНА АДМИНИСТРАТИВНАЯ ОШИБКА: ПРАВОВОЕ СОДЕРЖАНИЕ, ЗНАЧЕНИЕ И ОСНОВНЫЕ НАПРАВЛЕНИЯ ПРЕОДОЛЕНИЯ Специальность: 12.00.14 – административное право, финансовое право, информационное право ДИССЕРТАЦИЯ на соискание ученой степени кандидата юридических наук Научный руководитель : доктор юридических наук, профессор Старилов Юрий Николаевич Воронеж – ОГЛАВЛЕНИЕ Введение Глава 1. Административная ошибка в управленческой...»

«КОДЗОКОВ Султан Амурбиевич РАЗВИТИЕ КОМПЕТЕНЦИИ ЦЕЛЕПОЛАГАНИЯ У КУРСАНТОВ ВВУЗОВ ВНУТРЕННИИХ ВОЙСК МВД РОССИИ В ПРОЦЕССЕ САМОСТОЯТЕЛЬНОЙ РАБОТЫ 13.00.01 – Общая педагогика, история педагогики и образования Диссертация на соискание ученой степени кандидата...»

«из ФОНДОВ РОССИЙСКОЙ ГОСУДАРСТВЕННОЙ БИБЛИОТЕКИ Конев, Федор Федорович 1. Федерализм: теоретико-правовые аспекты и опыт России 1.1. Российская государственная Библиотека diss.rsl.ru 2003 Конев, Федор Федорович Федерализм: теоретико-правовые аспекты и опыт России [Электронный ресурс]: Дис.. канд. юрид. наук : 12.00.01.-М.: РГБ, 2003 (Из фондов Российской Государственной Библиотеки) Государство и право. Юридические науки — Государственное (конституционное) право — Российская Федерация —...»

«БОНДАРЬ ТАМАРА ГЕННАДЬЕВНА СОВЕРШЕНСТВОВАНИЕ ФОРМ РЕАЛИЗАЦИИ ИНТЕГРАЦИОННЫХ ОБНОВЛЕНИЙ В ТУРИСТСКОРЕКРЕАЦИОННОЙ СФЕРЕ Специальность 08.00.05 – Экономика и управление народным хозяйством: управление инновациями, рекреация и туризм ДИССЕРТАЦИЯ на соискание ученой степени кандидата экономических наук Научный руководитель : доктор...»

«УДК 620.179.16 Ткаченко Андрей Акимович Развитие методов, разработка оборудования и технологии ультразвукового контроля электросварных труб в процессе производства Специальность 05.11.13 - Приборы и методы контроля природной среды, веществ, материалов и изделий Диссертация на соискание учёной степени доктора технических наук Научный консультант : доктор технических наук, профессор Бобров В.Т. Москва - 2014 ОГЛАВЛЕНИЕ Список сокращений и основных обозначений Введение Глава 1....»

«ГРИГОРИЧЕВ Константин Вадимович ПРИГОРОДНЫЕ СООБЩЕСТВА КАК СОЦИАЛЬНЫЙ ФЕНОМЕН: ФОРМИРОВАНИЕ СОЦИАЛЬНОГО ПРОСТРАНСТВА ПРИГОРОДА 22.00.04 – социальная структура, социальные институты и процессы Диссертация на соискание ученой степени доктора социологических наук Научный консультант : д.истор.н., проф. В.И. Дятлов Иркутск – 2014 2...»

«УДК 616-91; 614 (075.8) Мальков Павел Георгиевич ПРИЖИЗНЕННАЯ МОРФОЛОГИЧЕСКАЯ ДИАГНОСТИКА И ЭФФЕКТИВНОСТЬ ИСПОЛЬЗОВАНИЯ РЕСУРСНОЙ БАЗЫ ПРАКТИЧЕСКОЙ ПАТОЛОГИЧЕСКОЙ АНАТОМИИ диссертация на соискание ученой степени доктора медицинских наук 14.03.02 – Патологическая анатомия 14.02.03 – Общественное здоровье и здравоохранение Научные консультанты: Франк Г.А., доктор медицинских наук,...»

«АУАНАСОВА КАМИЛЛА МУСИРОВНА Перспективы и развитие идеи евразийства в современной истории Казахстана Специальность 07.00.02 – Отечественная история (История Республики Казахстан) Диссертация на соискание ученой степени доктора исторических наук Научный консультант : доктор исторических наук Кенжебаев Г.К. Республика Казахстан Алматы, 2010 СОДЕРЖАНИЕ Введение.. 1 Евразийская традиция: истоки,...»

«Пупышева Анна Владимировна ПЕДАГОГИЧЕСКАЯ ПРОФИЛАКТИКА ПСИХОЭМОЦИОНАЛЬНЫХ РАССТРОЙСТВ МЛАДШИХ ШКОЛЬНИКОВ (НА МАТЕРИАЛЕ УРОКОВ МУЗЫКИ В ОБЩЕОБРАЗОВАТЕЛЬНОЙ ШКОЛЕ) 13.00.02 – Теория и методика обучения и воспитания (музыка) Диссертация на соискание ученой степени кандидата педагогических наук Научный руководитель : доктор...»

«Дойкин Алексей Алексеевич РАСЧЕТНО-ЭКСПЕРИМЕНТАЛЬНЫЙ МЕТОД ПРОФИЛИРОВАНИЯ ОБРАЗУЮЩЕЙ ПОРШНЯ ДЛЯ ПОВЫШЕНИЯ РЕСУРСА ТРИБОСОПРЯЖЕНИЯ ПОРШЕНЬ – ЦИЛИНДР ДВС 05.02.02 – Машиноведение, системы приводов и детали машин 05.04.02 – Тепловые двигатели Диссертация на соискание ученой степени кандидата технических наук Научный руководитель : доктор технических наук, профессор Рождественский Юрий Владимирович Научный консультант : доктор...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

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