В этом разделе мы рассмотрим системы активного аудита, наиболее интересные, на наш взгляд, с точки зрения архитектуры или реализованных в них идей. Мы не собираемся сравнивать и как-либо ранжировать подобные системы; занятие это рискованное и неблагодарное. Нам важно понять, какие идеи и каким образом реализуются, и что это дает. Тем, кто желает ознакомиться с перечнем и основными свойствами известных систем активного аудита, мы рекомендуем в качестве отправной точки аннотированный список [22] , а также сборник ответов [16] .
Система EMERALD (см., например, [23] ) по сути является старейшей разработкой в области активного аудита, так как она вобрала в себя опыт более ранних систем — IDES и NIDES, созданных в Лаборатории информатики Стэнфордского исследовательского института (Stanford Research Institute, ныне известен как SRI International) по контракту с DARPA.
EMERALD расшифровывается как Event Monitoring Enabling Responses to Anomalous Live Disturbances — мониторинг событий, допускающий реакцию на аномалии и нарушения. EMERALD включает в себя все компоненты и архитектурные решения, необходимые для систем активного аудита, оказываясь тем самым не только старейшей, но и самой полной разработкой как среди исследовательских, так и среди коммерческих систем.
Строго говоря, EMERALD является не готовым продуктом, а программной средой, которая строится по модульному принципу. Основным "кирпичиком" служит монитор (см. Рис. 6 ). Каждый монитор включает в себя компонент распознавания сигнатур злоумышленных действий, компонент выявления аномальной активности, решатель, выбирающий способ реагирования на нарушения, а также описание контролируемого объекта. Каждый монитор настраивается по описанию и следит за своим объектом. Мониторы распределяются по информационной системе, образуя иерархию. Отметим, что контролируемые объекты могут иметь как системную, так и сетевую природу. Таким образом, совокупность мониторов может покрыть "всех и каждого". Отметим также, что в иерархию могут включаться не только свои, но и чужие компоненты, разработанные другими производителями.
В общем случае мониторы системы EMERALD развертываются динамически, после чего в реальном времени контролируют поведение инфраструктурных и/или прикладных сервисов. Данные для анализа могут собираться как "пассивным" чтением регистрационных журналов или сетевых пакетов, так и с помощью активных проб. Результаты анализа могут направляться в асинхронном режиме другим мониторам.
По сути, в разделе "Методы проведения активного аудита" мы уже рассмотрели архитектурные и реализационные решения, принятые в системе EMERALD. Для распознавания сигнатур злоумышленных действий используется экспертная система P-BEST, а выявление аномальной активности основано на применении четырех классов величин (категориальных, непрерывных, показателей интенсивности, распределениях). Статистическому анализу подвергается поведение не пользователей, а сервисов. Профили сервисов существенно меньше и они гораздо стабильнее, чем у пользователей. В результате удалось заметно снизить ошибки первого и второго рода, то есть пропуск нарушений политики безопасности и возбуждение ложных тревог.
В основе своей монитор не зависит от отслеживаемого объекта. Все специфическое вынесено в описание объекта, служащее для настройки подключаемых библиотек. Настраиваются такие методы, как сбор регистрационной информации, реагирование, а также аналитические параметры анализа, список соседей, с которыми нужно обмениваться сигналами тревоги и т.п.
EMERALD не навязывает определенной архитектуры. Можно выстроить совокупность слабосвязанных мониторов с "легковесным" локальным анализом или же жесткую иерархию с мощным централизованным анализом. Можно делать акцент на сетевых или системных сенсорах.
Разумеется, в среде EMERALD изначально существуют описания для элементов инфраструктуры (маршрутизаторы, межсетевые экраны) и прикладных сервисов (FTP, SMTP, HTTP и т.д.). Это означает, что, наряду с гибкостью и расширяемостью, EMERALD в достаточной степени удобен для быстрого развертывания в типичной информационной системе.
Одной из важнейших новаций системы EMERALD является корреляционный анализ сигналов тревоги, поступающих от разных мониторов. Такой анализ проводится по четырем категориям:
Корреляционный анализ остается предметом исследования. Вероятно, это основное направление развития системы EMERALD.
Разработчики EMERALD планируют обеспечить следование спецификациям IDEF и CIDF. Разумный выбор архитектуры сделал эту задачу относительно несложной.
По мнению разработчиков, результаты, полученные при создании системы EMERALD, выглядят обнадеживающими. EMERALD годится не только для активного аудита, но и для решения других задач информационной безопасности и управления (например, поддержания высокой доступности или анализа поведения сети). Иерархическая организация мониторов и корреляционный анализ помогают выявлять скоординированные, распределенные атаки. Система EMERALD производит очень сильное впечатление.
Система NFR (Network Flight Recorder), как и EMERALD, привлекает, прежде всего, архитектурной и технологической правильностью. В подобной правильности нет ничего удивительного, поскольку руководителем разработки является Маркус Ранум (Marcus J. Ranum), видный специалист по информационной безопасности.
NFR относится к числу сетевых систем, существующих в виде свободно распространяемого инструментария и коммерчески "упакованного" продукта NFR Intrusion Detection Appliance (на момент написания данной статьи самая свежая версия имела номер 3.0). С внешней точки зрения NFR представляет собой либо одну станцию, осуществляющую мониторинг сегмента сети, к которому она подключена, либо совокупность таких станций с центральной управляющей консолью. Однако наиболее интересна не внешняя, а внутренняя архитектура NFR, превосходно описанная в статье [24] .
Строго говоря, NFR — это нечто большее, чем система выявления подозрительной сетевой активности. Правильнее рассматривать ее как компонент сетевого управления, одним из аспектов которого является борьба с нарушениями политики безопасности (равно как и со сбоями и отказами оборудования и программного обеспечения).
Основные компоненты внутренней архитектуры NFR показаны на Рис. 7 . Один или несколько сетевых сенсоров (packet suckers в терминологии NFR) поставляют данные решателю, который эти данные фильтрует, реассемблирует потоки, при обнаружении нарушений реагирует на них, а также передает информацию поддерживающему сервису для сохранения с последующей статистической обработкой и обслуживанием запросов. Поддерживающий сервис может также просматривать переданную ему информацию на предмет выявления сигнатур злоумышленных действий.
Разумеется, для всех стыков определены программные интерфейсы, так что возможна, например, смена или добавление сенсора или поддерживающего сервиса. "Отвязывание" поддерживающего сервиса от сбора и первичного анализа регистрационной информации позволяет распределять нагрузку, чтобы сложная обработка не тормозила процессы, от которых требуется работа в реальном масштабе времени.
Ядром NFR является решатель, а основой решателя — язык описания фильтров, который называется N. Это универсальный язык программирования, содержащий переменные с областями видимости, списочные типы данных, управляющие структуры, процедуры. Кроме того, в N есть специфические типы данных, такие как IP-адрес. Любопытно отметить, что под значения разного рода счетчиков отводится по 64 разряда, что освобождает от проблем переполнения даже в больших сетях.
N — интерпретируемый язык. Программы, написанные на N, переводятся в байт-коды для простой стековой машины. Такие программы (и, следовательно, фильтры) оказываются весьма компактными. Что касается скорости интерпретации, то при достаточно высоком уровне базовых операций она оказывается не намного ниже, чем при выполнении скомпилированной программы. Кроме того, применяемый при интерпретации N-программ механизм ленивых вычислений позволяет избежать лишних операций, обычно сопутствующих проверке сложных условий.
В N заложены знания о структуре сетевых пакетов и протоколах более высоких уровней. Например, допустимы обращения вида ip.src, tcp.hdr или syslog.message. Возможно и обращение к произвольным частям пакетов. В принципе, на N можно написать интерпретатор любого прикладного протокола.
Листинг 4 содержит пример совсем простого фильтра, выбирающего запрашиваемые клиентом по протоколу HTTP локаторы ресурсов.
filter server tcp (client, port: 80, start: "GET ", stop: " ") { record ip.src, ip.dst, tcp.sport, tcp.dport, tcp.bytes to urlRecorder; } |
Этот фильтр анализирует TCP-соединения с серверным портом 80, ищет в потоке данных цепочку символов "GET ", записывает все от места совпадения до пробела в поле tcp.bytes (предполагается, что это и будет URL), после чего отправляет поддерживающему сервису исходные и целевые IP-адреса и номера TCP-портов, а также выявленный URL.
В данном случае разыскиваемый шаблон весьма прост. Подчеркнем, что язык N позволяет сделать его сколь угодно сложным.
Программы на N, поддерживающий сервис, интерпретатор могут генерировать сигналы тревоги, для обработки которых существует специальная программа, работающая в фоновом режиме. Эта программа на основе ассоциированной информации определяет дальнейший маршрут и приоритет сигналов тревоги.
NFR не является универсальной системой активного аудита, но представляет несомненный интерес, прежде всего, как хорошо сделанный строительный блок, который можно установить в управляющую среду, объединить со средствами выявления подозрительной активности на хостах и т.п. Язык N обладает достаточной мощностью и для записи сигнатур атак с учетом возможных вариаций, и для выражения сетевых аспектов политики безопасности организации. Правда, остается открытым вопрос об эффективности функционирования, от ответа на который разработчики предпочитают уходить, ссылаясь на зависимость от сложности заданных фильтров (см. [7] ). То, что в качестве рекомендуемой конфигурации для NFR Intrusion Detection Appliance выбран компьютер с процессором Intel Pentium II 400 МГц и ОЗУ 256 МБ (см. [25] ), вероятно, свидетельствует о наличии проблем с эффективностью. Впрочем, как с философским спокойствием говорится в финале известного фильма, "у каждого свои недостатки".
![]() |
![]() |
![]() |
Стандарты в области активного аудита | Содержание | О результатах тестирования систем активного аудита |
Copyright ╘ 1993-2000, Jet Infosystems |