Система многоагентного моделирования механизмов защиты

advertisement
УДК 681.3.053:681.32:007.5
СИСТЕМА МНОГОАГЕНТНОГО МОДЕЛИРОВАНИЯ
МЕХАНИЗМОВ ЗАЩИТЫ КОМПЬЮТЕРНЫХ СЕТЕЙ*
А.В. Уланов1, И.В. Котенко2
В статье представлена программная система, предназначенная для
многоагентного моделирования механизмов защиты компьютерных
сетей. В текущей реализации система позволяет осуществлять
имитацию и анализ действий злоумышленников и механизмов
защиты по реализации и отражению атак “распределенный отказ в
обслуживании”. Дано описание подхода, положенного в основу
функционирования системы. Представлены архитектура системы,
примеры пользовательского интерфейса и экспериментов по
моделированию атак и механизмов защиты. Разработанная среда
позволяет имитировать сложные сценарии атак и защиты от них с
целью исследования перспективных механизмов защиты и (или)
выбора наиболее приемлемых механизмов для построения систем
компьютерной безопасности.
Введение
В настоящее время актуальным направлением научных исследований в
области создания интеллектуальных систем (сред), предназначенных для
проектирования и анализа сложных организационно-технических систем,
является разработка интеллектуальных систем имитационного
моделирования механизмов защиты от распределенных атак в сети
Интернет [Kotenko, 2005]. Такие среды должны позволять адекватно
формализовать
особенности
кибернетического
противоборства
нарушителей и компонентов защиты информационных ресурсов,
выполнять компьютерное моделирование атак и механизмов защиты,
предоставляя развитые возможности по исследованию различных
Работа выполнена при финансовой поддержке РФФИ (проект №04-01-00167),
программы фундаментальных исследований ОИТВС РАН (контракт №3.2/03) ,
Фонда содействия отечественной науке и при частичной поддержке,
осуществляемой в рамках проекта POSITIF Шестой рамочной программы
Евросоюза (контракт IST-2002-002314)
1
199178, С.-Петербург, 14 линия, 39, СПИИРАН, ulanov@comsec.spb.ru
2 199178, С.-Петербург, 14 линия, 39, СПИИРАН, ivkote@comsec.spb.ru
*
параметров нападения и защиты на приемлемом для практической
реализации уровне детализации.
Одним из наиболее критичных по последствиям классов
компьютерных атак являются атаки “распределенный отказ в
обслуживании” (Distributed Denial of Service, DDoS), направленные на
нарушение доступности информационных ресурсов [Mirkovic et al., 2004].
Эти атаки осуществляются совместными усилиями множества
программных компонентов, размещаемых на уже скомпрометированных
хостах в Интернет, на основе одновременной посылки на объект атаки
(хост или сеть) большого количества сетевых пакетов. Общий подход к
защите от атак DDoS включает предупреждение атаки, обнаружение
факта атаки, определение источника атаки и противодействие атаке.
Предупреждение атаки заключается в использовании брандмауэров,
тестировании системы на выявление уязвимостей и реализации различных
организационных мер. Обнаружение факта атаки может осуществляться
по аномально высокому уровню нагрузки на сеть, узлы или большому
трафику по определенному протоколу. Для определения источника атаки,
если в пакетах атаки указан ложный адрес отправителя, используются
различные методы отслеживания пакетов. Их реализация возможна при
сохранении промежуточными узлами “отпечатков” проходящих пакетов.
На стадии противодействия атаки применяются новые правила
фильтрации, полученные на стадии определения источника, делаются
попытки проследить и обезвредить атакующих.
В статье предлагается подход и реализующая его программная среда
для имитационного моделирования действий нарушителей по реализации
атак DDoS и механизмов защиты от них. Хотя к настоящему времени и
разработаны отдельные средства моделирования атак и механизмов
защиты [Mirkovic et al., 2004], до сих пор не предложено системы,
позволяющей
учитывать
сложный
динамический
характер
кибернетического противоборства и моделировать весь комплекс
имеющихся средств DDoS и защиты от них, представляя их в
формализованном виде в форме открытых для расширения библиотек.
Кроме того, предлагаемый подход основывается на многоагентном
моделировании с имитацией процессов защиты информации на уровне
сетевых пакетов, что позволяет снизить сложность необходимой
формализации и обеспечивает приемлемую адекватность моделируемых
процессов [Kotenko, 2005; Kotenko et al., 2005]. В первом разделе
описывается теоретический подход, положенный в основу разработанной
системы. Во втором разделе приведена архитектура и пользовательский
интерфейс системы. В третьем разделе представлены примеры
проведенных экспериментов. В заключении формулируются результаты
работы и направления будущих исследований.
1. Подход к моделированию атак и механизмов защиты
В разработанной системе используется подход, основанный на
многоагентных технологиях моделирования защиты информации в сети
Интернет [Kotenko, 2005; Kotenko et al., 2005]. Он предполагает, что
кибернетическое противоборство представляется в виде взаимодействия
различных команд программных агентов. Выделяется, по крайней мере,
две команды агентов, воздействующих на компьютерную сеть, а также
друг на друга: команда агентов-злоумышленников и команда агентов
защиты.
Предлагаемый подход к организации командной работы агентов
базируется на совместном использовании элементов теории общих
намерений, теории разделяемых планов и комбинированных подходов и
учитывает опыт программной реализации многоагентных систем [Fan et
al., 2005].
Агенты атаки подразделяются, по крайней мере, на два класса
[Kotenko et al., 2005]: “демоны”, непосредственно реализующие атаку, и
“мастер”, выполняющий действия по координации остальных
компонентов системы. На предварительном этапе демоны и мастер
устанавливаются на доступные (уже скомпрометированные) узлы сети
Интернет. Затем происходит организация команды атаки: демоны
посылают мастеру сообщения о том, что они существуют и готовы к
работе, а мастер сохраняет информацию о членах команды и об их
состоянии. Цель команды – начать атаку DDoS на заданный узел в
заданный момент времени – злоумышленник задает мастеру. Мастер
дублирует эту информацию для демонов, распределяет нагрузку между
ними и задает им способ атаки. Демоны выполняют его предписания.
Получая сообщения от демонов, мастер контролирует заданный режим
выполнения атаки. Демоны могут выполнять атаку в различных режимах.
Это влияет на возможности команды защиты по обнаружению и
блокированию атаки, а также прослеживанию и устранению агентов
атаки. Режим задается интенсивностью посылки пакетов (пакетов в
секунду) и способом подмены адреса отправителя в пакете (“IP spoofing”):
без подмены, постоянный, случайный, случайный с реальными адресами.
В соответствии с общим подходом к защите от DDoS атак, выделены
следующие классы агентов защиты [Kotenko et al., 2005]: обработки
информации (“сэмплеры”), обнаружения атаки (“детекторы”); фильтрации
(“фильтры”);
“агенты
расследования”.
Сэмплер
обрабатывает
информацию о сетевых пакетах и на ее основе составляет модель
нормального для данной сети трафика (в режиме обучения). Затем, в
нормальном режиме, он анализирует сетевой трафик на соответствие
модельному и выделяет IP-адреса нарушителей, которые затем отсылает
детектору. Для обнаружения атаки используются методы Hop counts
Filtering (HCF), Source IP address monitoring (SIPM) и Bit Per Second (BPS).
Первый заключается в формировании таблиц подсетей и количества
скачков до них. Во втором используется предположение, что во время
атаки появляется большое количество новых адресов клиентов.
Последний позволяет обнаружить атакующих по превышению порога
нормального трафика. Локальная цель детектора – на основе данных от
сэмплера принять решение о наступлении атаки. Детектор посылает
фильтру и агенту расследования адреса, полученные от сэмплера.
Локальная цель фильтра – выполнить фильтрацию трафика на основе
данных от детектора. Если в сообщении содержится решение о
проведении атаки, то фильтр начинает отбрасывать пакеты от указанных
узлов. Цель агента расследования – идентифицировать и вывести из
строя агентов атаки. После приема сообщения от детектора он проверяет
указанные адреса на наличие агентов команды атаки и пытается вывести
идентифицированных агентов из строя. Как только детектор решит, что
атака прекратилась, цель команды агентов защиты на заданном временном
промежутке будет достигнута.
2. Архитектура и пользовательский интерфейс
системы моделирования
Используемый подход к моделированию предполагает наличие
следующих компонентов системы моделирования: базовая система
имитационного моделирования; пакет для моделирования сети Интернет;
библиотека с набором атак и механизмов защиты; система многоагентного
моделирования.
Для выбора инструментария моделирования сети и процессов передачи
информации был проведен анализ пакетов моделирования (имитаторов
сетей), включая NS2, OMNeT++ INET Framework, SSF Net, J-Sim и других.
В качестве основы для построения системы многоагентного
моделирования был выбран пакет моделирования на основе дискретных
событий OMNeT++ и комплект модулей OMNeT++ INET Framework
[Omnet++, 2006], позволяющий моделировать узлы и протоколы
Интернет. На базе этих средств разработаны библиотека атак и
механизмов защиты (DDoS Framework) и система многоагентного
моделирования (Multi-Agent Framework).
В комплект DDoS Framework входят модули атак DDoS и защиты от
DDoS, а также модули, дополняющие сетевые узлы INET Framework:
таблица фильтрации и анализатор пакетов. Для задания режима атаки при
моделировании необходимо указать соответствующие параметры, в том
числе: цель атаки, темп атаки, способ подмены адреса отправителя и др.
Также надо определить параметры защиты, включающие место установки,
способ обнаружения, способ получения модельных данных, способ
отслеживания и др.
Multi-agent Framework состоит из модулей, представляющих собой
интеллектуальных агентов, реализованных в виде приложений. При
проектировании и реализации модулей агентов были использованы
следующие элементы абстрактной архитектуры FIPA [FIPA, 2006]: язык
коммуникаций, транспортный и сетевой уровни, каталог агентов.
Основная идея такого представления заключается в обеспечении
взаимодействия агентов и возможности их повторного использования.
Агенты могут управлять другими модулями (в том числе модулями DDoS
Framework) с помощью сообщений. Для всех агентов реализован язык
коммуникаций и транспортный уровень для передачи сообщений. Для
агентов “мастер” и “детектор”, координирующих работу агентов в своих
командах, создан каталог агентов. Для демона разработано два
транспортных модуля (для осуществления коммуникаций и для атаки).
Для агента фильтрации реализован модуль сетевого уровня для
возможности применения правил фильтрации. Агентам “сенсор” и
“сэмплер” также предоставлен сетевой уровень для обработки и сбора
данных в целях построения модели нормального трафика.
Пример пользовательского интерфейса среды моделирования показан
Рис.1. Пример пользовательского интерфейса среды моделирования
на рис.1. На основном окне визуализации (рис. 1, справа) отображается
компьютерная сеть для проведения моделирования. Окно управления
процессом моделирования (рис. 1, слева вверху) позволяет просматривать
и менять параметры моделирования. В данном окне на шкале времени
можно наблюдать события, значимые для понимания атак и механизмов
защиты. Шкала времени отображается над окном с текстовым описанием
событий. На рис. 1 можно видеть, например, события установки
соединения TCP, действие сенсора, инициирование атаки и др. Для
отображения
текущего
состояния
команд
агентов
служат
соответствующие окна состояний (рис. 1, сверху посередине). Можно
открывать различные окна, характеризующие функционирование
(статистические данные) отдельных хостов, протоколов и агентов,
например, на рис. 1 (справа вверху) отображено, характеризующее
таблицу фильтрации одного из хостов. Приложения (в том числе и агенты)
устанавливаются на узлы сети, подключаясь к соответствующим модулям
протоколов. Агенты устанавливаются в среду моделирования с помощью
подключения к транспортному и сетевому уровням OMNeT++ INET
Framework (Рис.1, вверху посередине).
Пример основного окна, на котором отображается компьютерная сеть
для проведения моделирования, показан на Рис.. Исследуемая
Рис.2. Пример компьютерной сети для проведения моделирования
компьютерная сеть представляет собой набор узлов, соединенных
каналами связи. Узлы могут нести различную функциональность в
зависимости от их параметров или набора внутренних модулей. Овальным
значком обозначены маршрутизаторы. Красным подсвечены узлы, на
которых располагаются агенты команды атаки, зеленым – узлы, на
которых находятся агенты команды защиты. Над окрашенными узлами
есть соответствующие надписи, говорящие о типе агента и его состоянии.
Остальные узлы – типовые, создающие стандартный трафик сети. Узлы
сети соединяются между собой каналами связи, параметры которых
можно изменять.
3. Примеры экспериментов
Сеть для многоагентного моделирования состоит из трех подсетей
(Рис.): подсеть защиты, где расположена команда защиты; промежуточная
подсеть, в которой расположены узлы, создающие типовой трафик в сети;
подсеть атаки, где расположена команда атаки.
Подсеть защиты (Рис., вверху слева) состоит из 4 узлов, на которых
установлены 4 агента (детектор, сэмплер, фильтр, расследования), и
защищаемого узла, на котором установлен атакуемый сервер.
Промежуточная подсеть (рис. 2, в центре) состоит из N узлов i_cli[…]
с типовыми клиентами, соединенных с маршрутизатором i_r.
Подсеть атаки (рис. 2, внизу и в центре) включает M узлов i_cli[…] с
10 демонами и одним агентом-мастером. Графики изменения пропускной
способности канала на входе в защищаемую сеть (зависимость бит/с от
времени) до (темный) и после фильтра (светлый) показаны на рис. 3.
Сначала проводится обучение. Суть режима обучения заключается в
том, чтобы составить модель типового для исследуемой сети трафика (без
реализации атаки). После начала моделирования (в интервале от 0 до 300
секунд) клиенты обращаются к серверу, а он им отвечает. В это время
сэмплер регистрирует эти запросы и использует их для формирования
параметров методов SIPM, HCF и BPS.
Через некоторое время происходит составление команды защиты.
Агенты расследования, сэмплер и фильтр соединяются с детектором и
посылают ему сообщения о своей работоспособности.
Аналогичным образом происходит формирование команды атаки: с
мастером соединяются демоны и сообщают о своей работоспособности.
Сэмплер собирает данные по сетевому трафику и сравнивает их с
“модельными” данными, полученными в режиме обучения. Адреса, от
которых исходят аномалии, передаются детектору. Детектор принимает
решение о том, происходит атака или нет, и отсылает фильтру и агенту
расследования IP-адреса подозрительных узлов.
Через 300 секунд после начала моделирования команда атаки
приступает к атакующим действиям (интенсивность атаки 5 пакетов в
секунду, без подмены адреса). Мастер опрашивает всех известных ему
демонов. Работоспособным демонам отсылается команда атаки: адрес и
порт цели атаки, интенсивность (распределенная между всеми демонами)
и способ подмены адреса отправителя. Получив команду, демоны
приступают к посылке пакетов атаки (рис. 3, отметка 300 секунд).
Через некоторое время, сэмплер по методу BPS определяет узлы,
которые создают аномально большой трафик. Детектор получает от него
эти адреса и пересылает их фильтру и агенту расследования. Фильтр
применяет правила фильтрации, и пакеты от выбранных узлов начинают
отбрасываться (рис. 3, отметка 400 – 600 секунд, светлый график). Агент
расследования пытается проследить указанные узлы и обезвредить
агентов атаки. Ему удается обезвредить 4 демонов. Однако остальные
агенты-демоны продолжают атаку (рис. 3, после 400 – 600 секунд, темный
график).
Мастер, обнаружив, что ряд демонов обезврежен, перераспределяет
интенсивность атаки между оставшимися демонами и задает метод
подмены адресов “случайный”.
Детектор, видя, что атака не прекращается, посылает сэмплеру запрос
на применение нового механизма защиты: SIPM. Благодаря этому пакеты
атакующих отбрасываются (рис. 3, после 700 секунд, светлый график).
Однако агенту расследования не удается проследить оставшихся
атакующих, и за пределами подсети атака продолжается.
Рис.3. Графики изменения трафика на входе в защищаемую сеть
Заключение
В работе представлена разработанная многоагентная система (среда)
моделирования атак DDoS и механизмов защиты от них. В ее основе
лежит подход, предлагающий представить стороны атаки и защиты в виде
противоборствующих команд интеллектуальных агентов.
Система разработана на основе OMNET++ INET Framework на языке
C++. В ее состав входят библиотека атак DDoS и механизмов защиты от
них и среда многоагентного моделирования. Система реализует
многоагентное моделирование с имитацией процессов защиты
информации на сетевом, транспортном и прикладном уровнях стека
протоколов Интернет. Это позволяет с необходимой степенью
адекватности воспроизводить протекающие процессы, представляя
атакующие и защитные действия с помощью обмена сетевыми пакетами,
точно имитируя работу по сетевым протоколам Интернет.
Проведен ряд экспериментов для исследования противостояния
различных механизмов защиты нескольким типам атак. Один из сценариев
моделирования представлен в статье.
Дальнейшее развитие работы направлено на расширение библиотеки
атак и механизмов защиты, развитие функциональности среды
моделирования,
проведение
экспериментов
по
исследованию
эффективности различных механизмов защиты.
Список литературы
[Fan et al., 2005] Fan X., Yen J. Modeling and Simulating Human Teamwork Behaviors
Using Intelligent Agents // Journal of Physics of Life Reviews, Vol. 1, No. 3. 2004.
[FIPA, 2006] FIPA specifications. http://www.fipa.org/repository/standardspecs.html .
2006.
[Kotenko, 2005] Kotenko I. Agent-Based Modeling and Simulation of Cyber-Warfare
between Malefactors and Security Agents in Internet // 19th European Simulation
Multiconference. ESM’05. 2005.
[Kotenko et al., 2005] Kotenko I.V., Ulanov A.V. The Software Environment for multiagent Simulation of Defense Mechanisms against DDoS Attacks // The International
Conference on Intelligent Agents, Web Technologies and Internet Commerce.
IAWTIC'2005. 2005.
[Mirkovic et al., 2004] Mirkovic J., Dietrich S., Dittrich D., Reiher P. Internet Denial of
Service: Attack and Defense Mechanisms. Prentice Hall PTR. 2004.
[Omnet++, 2006] Omnet++. http://www.omnetpp.org . 2006.
Download