Механизм функционирования

Как показывает анализ имеющихся сегодня систем обнаружения атак на уровне сети, все они используют в качестве источника данных сетевой тра­фик, который исследуется на наличие в нем признаков атак. Также возможен анализ журналов регистрации сетевого программно-аппаратного обеспечения (например, маршрутизатора, межсетевого экрана или анализатора протоко­лов), фиксирующего весь обрабатываемый им трафик. В идеале эти средства должны работать в любых сетях, но практически средства обнаружения атак обнаруживают нарушения политики безопасности в сетях с разделяемой сре­дой передачи данных (shared media), в которых одна линия связи используется попеременно несколькими компьютерами [Олифер 1-99]. То есть данные сис­темы функционируют в технологиях Ethernet (и, следовательно, Fast Ethernet и Gigabit Ethernet), Token Ring, FDDI. Это связано с тем, что в таких сетях один компьютер может получить доступ ко всем пакетам, передаваемым в сегменте сети. Это качество существенно удешевляет системы обнаружения атак, т. к. практически независимо от числа узлов в сегменте сети трафик ме­жду ними может контролироваться всего одной системой обнаружения атак. В случае индивидуальных линий связи между узлами (например, ATM) необ­ходимо устанавливать систему обнаружения атак между каждой парой взаимо­действующих узлов, что нецелесообразно по финансовым соображениям. Именно поэтому существующие реализации сетевых систем обнаружения атак поддерживают в основном сетевые технологии с разделяемой средой передачи Данных. Кроме того, системы обнаружения атак имеют еще одно ограничение. Они могут анализировать не любые стеки протоколов, а только самые распро­страненные. Из всех существующих на сегодняшний день систем обнаруже­ния атак примерно 95% работают со стеком TCP/IP и 5% — со стеком SMB/NetBIOS. Коммерческие системы, поддерживающие IPX/SPX, не говоря уже о других стеках, мне не известны.

Механизм функционирования системы обнаружения атак на уровне сети показан на рис. 6.21 и состоит из 4-х основных частей, отвечающих за:

q захват пакетов;

q фильтрацию и сборку фрагментов;

q распознавание атак;

q реагирование на них.

Если система обнаружения атак реализуется в сетевом оборудовании (например, Cisco Catalyst 6000 IDS Module (в коммутаторе) или Cisco Security Integrated Software (в маршрутизаторе)), то место сетевого адаптера занимает, один из компонентов сетевого оборудования. Если система обнаружения атак построена по принципу анализа журналов регистрации сетевого оборудования, то в этой роли выступает журнал регистрации (например, созданный программой TCPdump). В зависимости от того, откуда берутся данные для анализа (ссетевой карты, с компонентов коммутатора или из журнала регистрации), составляющая системы, отвечающая за захват пакетов, может быть реализована по-разному, но все остальные части (фильтрация, распознавание и реагирование) остаются без изменения.

Механизм функционирования - student2.ru

Программное обеспечение системы обнаружения атак разделяется на две части:

q Ядро, которое осуществляет взаимодействие с сетевым адаптером, частью сетевого оборудования или журналом регистрации, хранящим сетевой трафик. Ядро отвечает за захват данных. В сложных системах обнаруже­ния атак, использующих захват с сетевого интерфейса, взаимодействие обеспечивается драйвером самой системы обнаружения атак, подменяю­щим драйвер операционной системы. Помимо более эффективной рабо­ты, это позволяет реализовать и ряд дополнительных функций, напри­мер, stealth-режим, не позволяющий обнаружить и атаковать саму сис­тему обнаружения атак. Более простые системы обнаружения используют и анализируют данные, получаемые от драйвера операционной системы. Это ядро по решаемым задачам практически полностью аналогично ядру анализатора протоколов.

q Программное обеспечение, выполняющее декодирование и анализ про­токолов, с которыми работает сетевой адаптер, а также реализующее со­ответствующую логику работы системы при обнаружении атак и реагиро­вании на них

Захват пакетов

Первый этап — захват пакетов сетевого трафика (packet capture). Как уже упоминалось выше, в зависимости от того, откуда берутся сетевые пакеты, эта часть может быть реализована по-разному. На момент написания книги абсолютное большинство систем обнаружения сетевых атак было построено на базе обычных или специализированных компьютеров, в которых исполь­зовалось специализированное программное обеспечение, функционирующее под управлением обычной операционной системы, захватывающее сетевой трафик с обычной сетевой карты. По такому принципу построены системы RealSecure Network Sensor, NetPowler, Snort и др. В некоторых случаях опе­рационная система "урезается" до минимума, чтобы устранить все лишнее и мешающее работе системы обнаружения атак. Так строятся системы RealSecure for Nokia или VelociProwler Intrusion Detection Appliance. В обоих случаях захват сетевого трафика осуществляется с простой сетевой карты, которая может работать в двух режимах:

q в обычном режиме, в котором сетевая карта обрабатывает только пакеты, предназначенные именно ей;

q в "смешанном" или "беспорядочном" (promiscuous) режиме, когда сетевая карта обрабатывает все пакеты, передаваемые в сетевом сегменте;

В том случае, если система обнаружения реализуется в сетевом оборудовании, то трафик может быть получен:

q с объединительной платы (backplane) сетевого оборудования (по такому принципу работает Cisco Catalyst 6000 IDS Module);

q от программного обеспечения сетевого оборудования (как, например, в Cisco Secure Integrated Software).

Фильтрация

Несмотря на то, что системы обнаружения атак получают доступ ко всем захваченным сетевым пакетам, не все из последних подлежат обработке. Например, пакеты не поддерживаемых системой обнаружения атак протоколов не могут быть ею обработаны. Другим примером являются фрагментированные пакеты, которые не анализируются некоторыми из систем обнаружения атак. Фильтрующий модуль отвечает за то, чтобы отбросить пакеты, которые должны игнорироваться системой обнаружения атак (например, IPX-трафик).

Существует два типа фильтров.

q Системные.Позволяют отсеивать или, наоборот, контролировать сетевой трафик на основе данных о распознаваемых сигнатурах. Например, если включено обнаружение атаки ColdFusion, то фильтрующий модуль будет отслеживать HTTP-трафик на 80 TCP-порте.

q Пользовательские.Отклоняют или, наоборот, контролируют трафик, соответствующий определенным правилам, установленным администратором системы обнаружения атак. Например, если в контролируемой сети функционируют узлы под управлением только ОС Windows, то не имеет смысла искать в этой сети признаки атаки Tribe Flood Network, которая присуща исключительно ОС Linux или Solaris.

Распознавание атак

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

q Сигнатуры, основанные на шаблоне (pattern-based signatures), выражении или строке, говорящих об атаке или иной подозрительной деятельности.Эти сигнатуры содержат некоторые ключевые слова или выражения, обнаружение которых и свидетельствует об атаке. Например, фрагмент "cwd ~root" в FTP-сеансе однозначно определяет факт обхода механизма аутентификации на FTP-сервере и попытке перейти в корневой каталог FTP-сервера. Другим примером является обнаружение в сетевом трафика апплетов Java с включением шестнадцатеричного фрагмента "СА FE BA BE". Эти же сигнатуры позволяют идентифицировать многих "троянских коней", если последние используют стандартные значения портов. Например, "троянец" NetBus, как это уже демонстрировалось выше, определяется по доступу к 12345-му и 12346-му портам, a BackOrifice 31337-му порту. Все сигнатуры по аналогии с фильтрами делятся на два класса— системные и пользовательские. Первые предопределены заранее, а вторые создаются и настраиваются администратором системы обнаружения атак.

q Сигнатуры, основанные на контроле частоты событий или превышении по­роговой величины.Эти сигнатуры описывают ситуации, когда в течение не­которого интервала времени происходят события, число которых превыша­ет заданные заранее показатели, Примером такой сигнатуры является обнаружение сканирования портов или обнаружение атаки SYN Flood. В первом случае пороговым значением служит число портов, просканированных в единицу времени. Во втором случае — количество попыток установления виртуального соединения с узлом также за единицу времени.

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

Анализ сетевого трафика может осуществляться двумя способами — путем синтаксического разбора отдельных сетевых пакетов при помощи регуляр­ных выражений и через анализ всего протокола в целом. Системы, исполь­зующие первый способ, основаны на механизме захвата необработанных (raw) пакетов сетевого трафика и пропускании их через синтаксический анализатор, который ищет в этих пакетах соответствие некоторому шаблону или сигнатуре [Graham l-00]. Примером такого шаблона можно назвать тек­стовый фрагмент "/etc/passwd", характеризующий попытку подбора пароли или запрос на передачу файла паролей по сети. Данные системы функционируют по следующему алгоритму [Network ICE l-00]:

1. В захваченном трафике выбирается один сетевой кадр, в котором будут искаться различные сигнатуры.

2. Начиная с самого первого байта сетевого кадра, выделяется группа бай­тов той же самой длины, что и рассматриваемая сигнатура. Затем две группы байтов (сигнатура и фрагмент пакета) сравниваются (рис. 6.22).

Механизм функционирования - student2.ru

3. Если две группы байтов тождественны, то атака обнаружена.

4. Если группы не одинаковы, то происходит продвижение на один байт вперед в последовательности байтов сетевого кадра, и процесс сравнения повторяется до тех пор, пока не наступит конец последовательности (рис. 6.23).

Механизм функционирования - student2.ru

5. Как только достигается конец сетевого кадра, система обнаружения атак начинает сравнение со следующей сигнатурой и так до конца базы данных.

6. Если в первом сетевом кадре не найдено соответствие ни одной из известных сигнатур, то начинается анализ второго сетевого кадра и весь процесс повторяется сначала.

Системы, основанные на анализе протокола в целом, захватывают все множество атак, а не только самые распространенные, тем самым приводя к уменьшению ложных срабатываний. Они способны провести границу между вполне безобидными и опасными событиями, например, найти отличия Back Orifice PING от Back Orifice compromise. С другой стороны, время добавления новой сигнатуры в базу данных систем обнаружения атак, основанных на обработке всего протокола, несколько больше, чем для системного анализа отдельных пакетов. Кроме того, базы данных сигнатур этих систем, как правило, не могут быть пополнены самим пользователем — ему приходится дожидаться обновления сигнатур со стороны производителя.

Функционирование этих систем отличается от такового для предыдущих систем (приводится пример алгоритма, иллюстрирующий разницу с описанным выше алгоритмом):

1. В захваченном трафике выделяется один сетевой кадр, в котором будутискаться различные сигнатуры.

2. Зная формат сетевых кадров Ethernet и протоколов более высокого уровня, мы можем уменьшить число возможных операций, т.к. не имеет смысла искать соответствие атаке в первых байтах Ethernet-кадра, содержащих адреса источника и получателя. Мы переходим сразу к 13-му и 14-му байтам данного кадра и определяем тип протокола верхнего (сетевого) уровня. В нашем случае — это протокол IP (значение 0x0800) (рис. 6.24). Необходимо отметить, что в данном примере рассматривается формат кадра Ethernet DIX (Ethernet II) и размер поля, идентифицирующего протокол верхнего уровня, равен 2 байтам. В случае других типов кадра (например, для 802.3/LLC) длина этого поля составила бы один байт, его значение было бы равно 6, а начиналось бы оно не с 13-го, а с 15-го байта.

Механизм функционирования - student2.ru

3. 10-ый байт заголовка IP-пакета (24-й байт от начала кадра) идентифици­рует протокол верхнего (транспортного) уровня. Размер этого поля равен одному байту, а его значение — 6, т. е. протоколом верхнего уровня явля­ется протокол TCP. Можно заметить, что мы опять отбросили некоторые поля заголовка IP-пакета, не являющиеся необходимыми для анализа (рис. 6.25).

Механизм функционирования - student2.ru

4. На следующем шаге мы анализируем первые две пары байтов заголовка TCP-пакета — это порты источника и получателя (35—38 байты первона­чального сетевого кадра). В нашем случае значение порта получатели равно 80, т. е. это протокол HTTP (рис. 6.26).

Механизм функционирования - student2.ru

5. Пропуская 20 байтов заголовка TCP-пакета, мы переходим непосредствен­но к полю данных (55-й байт), которое для протокола HTTP начинается с URL. Необходимо отметить, что для уменьшения рассматриваемого сете­вого кадра некоторые байты из него удалены. Именно с данной позиции мы и ищем соответствие сигнатуре "GET /cgi-bin/./phf" (рис. 6.27).

Механизм функционирования - student2.ru

6. Как только система обнаружения атак "упирается в" конец сетевого кад­ра, она начинает сравнение со следующей сигнатурой и так до конца ба­зы данных.

7. Если в первом сетевом кадре не найдено соответствие ни одной из известных сигнатур, то начинается анализ второго сетевого кадра и процесс повторяется сначала.

Можно заметить, что то, для чего в первом алгоритме нам понадобилось бы выполнить 55 операций, в данном алгоритме было достигнуто всего за 7 шагов.

Однако первые из названных двух категорий систем имеют преимущества над системами анализа протокола. В связи с тем, анализируя весь трафик, они могут обнаруживать атаки, пропускаемые другими системами. Например, если Web-сервер компании настроен на нестандартный порт (то есть не на 80, а, к примеру, 8083), то, вероятнее всего, система, основанная на анализе протоколов, пропустит атаку на этот сервер, т.к. не будет сопоставлять график нестандартного порта с HTTP-трафиком. Следовательно, любые атаки на нетрадиционные порты не будут обнаружены. Системы, осуществляющие анализ каждого пакета, не связаны с номерами портов и могут «вычислить» атаку в трафике, направленном к любому из 65 535 портов. Справедливости ради стоит сказать, что некоторые средства, опирающиеся на анализ протоколов (например, система RealSecure Network Sensor илиBlackICE Sentry) могут обнаруживать атаки для протоколов, работающих на не типичных портах. Реализуется это путем переопределения стандартных значений.

Реагирование на атаки

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

Наши рекомендации