МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
«Новосибирский государственный университет» (НГУ)
____________________________________________________________________________________________________________________
Кафедра общей информатики
Дмитрий Валерьевич САВЕНКО
АВТОМАТИЧЕСКАЯ ГЕНЕРАЦИЯ АНАЛИЗАТОРОВ ТРАФИКА ЛОКАЛЬНЫХ СЕТЕЙ
МАГИСТЕРСКАЯ ДИССЕРТАЦИЯ
по направлению высшего профессионального образования
230100.68 Информатика и вычислительная техника
факультет информационных технологий
Тема диссертации утверждена распоряжением по НГУ №___ от «___»___________200__г.
Руководители
Иртегов Дмитрий Валентинович,
доцент, НГУ
Романенко Алексей Анатольевич,
канд. техн. наук, НГУ
Новосибирск, 2009г.
Содержание.
ВВЕДЕНИЕ................................................................................................................................... 3
1 Постановка задачи и новизна................................................................................................... 5
2 Выбор платформы...................................................................................................................... 7
3 Технические требования........................................................................................................... 8
4 Алгоритм построения правил................................................................................................. 10
5 Работа с базой данных............................................................................................................. 13
6 Сбор статистики....................................................................................................................... 14
7 Архитектура генератора правил............................................................................................. 15
8 Правило портов и протоколов................................................................................................ 20
9 Правило масок.......................................................................................................................... 22
10 Структура и использование генерируемых правил........................................................... 25
11 Оповещение об аномальной активности............................................................................. 29
12 Тестовые испытания и их результаты.................................................................................. 29
ЗАКЛЮЧЕНИЕ........................................................................................................................... 31
Литература................................................................................................................................... 33
Публикации автора..................................................................................................................... 35
Приложение А. Некоторые интерфейсы системы. ................................................................ 36
Приложение Б. Файл описания диапазонов адресов. ............................................................ 39
Краткое описание.
В работе реализована идея автоматической генерации анализатора трафика локальной сети на основе ранее собранной статистики трафика в этой сети. Такой анализатор способен выделять из потока пакетов в сети аномальный трафик и извещать о нем администратора (либо сразу блокировать). Подход ценен тем, что дает возможность обнаружения атак и вирусов ранее неизвестных типов, а также неисправностей и нецелевого использования ресурсов.
Актуальность и новизна.
Контроль над трафиком в локальной сети обычно осуществляется с помощью установки и настройки межсетевых экранов на нескольких ее ключевых узлах. Это позволяет разграничить доступ к основным ресурсам и тем самым обеспечить некоторый уровень безопасности для сети в целом. Такое решение является неотъемлемой частью комплексной защиты, но оно никак не может быть признано достаточным.
Более совершенным методом является использование NIDS, Network Intrusion Detection Systems [8, 9]. Существует несколько типов таких систем, от бесплатного ПО с открытым исходным кодом до дорогих программно-аппаратных комплексов, разрабатываемых обычно крупными производителями сетевого оборудования (например, Cisco). В таких системах для идентификации вредоносного трафика используются часто обновляемые базы данных сигнатур уже известных сетевых атак.
Отличием нашего подхода от описанных выше является то, что создаются индивидуальные для каждой сети анализаторы трафика, которые выявляют подозрительные пакеты с учетом особенностей конкретных локальных сетей. Это позволяет избавиться от большого количества ложных срабатываний (что является одной из серьезных проблем при разработке NIDS-систем), а также в ряде случаев позволяет выявить атаки и вредоносное ПО неизвестного ранее типа. Во многих NIDS-системах имеются модули, призванные решать задачу поиска вредоносного трафика неизвестных типов, но они основаны на эвристических гипотезах общего характера, и результаты их работы не могут считаться вполне достоверными. Также наш подход дает возможность выявлять не только вредоносный трафик, но и трафик, сам по себе являющийся безопасным, однако свидетельствующий о проблемах в локальной сети, таких как неисправности оборудования или нецелевое использование ресурсов пользователями.
Первым этапом работы программы является сбор информации о нормальной активности в сети. Сборщик создает базу данных с описанием типов устанавливаемых за время его работы соединений. В дальнейшем нормальным считается соединение, принадлежащее какому-либо из этих типов, а аномальным — соединение, которое нельзя отнести ни к одному из них. Вторым этапом по базе данных нормальных соединений строится анализатор трафика в виде набора логических правил, которые точно отделяют нормальный трафик от аномального. Третьим этапом правила переводится в формат iptables ([7], утилита настройки межсетевых экранов, используемая повсеместно на компьютерах, работающих под управлением Linux/UNIX-систем). Затем они могут быть применены для мониторинга трафика и информирования администратора о появлении аномальных соединений. Чтобы быстро обрабатывать большие объемы трафика, набор правил строится таким образом, что чем чаще то или иное соединение появляется в сети, тем быстрее оно проходит через него. Набор правил является точным описанием трафика сети за период наблюдений (например, в отличие от [2], где для предсказания аномального трафика используется метод гибридной корреляции событий [1]).
Результаты.
Результатом работы над проектом является комплекс утилит для операционной системы Linux, написанных на языке С++ и решающих следующие задачи: сбор статистики установки соединений в локальной сети, ее анализ и построение набора правил, перевод его в формат iptables, а также анализ результатов работы правил.
Тестовые испытания проводились на одном из сегментов локальной сети НГУ. Статистика собиралась непрерывно на протяжении недели, затем сгенерированные по ней правила применялись для поиска аномальной активности. Получены практические результаты, доказывающие полезность проекта в реальных условиях, а именно удалось выявить несколько фактов нецелевого использования ресурсов (несанкционированные запуски клиентов пиринговых сетей на компьютерах лаборатории Parallels-НГУ).
При тестировании были замерены важные технические характеристики системы, определяющие ее применимость на практике, а именно: количество генерируемых правил и скорость принятия решений о соединениях этими правилами. После преодоления определенного порога происходит насыщение по количеству правил, и оно больше не зависит от размера статистики, а колеблется вокруг некоторого среднего значения. Замеры же скорости показали, что более 91% всего трафика сети фильтруется за 3 или 4 проверки, и лишь 0,7% трафика требует более 8 проверок. Это гарантирует высокую скорость работы генерируемых наборов правил. 3-4 проверки примерно соответствуют количеству, которое обычно получается при задании правил администраторами вручную.
Перспективы развития.
Система требует доработки в основном по двум направлениям: реализация более дружественного интерфейса и расширение круга поддерживаемых свойств сетевых соединений, в первую очередь — учет количества соединений и объема трафика в каждом соединении. Также существующая версия хотя и поддерживает протоколы TCP, UDP и ICMP, но для двух последних из них не поддерживает отслеживание соединений (connection tracking), если работает в качестве пассивного прослушивающего узла. Это приводит к потере информации, и при дальнейшей доработке данную проблему необходимо устранить. Еще одним перспективным вариантом развития мог бы быть учет времени суток. Очевидно, что в корпоративной сети характер и количество сетевых взаимодействий во время рабочего дня и во внерабочее время должны различаться.
1 Постановка задачи и новизна.
Существующие методы защиты локальных сетей обычно либо никак не используют особенности трафика конкретных сетей, либо полагаются на представления администраторов о том, каким должен быть трафик. Появилась идея создания средства защиты, которое будет базироваться на объективной картине трафика для каждой конкретной локальной сети. Постановка задачи была сформулирована следующим образом:
Разработать метод контроля над трафиком локальной сети при помощи выявления аномальных для данной сети соединений. Выяснить перспективы применимости такого подхода на практике.
Для классификации объектов и выявления закономерностей используются методы интеллектуального анализа данных (ИАД). Но для выявления аномальных событий стандартные методы ИАД не приспособлены, т.к. требуют наличия в обучающей выборке как положительных, так и отрицательных примеров. Существуют разработки, призванные избавиться от этой проблемы, например, метод гибридной корреляции событий (ГКС, [1]). Основная суть ГКС состоит в том, чтобы искать аномальные события как нарушения течения нормальных событий. Использованию ГКС применительно к трафику локальной сети посвящены работы [2, 3]. В данной работе применяется метод, эксплуатирующий ту же идею, но выявляющий аномальный трафик с помощью точного описания собранной статистики трафика локальной сети. Такой метод нельзя назвать методом ИАД, т.к. любой трафик, отсутствующий в статистике, признается аномальным. Прогнозов по поводу нормального трафика, которого нет в статистике — не делается. Чтобы компенсировать этот недостаток, нужно учесть особенности, вносящие элемент случайности в трафик локальной сети (например, номера портов отправителя в протоколе TCP), а также работать со статистиками, собранными в течение продолжительного времени. К тому же, необходимо реализовать анализатор таким образом, чтобы он мог обрабатывать большие объемы данных в реальном времени. К «плюсам» подхода относится точность распознавания (при достаточно большой статистике, ведь трафик локальных сетей статичен и редко меняется) и низкие требования к квалификации пользователя (нет необходимости настраивать различные параметры, присущие методам ИАД).