Технологии сбора исходных данных системами обнаружения атак

23 декабря 2002

Технологии сбора исходных данных системами обнаружения атак

За последние несколько лет наметилась тенденция к неуклонному увеличению числа информационных атак, зафиксированных в инфокоммуникационных системах (ИС). В основе этого явления лежат следующие факторы [1]:

  • увеличение количества уязвимостей, ежедневно обнаруживаемых в существующем программно-аппаратном обеспечении ИС;
  • увеличение числа возможных объектов атаки. Так если несколько лет назад в качестве основных объектов несанкционированного воздействия рассматривались исключительно серверы стандартных Web-служб, таких как HTTP, SMTP и FTP, то к настоящему моменту разработаны средства реализации атак на маршрутизаторы, коммутаторы, межсетевые экраны и другие компоненты ИС;
  • упрощение интерфейсов программных средств реализации информационных атак. В настоящее время в сети Интернет можно без труда найти большое количество специальных программ, при помощи которых любой пользователь сети имеет возможность реализовать различные типы атак, направленных на активизацию известных уязвимостей. При этом использование этих средств не требует от пользователя высокой квалификации и сводится к простому вводу IP-адреса объекта атаки и нажатию соответствующей управляющей кнопки;
  • увеличение количества пользователей общедоступных сетей связи, таких как сеть Интернет, где в качестве пользователей выступают как отдельные клиентские рабочие станции, так и целые корпоративные сети. Вместе с ростом числа пользователей увеличивается и количество потенциальных источников и объектов атаки.

Сложившаяся ситуация инициировала создание ряда организаций, таких, например, как CERT (http://www.cert.org), BUGTRAQ (http://www.bugtraq.org) и т.д., специализирующихся на сборе и систематизации сведений об имеющихся уязвимостях ИС. Кроме того, интенсифицировалась разработка более эффективных инструментов противодействия информационным атакам. К числу таких инструментов относятся системы обнаружения атак, представляющие собой специализированные программно-аппаратные комплексы, предназначенные для выявления несанкционированных действий нарушителя в ИС [2]. Типовая архитектура системы обнаружения атак включает в себя, как минимум, пять групп функциональных компонентов (рис. 1):

  • модули-датчики (или модули-сенсоры), предназначенные для сбора необходимой информации о функционировании ИС;
  • модули выявления атак, осуществляющие обработку данных, собранных датчиками, с целью обнаружения информационных атак нарушителя;
  • модули реагирования на обнаруженные атаки;
  • базу данных, в которой хранится вся информация, собранная датчиками системы, а также информация о работе системы обнаружения атак;
  • модули, выполняющие функции управления компонентами системы обнаружения атак.

Все вышеперечисленные компоненты могут быть территориально и функционально распределены в ИС (рис.1).


Рис. 1. Обобщённая архитектура системы обнаружения атак

Функционирование системы обнаружения атак строится, как это показано на рис.1, на основе информации, собранной её модулями-датчиками. Поэтому, от того, насколько быстро и качественно датчики смогут предоставить исходную информацию модулям выявления атак, во многом зависит эффективность работы всей системы обнаружения несанкционированных воздействий. Поэтому автор статьи поставил задачу провести анализ существующих методов реализации датчиков, определить наиболее оптимальный метод сбора информации и выдать практические рекомендации разработчикам системы обнаружения атак, которые будут способствовать созданию более эффективных систем защиты ресурсов ИС. В этих целях рассмотрим, какие типы модулей-датчиков могут быть использованы в системе обнаружения атак.

Типы модулей-датчиков

Системы обнаружения атак могут включать в себя два типа модулей-датчиков – сетевые (network-based) и хостовые (host-based). Сетевые датчики (СД) предназначены для сбора информации обо всех пакетах данных, передаваемых в рамках того сетевого сегмента, где установлен датчик. Как правило, сбор информации о передаваемых пакетах данных осуществляется СД при помощи сетевого адаптера, у которого нет IP-адреса и который функционирует в так называемом «смешанном режиме» (promiscuous mode). Управление же датчиком осуществляется по выделенному сетевому интерфейсу с заданным IP-адресом. Такой метод установки делает СД «невидимым» для возможных нарушителей, что исключает возможность успешной сетевой атаки на компьютер с СД. Для эффективного функционирования необходимо, чтобы весь трафик сегмента проходил через СД. В настоящее время существует три базовых способа подключения СД к каналу связи:

  • подключение СД к одному из портов концентратора сетевого сегмента;
  • подключение СД к SPAN-порту коммутатора;
  • установка СД непосредственно в канал связи.

Рассмотрим эти методы более подробно.
В варианте с некоммутируемой сетевой средой СД подключается к одному из портов концентратора (рис. 2) а весь поступающий в него трафик автоматически транслируется на порт подключения.


Рис. 2. Схема подключения СД к порту концентратора

В варианте с коммутируемой средой СД можно подключать к специальному SPAN-порту (Switched Port Analyzer) коммутатора, на который при помощи специальных настроек коммутатора можно транслировать сетевой трафик с других портов. При невозможности подключения СД к такому порту используется вариант установки между коммутатором и датчиком дополнительного концентратора, обеспечивающего дублирование трафика и направление его к сетевому датчику.
Примерами систем обнаружения атак, базирующихся на СД, подключение которых осуществляется при помощи концентраторов или SPAN-портов коммутатора, могут служить программные продукты «Snort» (http://www.snort.org) и «NetProwler» (http://www.symantec.com).
Третий способ подключения СД предполагает его установку непосредственно в канал связи (рис. 3). Однако в этом случае имеет место значительное повышение вычислительной нагрузки на датчик, поэтому для эффективной его работы используется специализированное аппаратное обеспечение.


Рис. 3. Схема установки сетевого датчика в канал связи

Примером системы обнаружения атак, СД которой устанавливаются в канал связи, является система «IntruShield» (http://www.intruvert.com).

Хостовые датчики (ХД) устанавливаются на определённые компьютеры в ИС и предназначаются для сбора информации о событиях, возникающих на этом хосте. Примерами такой информации являются сведения о сетевом трафике, поступающем на этот хост, а также системные события, регистрируемые в журналах аудита операционной системы (ОС) хоста. При этом на одном узле может присутствовать одновременно несколько ХД, осуществляющих сбор информации из различных источников. В качестве примера систем обнаружения атак, базирующихся на хостовых датчиках можно привести системы IntruderAlert (http://www.symantec.com) и NFR HID (http://www.nfr.com).
Сравнительные характеристики функциональных возможностей СД и ХД при различных критериях активности отражены в табл. 1.

Таблица 1

Критерии сопоставления Функциональные характеристики
Сетевые датчики Хостовые датчики
бработка данных, передаваемых по криптозащищён-ным каналам связи
СД не способны осуществлять обработку данных, передаваемых по криптозащищённым каналам связи, сформированных на основе таких криптопротоколов, как IPSec и SSL/TLS. Объясняется это тем, что вышеназванные криптопротоколы обеспечивают шифрование передаваемых данных на сетевом и прикладном уровнях, в то время как СД осуществляют перехват сетевого трафика только на канальном уровне, где он ещё находится в зашифрованном виде. Как результат этого, СД не может предоставить системе обнаружения атак информацию, необходимую для обнаружения атак, реализуемых нарушителем по криптозащищённым каналам
ХД, в отличие от СД, способны обрабатывать данные, передаваемые по защищённым сетевым соединениям. Наличие такой функции обусловлено тем, что они имеют возможность перехватывать сетевой трафик, как на канальном, так и на вышележащих уровнях модели взаимодействия открытых систем (ВОС). Так, например, датчик для ОС Windows 2000, выполненный в виде ISAPI/NSAPI-фильтра имеет возможность обрабатывать трафик, передаваемый по SSL/TLS-соединению
Обработка сетевого трафика, передаваемого по высокоско-ростным каналам связи
Поскольку СД осуществляют обработку всего сетевого трафика, передаваемого по каналу связи, то при высоких скоростях передачи (1Гбит/с и выше) большая часть из существующих СД систем обнаружения атак не успевают обработать все перехваченные пакеты данных, что приводит к их отбрасыванию. Этот недостаток также может привести к тому, что система обнаружения атак не сможет обнаружить некоторые атаки
ХД обрабатывают только те пакеты, которые поступают на данный хост. Это позволяет равномерно распределить нагрузку среди имеющихся ХД и исключить ситуацию, при которой датчик не сможет обработать поступивший пакет из-за перегрузки
Защита межсетевого экрана и коммуникационного оборудова-ния ИС (коммутаторов, маршрутизаторов и др.)
СД могут быть установлены в канал связи непосредственно перед межсетевым экраном или коммуникационным оборудованием. Это позволяет контролировать весь поступающий трафик и тем самым обеспечивает возможность обнаружения информационных атак на межсетевые экраны и коммуникационное оборудование
ХД не могут быть установлены
непосредственно на межсетевой экран и коммуникационное оборудование ИС, поэтому этот тип датчиков не позволяет обеспечить сбор информации об их работе и, следовательно, обеспечить их защиту от атак нарушителя
Работа датчиков в сегментах ИС, состоящих из большого числа хостов
Для того, чтобы обеспечить возможность обнаружения атак в сетевом сегменте, включающем в себя большое количество хостов, достаточно установить один СД, что позволит осуществлять сбор информации обо всех пакетах данных, циркулирующих в сегменте
Для обеспечения защиты сетевого сегмента, состоящего из большого количества узлов при помощи ХД, необходима их установка на каждом компьютере сегмента. Однако такая схема установки не всегда приемлема в виду больших материальных затрат
Влияние на производитель-ность ИС
СД устанавливается на выделенный компьютер и не оказывает абсолютно никакого влияния на производительность ИС
Поскольку ХД устанавли-ваются на те компьютеры, атаки на которые необходимо обнаруживать, то в процессе своего функционирования хостовые датчики потребляют часть программно - аппаратных ресурсов того узла, на котором они установлены
Источники исходных данных
СД позволяют осуществлять сбор информации, касающейся лишь передаваемых пакетов данных
ХД, помимо информации о сетевом трафике, поступающем в узел ИС, могут использовать любые другие источники данных, расположенные на сетевом узле

С учётом того, что и СД и ХД имеют и недостатки и преимущества, на практике, как правило, используются оба типа датчиков. Примером в этом плане может являться система обнаружения атак «RealSecure» (http://www.iss.net). Типовая схема размещения датчиков в этом случае предполагает установку СД до и после межсетевого экрана, что позволяет обеспечить контроль его функционирования и защиту, а также в сегментах, включающих в себя большое число узлов, где установка хостовых датчиков нецелесообразна. Хостовые же датчики устанавливаются на критических серверах ИС, которые должны быть защищены от информационных атак. Типовая схема размещения СД и ХД системы обнаружения атак в ИС показана на рис. 4.


Рис. 4. Типовая схема размещения датчиков в ИС


Методы сбора информации датчиками систем обнаружения атак

После ознакомления читателя с типами применяемых в системах обнаружения атак датчиков, рассмотрим методы, посредством использования которых датчики обеспечивают сбор и комплектование информации, необходимой для функционирования системы обнаружения несанкционированных воздействий нарушителя.

СД обеспечивают сбор информации о передаваемых пакетах данных путём перехвата этих пакетов на канальном уровне модели ВОС. Метод реализации СД в большинстве своём зависит от конкретного типа ОС. Так, например, датчик для UNIX-систем может быть реализован при помощи штатных библиотек ОС, позволяющих получить доступ к низкоуровневым функциям установленных сетевых адаптеров. Поскольку такого рода библиотеки в ОС Windows отсутствуют, то для этих систем СД, как правило, реализуются при помощи пакетных драйверов канального уровня. Примером такого драйвера может служить «WinPCap» (http://netgroup-serv.polito.it/winpcap/), на основе которого, в частности, функционирует система обнаружения атак «Snort».

Напомним, что ХД осуществляют сбор информации о событиях, которые происходят на том узле, на котором они установлены. Источниками информации здесь могут выступать приложения, запущенные на хосте, системные сервисы ОС, аппаратные ресурсы хоста, на которых установлены датчики и др. Сбор исходной информации может выполняться ХД двумя способами: напрямую от источника или опосредованно через промежуточные программные компоненты. Рассмотрим эти два способа сбора информации более подробно.

При опосредованном сборе информации датчик использует вспомогательные информационные ресурсы хоста. Как правило, в роли таких ресурсов выступают журналы аудита ОС тех компьютеров, на которых установлен ХД. Так, например, в ОС UNIX это журнал SYSLOG, а в ОС Windows NT/2000 – журналы системы (System Log): приложений (Application Log) и безопасности (Security Log) [3]. Основным недостатком такого метода сбора информации является невозможность фиксации событий в реальном масштабе времени, поскольку прежде чем информация о событии будет записана в журнал, проходит некоторый период времени, которого может быть достаточно для успешного завершения атаки нарушителя. Кроме того, при использовании опосредованного метода сбора информации повышается вероятность того, что нарушитель может исказить содержимое журналов аудита, что приведёт к тому, что датчик не сможет собрать информацию, необходимую для обнаружения атаки нарушителя. Необходимо отметить, что большинство существующих ХД систем обнаружения атак реализуют опосредованный метод сбора исходной информации.

При использовании прямого метода сбора информации ХД получают необходимую им информацию непосредственно от заданного источника. Данный метод лишён недостатков рассмотренного выше опосредованного способа сбора информации, а также позволяет обеспечить получить доступ непосредственно к той информации, которая действительно необходима для системы обнаружения атак. И, тем не менее, реализация этого метода приводит к необходимости расширения функциональных возможностей датчика, что, в свою очередь, приводит к увеличению количества потребляемых программно-аппаратных ресурсов хоста, на котором он установлен. Практическая же реализация прямого метода сбора информации гораздо более трудоёмка, в сравнении с реализацией датчика, использующего опосредованные методы. В этом случае компромиссом будет являться одновременное использование двух методов. Примером системы обнаружения атак, датчики которой реализуют такой подход, является система Entercept (http://www.entercept.co.uk). ХД этой системы располагаются на системном уровне ОС и получают доступ к информации обо всех системных вызовах функций на контролируемом хосте. Всё это позволяет сделать вывод о том, что, несмотря на имеющиеся недостатки, ХД, реализующие прямой метод доступа к информации, позволяют более эффективно обеспечить сбор необходимых данных для своевременного обнаружения атак нарушителя.

Методы реализации хостовых датчиков в системе обнаружения атак

В принципе ХД могут быть условно разделены на два типа – интегрированные и внешние [4]. Тип ХД определяется методом его реализации. Интегрированные ХД встраиваются в ОС или приложения, уже запущенные на хосте, в то время как внешние датчики реализуются в виде отдельных автономных приложений. К преимуществам интегрированных ХД, по сравнению с внешними, можно отнести:

  • меньший размер исполняемого кода, достигаемый за счёт того, что датчики этого типа интегрируются в уже существующие приложения и не содержат избыточную информацию, например заголовок файла;
  • меньший объём оперативной памяти хоста, занимаемой датчиком, что достигается их встраиванием в приложения, в результате чего добавляется лишь незначительное число дополнительных байт к общему объёму оперативной памяти, уже занимаемым приложением;
  • доступ к большему объёму данных, необходимых для обнаружения атаки. Функционируя в рамках приложения, интегрированный датчик имеет доступ к той же информации, что и само приложение, что позволяет датчику оперировать с любыми данными, необходимыми системе обнаружения атак для обнаружения атаки.

Ниже приведён пример исходного кода простейшего интегрированного датчика, позволяющего обнаружить информационную атаку «Land» [5], реализация которой сводится к посылке объекту нападения сформированного специальным образом TCP-сегмента, в котором совпадают IP-адрес получателя и IP-адрес отправителя, а также номера портов отправителя и адресата сегмента.

case TCPS_LISTEN:
{
...
if (ti->ti_dst.s_addr == ti->ti_src.s_addr)
{
printf(“Зафиксирована информационная атака LAND”);
goto drop;
}
...
}

Листинг 1. Пример исходного кода интегрированного
хостового датчика для ОС OpenBSD

Поскольку применение интегрированных датчиков требует фактической модификации исходных кодов ОС и приложений, они могут быть использованы только в UNIX-системах с открытыми кодами. Кроме того, очевидным недостатком датчиков этого типа является высокая сложность их практической реализации. Непреднамеренное же внесение ошибок в исходный код создаваемого интегрированного датчика может привести к нарушению работоспособности всего приложения, куда встраивается датчик. Примером системы обнаружения атак, базирующейся на интегрированных датчиках, является система AAFID (http://cerias.purdue.edu).

Поэтому, несмотря на широту функциональных возможностей интегрированных ХД, в системе обнаружения атак более эффективным, по мнению автора, будет являться использование внешних датчиков.

Заключение

Проведенный автором статьи анализ существующих методов функционирования модулей-датчиков на примерах действующих на практике коммерческих и академических систем обнаружения атак показывает, что наибольшим потенциалом обладают те системы обнаружения атак, которые одновременно используют как хостовые, так и сетевые датчики. Комбинированное их использование позволяет обеспечить сбор оптимального объёма информации, достаточного для обнаружения широкого спектра информационных атак. Необходимо в этой связи подчеркнуть, что для достижения большего эффекта хостовые датчики системы обнаружения атак должны использовать прямой метод доступа к информации и реализовываться в виде внешних компонентов системы.

Однако необходимо иметь в виду, что выбор метода сбора информации, предназначенной для обнаружения атак, является необходимым, но отнюдь не достаточным условием для построения высокоэффективных систем обнаружения атак. Уровень эффективности системы обнаружения атак частично зависит и от реализации ряда других компонентов системы, например, модуля выявления атак, отвечающего за обработку данных, собранных датчиками и модуля реагирования на обнаруженные атаки. По существу лишь качественная реализация всех этих компонентов системы позволит спроектировать систему обнаружения атак, способную эффективно решать задачи противодействия информационным атакам нарушителей.

Литература:

1. CERT/CC Statistics (1988-2002), WWW: http://www.cert.org/stats/cert_stats.html
2. Сердюк В.А. Системы обнаружения компьютерных атак и их роль в защите информационных сетей //BYTE/Россия. 2000. №10
3. Сердюк В.А. Средства защиты информационных систем от компьютерных атак //Системы безопасности связи и телекоммуникация. 2000. №34
4. Florian Kerschbaum, Eugene H. Spafford, Diego Zamboni, Using embedded sensors for detecting network attacks, CERIAS Tech Report 2000-25. 2000
5. Сердюк В.А., Технологии несанкционированных воздействий на Интернет, Приложение к журналу «Информационные технологии», №5, 2001, стр. 1-24.

401
;