Размер и число обрабатываемых пакетов

Очень важными параметрами для любой сетевой системы обнаружения атак являются число обрабатываемых сетевых пакетов в секунду и размер последних. Именно от них зависит эффективность системы обнаружения атак. Практически все производители поддерживают пакеты размером в 1500 байтов (максимальный кадр Ethernet без заголовка), но уже немногие справятся с 46-байтовыми пакетами (минимальный кадр Ethernet без заголовка). Мало того, некоторые системы обнаружения атак "падают" при обработке пакетов столь малого размера. И хотя обычно пакеты-"коротышки" (runt) редко встречаются в сети (IP-телефония еще не так развита, как хотелось бы), надо учитывать такую возможность. Количество обрабатываемых пакетов также немаловажно. На основании этих двух параметров измеряется приблизительная пропускная способность системы обнаружения атак на уровне сети. Это значение можно получить (в Мбит/с) по упрощенной формуле:

Пропускная способность = число обрабатываемых пакетов * размер пакета (в битах) / 1000000

Например, для размера сетевого пакета, равного 1500 байтам, и при 30 000 обрабатываемых пакетов в секунду пропускная способность системы обнаружения атак составит 360 Мбит/с. На первый взгляд неплохо. Но в сетях очень редко циркулируют пакеты только такого размера. В трафик входят еще и служебные пакеты существенно меньшего объема. Кроме того, злоумышленники очень часто фрагментируют свои атаки, что приводит к не возможности их обнаружения некоторыми системами обнаружения атак. Учитывая изложенные соображения, при том же числе обрабатываемых пакетов, но при уменьшении длины до 64 байтов пропускная способность составит всего 15,36 Мбит/с.

На самом деле есть еще один аспект, который надо учитывать при вычислении пропускной способности системы обнаружения атак. Это число сигнатур в базе данных обнаруживаемых атак. При этом имеются в виду именно сигнатуры, а не события безопасности. Например, для уже упоминавшегося в главе 2 события безопасности "атака на CGI-сценарий PHF" может существовать несколько различных сигнатур:

· GET /CGI-bin/phf

· HEAD /CGI-bin/phf

· GET /%63%67%69%2d%62%69%6e/phf

· GET//CGI-bin/phf

· GET /CGI-bin/foobar/../phf

· GET/CGI-bin/./phf

· GET%00/CGI-bin/phf

С учетом сказанного приведенная ранее формула будет выглядеть следующим образом:

Пропускная способность = число обрабатываемых пакетов * средний размер пакета * число сигнатур в базе данных * средний размер сигнатуры

Для указанных выше данных и при наличии 4000 сигнатур в базе данных при среднем их размере в 20 байтов, число необходимых вычислений составляет 3 600 000 000 000 (при 1500-байтовом размере пакета) или 153 600 000 000 (при 64-байтовом пакете) операций в секунду. На сегодняшний день такие вычислительные возможности недоступны для обычных компьютеров. Именно поэтому многие существующие системы обнаружения атак пропускают некоторые модификации известных сигнатур.

Распределенное по времени сканирование

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

Выведение из строя системы обнаружения атак

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

Ослепление датчика

Системы обнаружения атак с трудом справляются с высокоскоростными сетями. В результате высокой загрузки сетевой сенсор не только начнет пропускать некоторые атаки, но и сам может быть выведен из строя. Таким образом, злоумышленник может "обезвредить" систему обнаружения атак путем генерации большого объема трафика. Однако эта атака возможна только в двух I случаях. Во-первых, она может быть осуществлена нарушителем, действующим в том же сегменте, что и цель атаки, и имеющим возможность сгенерировать большие объемы трафика. Во-вторых, эта атака реальна в случае распределенного нападения на периметровые узлы. В этом варианте несколько сотен и тысяч узлов могут посылать пакеты со скоростью 28,8 Кбит/с, но за счет большого числа участников распределенной атаки достигается эффект лавины, в результате чего атакуемый узел выводится из строя.

Отказ в обслуживании

Система обнаружения сетевых атак — чрезвычайно сложный комплекс, который также подвержен атакам типа "отказ в обслуживании". В [Paxson1-98] описаны некоторые из этих проблем. Все атаки типа "отказ в обслуживании" на систему обнаружения атак могут быть разделены на две категории.

· Атаки на перегрузку (overload).

· Атаки на отказ (crash).

Атаки на перегрузку заключаются в создании таких условий, при которых система обнаружения атак не сможет (или не станет) обрабатывать или хранить анализируемые данные. Примером атаки данной категории является Переполнение журнала регистрации системы обнаружения атак (Log Flood) Что, приводит к нарушению функционирования системы регистрации или Перезаписи уже имеющихся событий, в т. ч. и событий, говорящих о присутствии в трафике атаки. На рис. 11.6 приведен вид журнала регистрации приложения, которое подвержено такой атаке (Event Viewer).

Для устранения указанных воздействий на систему обнаружения атак можно задействовать различные механизмы. Например, система RealSecure Network Sensor обладает механизмом Event Propagation, который позволяет уменьшить число отображаемых событий на консоли и записываемых в базу данных, что защищает последнюю от переполнения. Кроме того, этот механизм позволяет не отвлекать внимание администратора на лишние события.

Размер и число обрабатываемых пакетов - student2.ru

Рис. 11.6. Event Viewer

Второй класс атак похож на атаки на перегрузку. Но, если первый тип атак можно косвенно зафиксировать, то со вторым классом все намного сложнее. Например, используя ошибки в коде системы обнаружения атак, можно вывести ее из строя. Такая ситуация возникала с системой RealSecure Network Sensor устаревшей версии 3.2.2, которая "падала" при обработке фрагментированных пакетов. Кроме того, этот тип атак особенно актуален для систем, захватывающих сетевой трафик не при помощи собственного драйвера, напрямую работающего с сетевой картой, а посредством драйвера операционной системы. В этом случае атаки могут ориентироваться на уязвимости в реализации стека протоколов самой операционной системы, что приведет к выведению из строя не только самой ОС, но и всех работающих под ее управлением приложений.

Простое уклонение

Данный раздел описывает простые меры уклонения, вводящие в заблуждение системы обнаружения атак. Другие способы обхода системы обнаружения атак также описаны в переведенном мной в 1999 году документ [Коэн1-99].

Фрагментация

Фрагментация — механизм разбиения IP-пакета на множество более мелких фрагментов. При получении таких пакетов TCP/IP-устройство собирает (reassembly) эти пакеты и передает конечному приложению или повторно фрагментирует их и передает дальше. Многие из систем обнаружения атак не умеют восстанавливать сегментированные IP-пакеты, что приводит к потенциальной возможности обойти их или вывести из строя. Это опасно в принципе, т. к. существуют специальные программные средства, фрагментирующие обычный сетевой трафик (например, FragRouter).

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