КОМАНДНАЯ РАБОТА АГЕНТОВ ПО ЗАЩИТЕ
ОТ РАСПРЕДЕЛЕННЫХ АТАК “ОТКАЗ В ОБСЛУЖИВАНИИ”*
СПИИРАН, { alekha@nm.ru, ivkote@iias.spb.su }
Abstract - The paper considers an approach to
creating the team of program agents served for protection against “Distributed Denial
of Service” attacks (DDoS). The team consists of community of specialized autonomous
intellectual agents distributed on hosts of a protected computer network and
cooperating for making decisions on detection and prevention of DDoS-attacks.
The ontology of DDoS-attacks is sketched. Mechanisms of protection against
DDoS-attacks are described. The variant of the agents’ team structure and
mechanisms of their interaction and coordination are determined.
В
настоящее время одним из наиболее опасных видов атак, который может привести к
прекращению функционирования Интернет в результате выхода из строя корневых
серверов, являются распределенные атаки “отказ в обслуживании” (DDoS –Distributed Denial of Service), направленные
на реализацию угрозы нарушения доступности сетевых информационных ресурсов [1,2].
Одним
из основных путей обеспечения защиты компьютерных сетей от этого класса атак
является создание в рамках Интернет интегрированной системы, объединяющей
комплекс различных методов и средств защиты. Представляется, что эта система
должна функционировать за счет кооперации разнообразных системных, сетевых и
глобальных механизмов защиты, осуществляемых как в рамках конкретной корпоративной
сети, так и в масштабах всей сети Интернет.
В связи
с этим перспективным подходом к созданию систем защиты от DDoS-атак
является использование многоагентных технологий [3], в частности в рамках парадигмы
командной работы агентов [5].
В работе рассматривается подход к
созданию команды программных агентов защиты от DDoS-атак. Данная команда состоит из сообщества специализированных автономных
агентов, распределенных по хостам защищаемой компьютерной сети и взаимодействующих
между собой с целью принятия согласованных решений по обнаружению и
предотвращению DDoS-атак. В случае необходимости агенты могут клонироваться
или прекращать свое функционирование. Они также адаптируются к реконфигурации
сети, изменению трафика и новым видам атак.
Статья
структурирована следующим образом. Во втором разделе представлен фрагмент
онтологии предметной области DDoS-атак. Описанию механизмов защиты от DDoS-атак
посвящен третий раздел. Предлагаемый подход к формированию команды агентов,
служащих для защиты компьютерной сети от DDoS-атак,
рассмотрен в четвертом разделе.
Целью атаки “отказ в обслуживании” (DoS) является изоляция атакуемого
хоста. Основной особенностью DDoS-атак является скоординированное использование
для генерации DoS-атак большого числа удаленных компьютеров-“зомби”. Атаке предшествует
поражение большого числа компьютеров, на которые устанавливается специальные программы,
позволяющие проводить согласованные DoS-атаки [1].
Технология DDoS-атак, как
правило, подразумевает метод грубой силы –
атакующий тем
или иным способом пытается “подавить” канал связи, открывая максимально
возможное количество соединений на тот или иной сервис. Однако средства DDoS-атак
не ограничиваются простым наводнением пакетами – используются
также слабости реализации сетевых протоколов.
В разработанной онтологии
предметной области DDoS-атак понятия вышележащего уровня связываются с
соответствующими понятиями смежного нижележащего уровня при помощи отношений
трех видов: “Part of” – “целое – часть”; “Kind of” – “понятие – класс понятия”;
“Seq of” – “операция – этап реализации”. Каждый
пакет связан отношением “Example
of” (“тип объекта – экземпляр объекта”) с конкретной
реализацией.
Верхний уровень онтологии
составляют узлы, задающие множество программных средств реализации DDoS-атак: Trinity V3, MSTREAM, SHAFT, Tribe Flood Network (TFN), TFN2K, Stacheldraht, Trin00 и др. На нижних уровнях специфицируются
различные классы DoS-атак. На табл.1 показаны
наиболее известные DDoS-инструменты и используемые ими атаки.
Таблица 1. DDoS-инструменты
|
DDoS-инструменты |
Тип “наводнения”/атаки |
|
Trin00 |
UDP |
|
TFN |
UDP, ICMP, SYN, Smurf |
|
Stacheldracht |
UDP, ICMP, SYN, Smurf |
|
TFN
2K |
UDP,
ICMP, SYN, Smurf |
|
Shaft |
UDP,
ICMP, SYN |
|
Mstream |
Stream
(ACK) |
|
Trinity,
Trinity V3 |
UDP, SYN, RST, Random Flag, ACK,
Fragment, … |
Существующие механизмы защиты от DDoS-атак можно классифицировать на
механизмы системного уровня, сетевого уровня и глобальные механизмы [1,2].
Механизмы
системного уровня основаны
на реализации процедур поиска и удаления DDoS-программ (агентов) с целью предотвращения
последующих атак и злоупотреблений системных ресурсов. Выделяют три типа механизмов
системного уровня: (1) инструменты сканирования, (2) создание “узкого места”, (3)
защита посредством перемещения цели атаки. Инструменты
сканирования реализуют проверку наличия DDoS-агентов в файловой системе, а
также сканирование портов, наиболее часто используемых атакующими. Механизмы создания “узкого места” направлены
на реализацию на компьютерах “зомби”, используемых для DDoS-атак, такого системного процесса, который снижает пропускную способность
канала нападения. Механизмы защиты
посредством перемещения цели атаки заключаются в изменении IP-адреса атакуемого
хоста.
Механизмы сетевого уровня служат для предотвращения или значительного снижения последствий
атак за счет анализа и “перекрытия” трафика. Эти механизмы могут быть развернуты в атакуемой сети,
промежуточной сети хостов-“зомби” или сети – источнике атаки. Различают механизмы,
реализуемые на (1) граничных маршрутизаторах, (2) межсетевых экранах, а также (3)
активный мониторинг и (4) уравновешивание нагрузки.
Существуют различные механизмы защиты, реализуемые в граничных маршрутизаторах,
в частности, используется входящая и исходящая фильтрация, MULTOPS и др. Входящая фильтрация сводится к отсеиванию
пакетов с запрещенными адресами и с адресами вне диапазона защищаемой сети, таким
образом препятствуя использованию поддельных исходных адресов в DoS-атаках.
Исходящая фильтрация применяется для предотвращения формирования поддельных пакетов, используемых в DoS-атаках.
Эти механизмы гарантируют, что из сети отправляются только IP-пакеты с действительными
исходными адресами. Механизм MULTOPS является
эвристическим. Он определяет структуры данных, которые маршрутизаторы могут использовать
для обнаружения и устранения DoS-атак. Эти структуры данных
представляют собой дерево узлов, содержащих статистические данные о потоках пакетов
на различных уровнях агрегирования. Диспропорциональные значения используются в
качестве эвристик для обнаружения атак.
Защита посредством межсетевых экранов осуществляется в атакуемой сети для отсеивания пакетов, реализующих DoS-атаки.
Большинство этих механизмов предназначено для защиты от наводнений сетевыми
пакетами. Активный мониторинг реализуется
в атакуемой сети и предназначен для непрерывного наблюдения за состояниями сети,
контроля TCP/IP-трафика и, в случае необходимости, реагирования на критические ситуации.
Механизмы уравновешивания нагрузки
ориентированы на большие сайты, использующие специализированные серверы для
равномерного распределения нагрузки. В ![]()
данном подходе используется
множество конфигурируемых входных и выходных очередей Web-сервера. Если монитор
обнаруживает DoS-атаку, он замедляет трафик от этого IP-адреса, назначая его к
более медленной очереди, или блокирует его.
Предназначением
глобальных механизмов является
улучшение безопасности всех хостов сети Интернет. Можно выделить следующие глобальные
механизмы: (1) улучшение безопасности Internet в целом, (2) использование
глобально согласованных фильтров, (3) отслеживание IP-адреса
источника.
Представляется, что
агенты защиты от DDoS-атак располагаются в наиболее на хостах, располагаемых в критических
точках защищаемой сети. Команда агентов на хосте может состоять из одного или нескольких экземпляров агентов следующих
классов [4]: (1) агенты-сенсоры, (2) агенты идентификации и аутентификации, (3)
агенты разграничения доступа, (4) агенты обнаружения вторжений, (5) агенты
оценки повреждений и восстановления целостности; (6) агенты подавления действий
атакующего; (7) агенты обучения, служащие для адаптации агентов к реконфигурации
компьютерной сети и новым типам атак, (8) мета-агенты хоста.
Рассмотрим
возможный вариант базовых классов агентов защиты хоста (рис.1).
Агент-сенсор (АС) осуществляет предварительную обработку сообщений, фиксируя значимые
для защиты информации события, и производит переадресацию выделенных сообщений
соответствующим специализированным агентам.
Агент идентификации и аутентификации (АИА) ответствен за идентификацию
источников сообщений и подтверждение их подлинности. Агент разграничения доступа (АРД) регламентирует доступ пользователей
к ресурсам сети в соответствии с их правами. Агенты АИА и АРД обнаруживают несанкционированные
действия по доступу к информационным ресурсам, прерывают несанкционированные соединения
и процессы обработки событий, а также посылают сообщения агентам обнаружения
вторжений и мета-агентам.
Агент обнаружения вторжений (АОВ) отвечает за обнаружение отдельных “подозрительных”
событий или очевидных атак и принятие решений относительно реакции на данные
события.
Интеллектуальный агент обнаружения вторжений (ИАОВ) реализует более высокий
уровень обработки и обобщения обнаруженных фактов. Он принимают решения на
основе сообщений об обнаруженном подозрительном поведении и явных атаках как от
агентов-сенсоров своего хоста, так и от агентов других хостов. Агенты подавления действий атакующего (АПА) ответственны за препятствование атакам.
Мета-агент
хоста (МА), выполняет обнаружение
атак, обрабатывая сообщения от всех агентов хоста, а также участвует в обнаружении
сложных распределенных атак, отдельные шаги которых направлены на различные
хосты. Ведущую роль в переговорах (роль мета-агента сети или ее фрагмента)
может взять на себя мета-агент любого хоста. Данный подход значительно повышает
безопасность и живучесть системы защиты.
Механизмы взаимодействия и координации агентов базируются
на трех группах процедур [5]: (1) обеспечения согласованности действий; (2) мониторинга и восстановления
функциональности агентов; (3) обеспечения селективности коммуникаций (для
выбора наиболее “полезных” коммуникационных актов).
Процедуры
обеспечения согласованности действий агентов обеспечивают скоординированную деятельность агентов по некоторому
сценарию. Эти процедуры реализуются путем обмена агентами информацией о
результатах деятельности, которые непосредственно влияют на выполнение
поставленной задачи.
Процедуры
мониторинга и восстановления функциональности агентов направлены на сохранение работоспособности и
функциональности команды агентов. Их реализация может происходить с использованием
различных приемов, например, за счет перераспределения ролей среди оставшихся
агентов взамен выбывших или путем клонирования новых агентов с соответствующей
функциональностью.
Процедуры
обеспечения селективности коммуникаций служат для минимизации количества коммуникативных актов
с целью ускорения принятий решений и сокращения используемых ресурсов. Эти
процедуры реализуются на основании знаний о выгоде коммуникационного акта и требуемых
“затратах”.
Иерархия планов действий состоит из трех основных уровней обработки
(рис.1): (1) агенты АС выполняют
первичную обработку входного трафика; (2) агенты АИА, АРД, АОВ в реальном времени осуществляют анализ полученных данных,
выявляя очевидные атаки; (3) агенты ИАОВ
и МА осуществляют обнаружение многофазных
распределенных атак. Эти агенты также реализуют прогнозирование последующих действий
пользователей, используя известные сценарии атак.
В случае необходимости
агенты могут клонироваться или прекращать свое функционирование. В зависимости
от ситуации (вида и интенсивности атак на компьютерную сеть, наличия
вычислительных ресурсов для выполнения функций защиты) может генерироваться несколько
экземпляров агентов каждого класса. Они адаптируются к возможному изменению
конфигурации сети, изменению трафика и новым видам атак, используя накопленный
опыт.
Назначение ролей и
распределение планов между агентами осуществляется следующим образом:
происходит выбор необходимых для установленной политики безопасности ролей
агентов, выбранные роли назначаются агентам, происходит установка
(клонирование, наем) агентов соответствующих типов.
В работе
предложен подход к реализации командной работы агентов по защите от распределенных
атак “отказ в обслуживании”. Предложен краткий обзор инструментов реализации DDoS-атак, приведен фрагмент
онтологии предметной области DDoS-атак,
определена структура команды агентов защиты от DDoS-атак и механизмы их взаимодействия
и координации. В настоящее время с использованием средств Java, Visual C++ и MASDK осуществляется разработка прототипа
многоагентной системы защиты от DDoS-атак.
1. Understanding
DDOS Attack, Tools and Free Anti-tools with Recommendation. SANS Institute.
2. Noureldien A.N. Protecting Web
Servers from DoS/DDoS Flooding Attacks. A Technical Overview. International
Conference on Web-Management for International Organisations. Proceedings.
3.
Городецкий В.И., Карсаев О.В., Котенко И.В.
Программный прототип многоагентной системы обнаружения вторжений в компьютерные
сети // ICAI’2001.
Международный конгресс “Искусственный интеллект в XXI веке”. Труды конгресса. Том 1. М.:
Физматлит, 2001.
4.
Городецкий В.И., Котенко И.В. Командная работа
агентов-хакеров: применение многоагентной технологии для моделирования распределенных
атак на компьютерные сети // КИИ-2002. VIII Национальная конференция по искусственному интеллекту. Труды
конференции. М.: Физматлит, 2002.
5. Tambe M., Pynadath D.V. Towards
Heterogeneous Agent Teams // Lecture Notes in Artificial Intelligence. V.2086,
Springer Verlag, 2001.