Выделение управляющего центра многоагентной системы обнаружения сетевых атак
Наиболее простым решением было бы выделение стационарного центра управления. Однако, это будет серьезным недостатком всей системы. Достаточно вывести из строя этот узел, и вся система превратиться в набор агентов, каждый их которых будет действовать сам по себе, без единого направления в защите. Эффективность такой системы резко упадет, т.к. пропадет возможность детектирования атаки, направленной на различные узлы, но имеющую общую цель. Теряется возможность скоординированного противодействия.
Возможным вариантом может стать резервирование управляющего центра. Тогда потребуется разработать порядок работы центров управления, репликации данных между ними, определения необходимости передачи полномочий следующему центру управления. Возникает серьезная проблема –как определить, что центр управления уже захвачен? В случае захвата он может продолжить взаимодействие с резервными центрами управления, но при этом реплицировать им заведомо ложную информацию, что введет в заблуждение всю систему защиты в целом и снизит её эффективность.
В идеале все агенты должны быть равнозначны. Но построение логики единых действий в этом случае становится крайне сложной задачей. Кроме того, в этом случае каждый агент становится слишком сложным с точки зрения практического программирования, каналы связи между агентами должны быть достаточно свободны для обмена информацией между всеми агентами.
Возможным вариантом решения становится система лидеров. Суть в том, что для некой группы агентов выделяется агент-лидер, который отвечает за управление. Фактически, создается оверлейная сеть.
На данном рисунке 1 кругами с малым диаметром обозначены рядовые узлы сети, кругами с большим диаметром – агенты с полномочиями лидеров групп. В такой сети каждый агент взаимодействует непосредственно со своим лидером. Лидеры управляют своей группой и обмениваются информацией между собой. Линии связи носят логический характер.
Возникает вопрос, каким образом выделить лидера и как включит в сеть новых агентов.
Рис. 1. Иерархическая оверлейная одноранговая сеть
с децентрализованным каталогом
Разберем первую часть вопроса, выделение лидера. Т.к. вся система в целом должна быть самоорганизующейся, то возникает проблема динамического выделение лидерства. Возможно, что роли будут распределяться в зависимости от режима работы системы в целом. В нормальном режиме работы (мониторинг сети, нет атаки) выделяются 2-3 узла, которые собирают информацию со всей сети и определяют начало распределенной атаки. В случае обнаружения атаки, возможно выделение дополнительных лидеров на участке атаки. Участок в данном случае –логически объединенная группа узлов сети с агентами, на которых замечены воздействия злоумышленника.
При переходе в такой режим работы возникает проблема общего управления в целом.
Первым вариантом решения этой проблемы является система разноуровневых лидеров. Каждому лидеру назначается определенный коэффициент влияния на других лидеров. Тогда первоначальные лидеры будут иметь наибольшее влияние. Однако, имея большую живучесть, эта система будет иметь тот же недостаток, что и система со статическим лидером–уязвимость центра управления.
Вторым, и более перспективным вариантом, может стать система конференций. Суть в том, что каждый лидер обменивается информацией с другими лидерами. Исходя их этой общеизвестной информации о состоянии сети, возможно принятие коллективного решения о выделение ещё одного лидера или групповых действиях лидеров, смене лидеров. Например, если один из лидеров обнаруживает воздействие злоумышленников на своем участке сети, он может уведомить остальных лидеров о начале атаки.
Исходя из всего этого, возможно выделение нескольких режимов работы многоагентной системы.
Первый режим–наблюдение. В этом режиме выделено небольшое число лидеров. Система наблюдает за своим состоянием, атаки не обнаружены.
Второй режим–обнаружение атаки и противодействие ей. В случае обнаружения атаки, Может потребоваться выделение дополнительного ‹‹ситуационного›› лидера, который возьмет на себя ответственность на атакуемом участке и прилежащих областях. Это даст повышение оперативности принятия решения, повышение отказоустойчивости системы, её защищенность от действий злоумышленника.
Третий режим–завершение отражения атаки. В этом режиме лидеры проводят диагностику своего участка и передают свои полномочия другим лидерам до тех пор, пока сеть не перейдет в первый режим.
Четвертый режим–организация единого управления. Этот режим в хронологическом порядке будет первым. Он возникает, когда среди агентов одной системы нет ни одного лидера. Такая ситуация может возникнуть в случаях первого запуска системы или отключения участка сети без лидеров от сети с лидерами. В этом режиме происходит выбор лидера.
Критерии необходимости выделения дополнительного лидера должны включать в себя множество параметров. Основными могут стать:
1. Скорость доступа к узлам
2. Логические связи с узлами, учитывая структуру сети и роли узлов
3. Загруженность узла (достаточная вычислительная мощность)
Возникает вопрос, как добавить нового агента в уже существующую сеть агентов. Одним из вариантов может стать следующая схема:
1. Широковещательный запрос, на который ответил любой агент и передаст имя своего лидера.
2. Обратившись к лидеру, агент вступает в его группу, на время.
3. После обмена информации о новом узле между лидерами, агент перенаправляется в другую группу.
Однако для выполнения этого алгоритма необходимо выполнить несколько условий. Первым будет проверка подлинности нового агента. Необходимо разработать механизм, который сможет отсечь запросы адресов лидеров от злоумышленника. Иначе возникнет ситуация, в которой злоумышленник может получать адреса лидеров и последовательно подавлять их деятельность, что внесет проблемы в управление сетью. Для того, что бы определить реальную группу для агента, лидеры должны обладать информацией о топологии сети. Возможный вариант решения этой проблемы–группы по принципу скоростей связи между агентами и ролями их узлов.
Принятие решений о назначениях лидеров должно приниматься только самой системой, без участия человека. Технически это не самая простая задача, но она дает серьезные преимущества. Например, если группа агентов остается без единого лидера, она может стать автономным участком сети и назначить себе нового лидера. Далее оно будет действовать как автономная система. На практике это означает, что в условиях выхода из строй лидера либо потери связи с ним (например, филиал был группой лидера географически удаленного лидера), система продолжает свое полноценное функционирование. Попытки злоумышленника раздробить сеть на участки без связи между собой дадут лишь временное отсутствие единого функционирования многоагентной системы. А т.к. все решения о назначениях лидеров принимаются самими агентами, то скорость восстановления единого управления может быть высока. В период выбора лидера каждый агент ведет самостоятельную политику безопасности на свое узле.
Децентрализованная сеть с динамическими лидерами имеет ряд преимуществ. Отсутствие централизованного центра управления резко повышает живучесть системы сеть. Быстродействие так же может возрасти, т.к. нагрузка распределяется на большую вычислительную мощь, кроме того, загруженные каналы связи не так сильно препятствуют обмену информацией.
Система лидерства так же позволяет удобно управлять многоагентной системы. Консоль управления, расположенная у пользователя, может переслать необходимую информацию лидерам сети, после чего они сами произведут необходимые оповещения и изменения в своих группах. Каждый агент должен иметь информацию о текущих политиках и состоянии дел в сети, что бы в любой момент стать лидером.