Архитектура систем обнаружения атак
Все системы обнаружения атак можно разделить, на две категории — автономные и клиент-серверные системы. Первые выполняют сбор информации, ее анализ и реагирование на одном компьютере. Системы второй категории строятся по иному принципу. В наиболее критичных точках корпоративной сети устанавливаются агенты системы обнаружения атак (модули слежения, сенсоры), которые отвечают за выявление атак и реагирование на них. Все управление осуществляется с центральной консоли, на которую также передаются все сигналы тревоги.
Архитектура системы обнаружения атак достаточно проста ипоказана на рис. 6.13. Она включает 7 модулей, каждый из которых отвечает за выполнение своей задачи. Модуль работы с источником информации отвечает завзаимодействие с журналом регистрации, сетевой картой или ядром ОС для получения данных, на основе которых делается вывод о наличии или отсутствии атаки. Второй модуль служит для управления всеми компонентами системы обнаружения атак и обеспечения "общения" между ними.
Хранилище данных является обычным журналом регистрации, в котором содержится вся информация о зафиксированных атаках и подозрительных событиях. Этот журнал регистрации может иметь формат обычного текстового файла (как, например, в системе Snort) или размещаться в базе данных. База данных может быть как локальной (например, MS Access в системе RealSecure или eTrust IDS), так и клиент-серверной (как Oracle в системе Cisco Secure IDS или RealSecure). База знаний содержит информацию, на основании которой принимается решение о том, зафиксирована ли атака в записях выбранного источника или нет. В зависимости от используемых методов анализа эта база знаний может хранить сигнатуры атак или профили пользователей и т. д. Сопоставление правил базы знаний с записями выбранного источника информации выполняет модуль обнаружения атак, который на основании полученного результата может отдавать команды модулю реагирования. Графический интерфейс облекает всю работу системы обнаружения атак в удобную для администратора форму. При помощи графического интерфейса осуществляется как управление, так и сбор информации от всех компонентов системы обнаружения атак. В некоторых системах обнаружения атак (особенно реализованных в ОС Unix) графический интерфейс отсутствует (например, в системе Snort). В том случае, если система обнаружения атак построена как автономный агент, то все указанные модули находятся на одном компьютере. А если система разработана с учетом архитектуры "клиент-сервер", то в ней выделяется два основных уровня: сенсор (sensor), также называемый агентом (agent) или модулем слежения, и консоль (console). Сенсор отвечает за обнаружение и реагирование на атаки, а также за передачу сведений об обнаруженных несанкционированных действиях на консоль управления (рис. 6.14).
Сенсор обычно запускается на компьютере как сервис или демон и работает круглосуточно. Поскольку оповещение об атаках передается сенсором на консоль, то модуль графического интерфейса, отображающий эти данные на сенсоре отсутствует.
Консоль предназначена для управления сенсорами и сбора информации всех сенсоров, подключенных к ней (рис. 6.15).
Обычно одна консоль может координировать неограниченное число сенсоров, также как и сенсор может посылать информацию сразу на несколько консолей, реализуя тем самым резервирование консолей. По такому принципу построены системы RealSecure и Cisco Secure IDS (рис. 6.16).
Для того чтобы две консоли одновременно не смогли изменять настройки удаленного сенсора, одной из них присваивается специальный статус (в терминах компании ISS — Master Controller). Только консоли, имеющая указанный статус, предоставлено право на изменение конфигурации сенсоров и выполнение над ними других операций. В основе данного механизма лежат принципы, похожие на заложенные в межсетевой экран Check Point Firewall-1, согласно которым в один момент времени только один администратор может подключиться к межсетевому экрану с правами Read/Write.Все остальные администраторы работают исключительно в режиме Read.
В хранилище данных содержится информация, полученная от всех сенсоров. Можно заметить, что на консоли отсутствуют модули, отвечающие за получение данных из источников информации, их анализ и реагирование на атаки. Все перечисленные функции возложены на сенсоры. Сделано это с той целью, чтобы в случае выхода из строя консоли или канала связи между консолью и сенсором функционирование последних никак бы не нарушалось. В этом случае сенсоры продолжают работать в автономном режиме, по-прежнему обнаруживая атаки и реагируя на них. Как только соединение с консолью восстанавливается, сенсоры посылают ей всю накопленную информацию. Однако этот очевидный факт понимается далеко не всеми разработчиками средств обнаружения атак. Например, одна из известных автору отечественных систем построена по совершенно другому принципу. Сенсоры этой системы обнаружения атак выполняют только сбор данных из журналов регистрации или из сети. Вся остальная обработка осуществляется на консоли (рис. 6.17). К чему это может привести — объяснять не надо. В случае выходи из строя консоли или нарушения взаимодействия между нею и удаленными сенсорами последние превращаются в бесполезные программы, которые находятся в памяти, собирают информацию, но ничего с ней сделать не могут, т. к. вся обработка централизована на консоли. Мало того. В случае восстановления соединения с консолью на нее поступает накопленный огромный объем информации со всех сенсоров. Кроме перегрузки сети это может привести к повторному нарушению функционирования консоли из-за невозможности "переварить" такие объемы данных. И так до бесконечности...
Классическая двухуровневая схема "сенсор-консоль" (см. рис. 6.16) ориентирована на небольшое (до нескольких десятков) число сенсоров, подключенных к одной консоли. Такая схема идеальна для удаленных филиалов офисов, в которых управление безопасностью осуществляется самостоятельно, собственными силами филиала, или для небольших и средних компаний только с централизованным управлением всеми сенсорами. Развивая эту модель, компания Cisco предложила новый подход, который существенно развил интеграцию централизованного и децентрализованного управления сенсора системы обнаружения атак. Особенно хорошо данная схема проявляется компаниях с иерархической структурой службы защиты информации, в которой по определению существует центральный аппарат, осуществляющий разработку единой политики информационной безопасности и контроль нижестоящих служб, расположенных во всех удаленных филиалах.
Конфигурация, предложенная компанией Cisco, показана на рис. 6.18.
Как только происходит обнаружение атаки, информация о ней немедленно передается на консоль управления филиала. В этом вариант компании Cisco мало чем отличается от классической двухуровневой модели управления. Помимо консоли, установленной в филиале, оповещение об особо опасных атаках (и любых других, согласно предписаниям администратора) поступает на главную консоль, расположенную в центральном аппарате службы защиты информации.
Существует и еще одна схема, описываемая формулой "сенсор - сервер управления - консоль администратора" (рис. 6.19). В данном случае сенсор посылает информацию об атаках не на консоль администратора, а на специальный сервер управления, к которому и подключается администратор безопасности. В качестве консоли администратора может выступать любой не мощный компьютер. Достоинство такой схемы в том, что все сведения о политиках безопасности, загружаемых на сенсоры, событиях, зафиксированных сенсорами, и другая информация хранятся на сервере управления, а не на консоли администратора. Соответственно, в качестве сервера управления выбирается мощный компьютер с функциями резервирования, вероятность выхода из строя которого намного ниже, чем обычного сервера или рабочей станции. По такой схеме функционирует система обнаружения атак NetProwler.