TEMPUS

Технологии обнаружения сетевых атак

Лаборатория Искусственных Нейронных Сетей (Брестский Государственный Технический Университет) предлагает нейросетевые системы для обнаружения и распознавания атак на компьютерные сети. Существующие подходы характеризуются рядом особенностей, которые затрудняют их применение в этой предметной области (невысокая скорость работы и низкая точность). Для устранения этих недостатков нами предложены и исследованы различные нейросетевые архитектуры, базирующиеся на интеграции двух типов сетей: рециркуляционные и многослойный персептрон.

1. ВВЕДЕНИЕ
Одной из форм глобализации мирового пространства является информационная глобализация, которая связана с повсеместным распространением сети Интернет. В результате значительно возросло количество атак и злоупотреблений в сфере высоких технологий. Поэтому вопросу безопасности компьютерных систем уделяется все больше и больше внимания.
Важным этапом обеспечения безопасности компьютерных систем является проектирование Систем Обнаружения Атак (Intrusion Detection System – IDS). В настоящее время разрабатывается большое количество различных технологий защиты компьютерных сетей, которые базируются на технологиях извлечения данных (data mining), на применении нейронных сетей (neural networks), статистическом анализе и т.п.
К недостаткам существующих моделей IDS, в первую очередь, можно отнести уязвимость к новым атакам, низкая точность и скорость работы. Современные системы обнаружения вторжений плохо приспособлены к работе в реальном режиме времени, в то время как возможность обрабатывать большой объем данных в реальном режиме времени – это определяющий фактор практического использования систем IDS.
Лаборатория Искусственных Нейронных Сетей представляет нейросетевые подходы для построения систем обнаружения атак, которые базируются на использовании рециркуляционных и многослойных нейронных сетей.

2. ПОСТАНОВКА ЗАДАЧИ ИССЛЕДОВАНИЯ
Объектом исследования в работе являются искусственные нейронные сети в задачах обнаружения компьютерных атак на основе анализа и обработки данных о параметрах сетевых соединений, использующих стек протоколов TCP/IP.
Цель работы – разработка и исследование нейросетевой системы обнаружения атак на компьютерные сети, а также разработка соответствующего программного обеспечения. На основе анализа моделей следует сделать выводы об их преимуществах и недостатках.
В соответствии с целью определен круг задач:
•      разработать нейросетевой подход для обнаружения атак на компьютерные сети;
•      разработать нейросетевые архитектуры для построения IDS;
•      разработать программное обеспечение и реализовать модели IDS на любом ЯВУ;
•      сгенерировать обучающую выборку;
•      исследовать эффективность предложенных нейросетевых моделей обнаружения атак;
•      выполнить анализ результатов и сделать соответствующие выводы.

3. МЕТОДИКА ОБНАРУЖЕНИЯ ВТОРЖЕНИЙ
Существует два основных метода в сфере обнаружения атак: обнаружение злоупотреблений (misuse detection) и обнаружение аномалий (anomaly detection). Обнаружение злоупотреблений предполагает наличие сигнатур атак. Основным недостатком таких систем является их неспособность обнаруживать новые или неизвестные атаки,  т.е. записи о которых в системе отсутствуют. Обнаружение аномалий связано с построением профиля нормального поведения пользователя. При чем атакой считается любое отклонение от этого профиля. Главным преимуществом таких систем является принципиальная возможность определения ранее не встречавшихся атак.
Любая атака на систему может быть выявлена в ходе анализа сетевого трафика и/или системных ресурсов (журналы регистрации событий, файлы и т.п.). Поэтому IDS различаются по уровню обнаружения: сетевого уровня и системного уровня. Системы обнаружения атак на уровне сети используют в качестве источника данных для анализа необработанные (raw) сетевые пакеты. В последнее время, в целях повышения качества распознавания, все чаще применяют комбинированные решения, проводящие мониторинг данных, как на уровне сети, так и на уровне системы.  
Рассмотрим принципиальную схему системы обнаружения атак, предназначенную для выявления и противодействия атакам злоумышленников на сетевом уровне. Система представляет собой специализированное программно-аппаратное обеспечение с типовой архитектурой, включающей в себя следующие компоненты (рис. 1):

1
Рис. 1 Типовая архитектура
систем обнаружения атак.

•      модули-датчики для сбора необходимой информации о сетевом трафике;
•      модуль выявления (распознавания) атак, выполняющий обработку данных, собранных датчиками, с целью обнаружения информационных атак;
•      модуль реагирования на обнаруженные атаки;
•      модуль хранения конфигурационной информации, а также информации об обнаруженных атаках. Таким модулем, как правило, выступает стандартная СУБД;
•      модуль управления компонентами IDS.
Модуль выявления атак наиболее сложный и важный элемент IDS, от которого зависит эффективность работы всей системы. Поэтому наши исследования связаны с разработкой именно этого модуля.

4. ПОНЯТИЕ ИСКУСТВЕННОЙ НЕЙРОННОЙ СЕТИ
Искусственная нейронная сеть (Artificial Neural Network - ANN) в общем случае представляет собой организованную определенным образом совокупность узлов (нейронов) и связей между ними (рис. 2). Связь между двумя отдельными узлами характеризуется весовыми коэффициентами, которые определяют степень влияния одного элемента на другой. Подмножество элементов (Xi) является входным, а другое подмножество (Yj) – выходным. Сеть осуществляет функциональное преобразование входного вектора значений, формируемого элементами первого слоя, в выходной, которому соответствует набор элементов второго слоя. Само преобразование задается значениями весовых коэффициентов нейронной сети.

2
Рис. 2 – Нейронная сеть.

Работа с нейронной сетью предполагает наличие следующих этапов:
1. Сбор и подготовка исходных данных;
2. Построение и обучение сети;
3. Тестирование сети и анализ результатов.

5. ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ В ЗАДАЧАХ ОБНАРУЖЕНИЯ ВТОРЖЕНИЙ
Процесс обработки информации в IDS приведен на рис. 3. Он включает три этапа.

3
Рис. 3 – Процесс обнаружения.

На первом этапе осуществляется захват трафика сети (feature selection).  Сбор необходимых данных выполняет специальное программное средство (sniffer). Эти данные поступают в виде сетевых пакетов, заголовки которых содержат важную первичную информацию.
Результаты первого этапа не могут быть сразу использованы классификатором, поскольку они представлены в “сыром” виде и нуждаются в предварительной обработке. Поэтому второй этап (feature preprocessing) связан с вычислением (на основе входных данных) параметров, характеризующих активность сети и представленных в той форме, в которой их сможет принять классификатор.
Для решения поставленных нами задач можно использовать базу данных KDD-99. Эта база содержит около 5 000 000 записей о соединениях. Каждая запись в этой базе представляет собой образ сетевого соединения. Соединение – последовательность TCP пакетов за некоторое конечное время, моменты начала и завершения которого четко определены, в течение которого данные передаются от IP-адреса источника на IP-адрес приемника (и в обратном направлении) используя некоторый определенный протокол.
Отдельная запись состоит из около 100 байт, включает 41 параметр сетевого трафика и промаркирована как “атака” или “не атака”. Например, первый параметр определяет длительность соединения, второй – указывает используемый протокол, третий – целевую службу и т.д.
Третий этап состоит в обнаружении и распознавании атак (classification). Мы предлагаем применять в качестве классификатора различные нейронные сети. После обучения нейронной сети, такая IDS способна выявлять возникающие в сети угрозы.
В базе KDD-99 представлены 22 типа атаки. При этом атаки делятся на четыре основные категории: DoS, U2R, R2L и Probe.
Атака DoS – отказ в обслуживании, характеризуется генерацией большого объема трафика, что приводит к перегрузке и блокированию сервера.
Атака U2R предполагает получение зарегистрированным пользователем привилегий локального суперпользователя (администратора).
Атака R2L характеризуется получением доступа незарегистрированного пользователя к компьютеру со стороны удаленной машины.
Атака Probe заключается в сканировании портов с целью получения конфиденциальной информации.
Выходные значения соответствуют четырем классам атак и “нормальному” состоянию сети.

6. АРХИТЕКТУРНЫЕ РЕШЕНИЯ IDS
Рассмотрим различные архитектурные решения для построения систем обнаружения атак. Они основаны на применении модулярных нейронных сетей.
Основной задачей IDS является обнаружение и распознавание атак. Для этих целей в работе используется Многослойный Персептрон (Multilayer Perceptron - MLP), обучение которого осуществляется по правилу обратного распространения ошибки (рис. 4).

4
Рис. 4 – Архитектура MLP.

Второй важный вопрос, касающийся структуры IDS: какие параметры входного вектора наиболее значимы для успешного обнаружения того или иного типа атаки? Мы предлагаем использовать Рециркуляционную Нейронную Сеть (Recirculation Neural Network - RNN)  для получения главных компонент. Она представляется многослойным персептроном, который осуществляет линейное или нелинейное сжатие входных данных через “узкое горлышко” в скрытом слое. Как видно, сеть состоит из трех слоев. Скрытый слой осуществляет сжатие входных образов (рис. 5).

5
Рис. 5 – Архитектура RNN.

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

6
Рис. 6 – Первый вариант IDS.

На рис. 6 приведена система обнаружения атак, которая состоит из рециркуляционной нейронной сети и многослойного персептрона, которые соединены последовательно. Задачей RNN является сжатие входного 41-размерного вектора в 12-размерный выходной вектор. Многослойный персептрон осуществляет обработку сжатого пространства входных образов (главных компонент) с целью распознавания класса атаки.
7
Рис. 7 – Второй вариант IDS.

На рис. 7 приведена вторая схема системы обнаружения атак. Она характеризуется тем, что главные компоненты с выходов RNN одновременно поступают на 4 отдельных многослойных персептрона, каждый из которых соответствует определенному классу атаки: DoS, U2R, R2L и Probe. С выходов MLP данные поступают на арбитр, который и принимает окончательное решение о состоянии системы. В качестве арбитра может использоваться  линейный или многослойный персептрон. Тогда обучение его будет производиться после обучения RNN и MLP. Такая схема может осуществлять иерархическую классификацию атак. В этом случае арбитр определяет один из 5 классов атаки, а соответствующий многослойный персептрон – тип атаки.
Следующий вариант структуры IDS (рис. 8) основан на применении модулярной нейронной сети. Под модулярностью понимается разбиение сложной вычислительной задачи на множество небольших и простых задач, которые решаются отдельными модулями системы (экспертами). Далее заключения всех экспертов интегрируются в общее решение, которое имеет приоритет над решением каждого отдельного эксперта. 

8
Рис. 8 – Третий вариант IDS
(ENSEMBLINGNETWORK - EN).

В качестве эксперта мы использовали модель 1 (см. рис. 6). Обучение каждого эксперта происходит на отдельном множестве данных, т.е. данные для обучения последующего эксперта формируются с учетом результатов обучения предыдущих экспертов. Алгоритм, используемый для такого обучения, называют Алгоритмом Усиления за счет Фильтрации (Boosting by Filtering).
После обучения нейронные сети способны обнаруживать атаки.

7. РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТОВ
Чтобы оценить эффективность предложенных подходов обнаружения вторжений, был проведен ряд экспериментов. База данных KDD Сup 99 использовалась для обучения и тестирования нейросетевых моделей. Это одна из тех немногих баз в области обнаружения вторжений, которая привлекает внимание исследователей благодаря своей хорошо продуманной структуре и доступности.
Для изучения характеристик предложенных систем мы задались тремя основными показателями: доля обнаруженных, доля распознанных атак по каждому классу и число ложных срабатываний системы. Доля обнаруженных атак определяется как число образов атак отдельного класса, обнаруженных системой, деленное на общее количество записей об атаках этого класса в базе данных. Подобным образом определяется и доля распознанных. Ложные срабатывания указывают общее число образов нормальной работы сети, ошибочно классифицированных как атаки.
Рассмотрим функционирование системы на примере модели 1 (см. раздел 6). Эта модель достаточно проста. Результаты тестирования в режиме распознавания класса атаки приведены в таблице 1.

Таблица 1
Результаты Тестирования Модели 1


класс

всего

обнаружено

распознано

DoS

391458

391441 (99.99%)

370741 (94.71%)

U2R

52

48 (92.31%)

42 (80.77%)

R2L

1126

1113 (98.85%)

658 (58.44%)

Probe

4107

4094 (99.68%)

4081 (99.37%)

нормальное состояние

Normal

97277

---

50831 (52.25%)

Таким образом, наилучший результат был достигнут для атак класса DoS и Probe (почти однозначная распознаваемость). Несколько хуже определяются U2R и R2L, соответственно 80,77% и 58,44%. Кроме того, существует процент ложных срабатываний системы.
Сводные данные по каждому из вариантов построения системы обнаружения атак приведены в таблице 2.

Таблица II
Сводные Данные по Результатам Тестирования
каждой Модели


модель

Обнаруженные атаки

Распознанные атаки

Ложные срабатывания

Общая доля распознанных %

модель
1

396696
(99.98%)

375522
(94,65%)

46446
(47.75%)

86.30%

модель
2

395949
(99.80%)

375391
(94.61%)

13398
(13.77%)

92.97%

модель
3

396549
(99.95%)

375730
(94.70%)

12549
(12.90%)

93.21%

Таким образом, модель 3 характеризуется высокой точностью (93,21%) и наименьшим числом ложных срабатываний. При использовании модели 1 были распознаны 86,3% входных образов, а модели 2 – 92,97%. Модели 2 и 3 могут успешно применяться для работы с большими наборами сложных по структуре данных.

8. СЕТЕВОЙ АНАЛИЗАТОР
Наша система обнаружения атак использует разрабатываемый нами сетевой анализатор, основанный на драйвере WinPсap для захвата пакетов (рис. 9). Архитектура WinPсap дополняет стандартные функции операционных систем семейства Win32 возможностью принимать и передавать данные по сети, минуя стек протоколов операционной системы и взаимодействуя непосредственно с сетевым адаптером компьютера. Она позволяет осуществлять доступ к данным протоколов IP, TCP, UDP, ICMP. Каждый пакет, поступивший от WinPсap, обладает заголовком и телом. Система анализирует заголовок и рассчитывает параметры TCP-соединения.
9
Рис. 9 – Сетевой анализатор.

WinPcap состоит из трех компонентов (рис. 10):
0
Рис. 10 – Структура WinPcap.

  • драйвер устройства захвата пакетов;
  • низкоуровневая динамическая библиотека (packet.dll);
  • статическая библиотека высокого уровня (wpcap.dll).

Во-первых, для доступа к данным, передаваемым по сети, система захвата должна обойти стек протоколов операционной системы. Для этого необходим программный модуль, который бы напрямую взаимодействовал с сетью. Такой модуль в WinPcap работает на уровне ядра ОС и реализован в виде драйвера захвата пакетов (Netgroup Packet Filter – NPF);
Во-вторых, система захвата пакетов должна предоставить приложению пользователя интерфейс взаимодействия. В WinPсap для этих целей используются две библиотеки: packet.dll и wpcap.dll.

9. ЗАКЛЮЧЕНИЕ
Лаборатория Искусственных Нейронных Сетей предлагает различные подходы к построению систем обнаружения атак, которые базируются на нейросетевых технологиях. Путем комбинирования двух нейронных сетей, а именно RNN и MLP, можно идентифицировать и распознавать атаки на компьютерные сети с достаточно высокой степенью точности. Основными преимуществами применения подходов, основанных на нейронных сетях, являются способность адаптироваться к динамическим условиям и быстрота функционирования, что особенно важно при работе системы в режиме реального времени.

©2008 Учреждение образования "Брестский государственный технический университет"
Сайт разработан в рамках проекта SM_SCM-TO34B05-2005-TACIS "Улучшение деятельности структур университета для сотрудничества с промышленностью"