Статистические системы обнаружения вторжений

Статистические системы обнаружения вторжений

Даже самым быстро реагирующим поставщикам требуются часы или даже дни для выпуска сигнатуры для систем обнаружения вторжений, основанных на правилах. В случае же Slammerа, уязвимая сеть будет поражена в течение нескольких секунд – слишком быстро даже для самых тщательно обновляемых RBID систем. Так как же блокировать червя, удваивающего количество зараженных систем каждые 8.5 секунд? Ответ может лежать в использовании менее известного метода обнаружения вторжений, называемого статистическим (или основанным на поведении) обнаружением аномалий.

 
SHAMS, по материалам SecurityFocus

24 января 2003 года был выпущен в свет W32.SQLExp.Worm (позднее названный Slammer/Sapphire). Этот червь использовал уязвимость переполнения буфера в Microsoft SQL Server 2000 (включая MSDE 2000). Несмотря на то, что уязвимости продуктов Microsoft не являются чем-то новым, скорость распространения червя была воистину пугающей. В течении 10 минут с момента запуска червя, он поразил 90% всех уязвимых систем по всему миру. До этого случая черви такого типа и «заразности» существовали только в теории и представляли чисто академический интерес.

Даже самым быстро реагирующим поставщикам требуются часы или даже дни для выпуска сигнатуры для систем обнаружения вторжений, основанных на правилах (RBID). В случае же данного червя, уязвимая сеть будет поражена в течение нескольких секунд – слишком быстро даже для самых тщательно обновляемых RBID систем. Так как же блокировать червя, удваивающего количество зараженных систем каждые 8.5 секунд? Ответ может лежать в использовании менее известного метода обнаружения вторжений, называемого статистическим (или основанным на поведении) обнаружением аномалий.

Традиционный путь обнаружения вторжений

Наиболее известные системы обнаружения вторжений основаны на правилах (сигнатурах). RBID системы для выявления потенциальной атаки используют «сигнатуру» атаки с последующий анализом входящего трафика. Сигнатуры весьма разнообразны и могут определять некие параметры от номера порта в пакете до последовательности байт в серии пакетов. После того, как сигнатура разработана, её использование обычно довольно эффективно предотвращает нежелательную сетевую активность.

Главным недостатком подхода RBID является тот факт, что сигнатуры сперва надо разработать и обновить систему новыми сигнатурами. Так как обнаружение злонамеренного трафика в RBID системах основано на сигнатурах, без сигнатур эффективность системы значительно понижается. К сожалению, разработка правил даже для атаки средней сложности не тривиальна. Разработка требует времени. Сначала атака должна быть обнаружена, записана и проанализирована. Потом сигнатуру надо создать и, наконец, выпустить её в свет. После того, как сигнатура выпущена, оператор IDS должен создать новое правило для своей IDS (иногда это тоже не так-то просто). Все эти шаги занимают время, а как уже обсуждалось ранее, такие  быстро распространяющиеся черви, как W32.SQLExp, времени администратору не дают вовсе. Даже если все эти шаги выполнить с умопомрачительной скоростью, фундаментальная проблема остается: если это новая атака, и для нее нет сигнатуры, RBID система может не заметить эту активность.

Статистический путь обнаружения вторжений

Статистические системы (SBID) имеют другой подход к обнаружению вторжений. Концепция SBID систем проста: система определяет «нормальную» сетевую активность и затем весь трафик, не подпадающий под определение «нормального» помечается как аномальный. SBID системы пытаются изучить сетевой трафик каждой конкретной сети. Процесс анализа трафика продолжается все время, пока SBID система активна, поэтому, предполагая, что типовой сетевой трафик остается постоянным, можно сказать, что чем дольше система используется в этой сети, тем точнее и эффективнее она становится. Анализируя сетевой трафик и обрабатывая информацию при помощи сложных статистических алгоритмов, SBID системы ищут аномалии в установившейся картине нормально сетевого трафика. Всем пакетам дается оценка «аномальности» (включающая в себя степень ненормальности специфического события) и если эта оценка выше определенного предела, IDS генерирует сигнал тревоги. Ключевой особенностью любой SBID системы является её возможность изучать сетевую активность и отличать нормальную сетевую активность от аномальной.

Основа SBID систем

Представьте, что у вас есть собака (Шарик), и каждый день вы приходите с работы и кормите её. День ото дня  вы приходите домой к пустой миске и наполняете её собачим  кормом. Однажды вы пришли домой и обнаружили, что миска лишь наполовину пуста. В зависимости от конкретной ситуации, это событие может быть очень обескураживающим и требовать изучения, а может быть чем-то, на что вы даже не обратите внимание. Теперь представьте, что вы пришли домой, а миска полностью полная. В этом случае, разумно было бы предположить, что что-то идет не так. Шарик мог заболеть, убежать, просто не быть голодным, но мог ведь и сдохнуть! Понятно, что в зависимости от степени необычности ситуации, может потребоваться дальнейшее выяснения обстоятельств.

Именно так организована работа SBID систем. Система изучает, что именно является “нормальным” для вашего трафика, наблюдая за активностью в течение некоторого периода времени (в аналогии с Шариком, это то же самое, что приходить к пустой миске каждый день). Когда происходит неизвестное или редкое (аномальное) событие, SBID обнаруживает его и генерирует сигнал тревоги (так же, как придя домой и обнаружив, что миска Шарика полная, вы начинаете думать - что может быть не так с Шариком). Разница между нормальным и аномальным событием определяется пороговой величиной (это похоже на то, когда вы, придя домой, обнаруживаете что миска наполовину пуста, и, основываясь на текущей ситуации, оцениваете, стоит ли это событие дальнейшего анализа). Если пороговая величина высока, то незначительные аномалии не принимаются во внимание (вас не заботит изменение количества еды в собачей миске). Если порог низок, то большинство аномалий являются причиной для расследования (вы проверите, что случилось с вашей собакой, даже если миска пуста наполовину).

Достоинства

SBID системы имеют ряд достоинств. Анализ характера трафика с последующим сообщением об аномальной активности может быть критически важным в наше время кибер-опасности. Так, как статистические системы не требуют каких-либо точных знаний  об атаке, необходимых для работы IDS, основанной на правилах, SBID системы могут обнаруживать даже “0-day” (совершенно новые) виды атак. Только это уже является серьезным аргументом в их пользу, так как традиционные RBID системы вряд ли обнаружат 0-day атаки.

Если сеть атакована новым червем, вирусом или атакой Denial of Service (DOS), SBID система, скорее всего, просигнализирует о наличии необычной активности. SBID системы также могут обнаруживать “low and slow” атаки. Эти атаки (или сканирование портов) обычно производятся опытными нарушителями и характеризуются большой продолжительностью (возможно, длятся месяцами), большой точностью и методичным исполнением. Обычно, эти атаки предназначены для сбора информации о сети или отдельной системе. Не имеет значения, насколько атака растянута по времени, так как в большинстве случаев, даже если атакующий посылает все лишь пакет в месяц, SBID система заметит аномальный трафик и просигнализирует об этом событии.

Другим важным достоинством SBID систем является то, что обслуживать их потенциально намного проще, чем RBID системы. Нет нужды в обновлении сигнатур, так как система не использует специфичную информацию об атаках. Вы можете подумать: “Самообновляющаяся, адекватно реагирующая на 0-day атаки, предупреждающая о сканировании портов IDS? Это слишком похоже на панацею для обнаружения вторжений!” Но это, конечно, не совсем так.

Недостатки

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

Правда, как вы уже наверное догадались, состоит в том, что большинство сетей чрезвычайно изменчивы в плане используемых программ, протоколов, служб и времени использования. Во многих случаях, единственная “нормальная” характеристика сети - это то, что сеть постоянно изменяется. Поэтому, SBID системы также страдают от возможности быть обманутыми атакующим. Например, атакующий может использовать программу типа Nmap и посылать многочисленные SYN запросы по сети. Через некоторое время SBID система будет считать эту активность вполне нормальной для данной сети и игнорировать. SBID система изучает, что есть “нормальный” трафик для данной сети, поэтому, если web-трафик - это всё, что передается по сети, то все, что не попадает под определение web-трафика, действительно будет поводом для тревожного сигнала. С другой стороны, если flood-пингование или старые трояны - это обычное для данной сети дело, то SBID система разрешит эту активность, так как она не может отличить “хорошую” активность от “плохой”, а только «нормальную» от «аномальной» (Это аналогично ситуации, когда в вашей машине загорается лампочка “проверьте масло”. Сначала это вызывает  тревогу, но когда лампочка остается гореть, когда машина работает нормально, вы начинаете все больше и больше ее игнорировать. В конце концов, зажженная лампочка станет для вас “нормальной”).

Другая проблема статистических систем обнаружения вторжений - это развертывание этих систем. В отличие от RBID систем, SBID системы не имеют немедленного эффекта при их установке в сети. Даже если SBID система установлена в довольно согласованной сети, процесс ее обучения может занять дни или недели, для того, чтобы накопился некий объем данных и анализ стал точным и эффективным. SBID системы требуют от оператора высокого мастерства в искусстве анализа пакетов. SBID системы, в отличие от RBID систем, не генерируют сообщения, точно описывающие что же конкретно произошло. Аналитик, например, не получит сообщения с заголовком “EXPLOIT dtspcd exploit attempt“. Сообщение будет просто набором пакетов, и определение природы данных пакетов ложится на оператора. Кроме того, оператор SBID должен установить эффективное пороговое значение. Так же, как и число определенных правил в RBID системе, пороговое значение критически важно и может сделать систему эффективной или бесполезной. Установка порогового значения слишком высоким приведет к тому, что система не будет выдавать сигналы там, где это было необходимо, а при слишком низком значении, система будет выдавать большое количество ложных тревог.

Несмотря на эти недостатки, SBID система остается важным инструментом обеспечения безопасности. Надо заметить, что такая форма обнаружения аномалий, как обнаружение аномалий протокола, позволяет решить некоторые из перечисленных проблем SBID систем. Вместо того чтобы тренировать модель по нормальному поведению, детекторы аномалий протокола строят модели TCP/IP протоколов, использующих RFC, хотя, необходимо уточнить, что правильный по RFC трафик также может быть аномальным. (За более подробной информацией можно обратиться к RFC 791 (IP) и RFC 793 (TCP). Для более подробной информации по обнаружению аномалий протокола, см. Kumar Das's “Protocol Anomaly Detection for Network-basedIntrusion Detection”.

Многоуровневые системы

Оптимальная конфигурация IDS может быть достигнута совместным использованием SBID и RBID систем. Системы обнаружения вторжений, основанные на правилах, популярны по одной причине – они давно и неплохо работают. Обновляя сигнатуры и изменяя набор правил для нужд конкретной сети, администратор RBID может пресечь более 95% атак. К сожалению, в безопасности достаточно пропустить лишь один удар, выводящий сеть из строя. Поэтому использование SBID систем дополнительно к RBID системам может быть хорошим решением.

Совместно используя разные системы обнаружения вторжений, сеть может получить плюсы обеих систем. IDS, основанные на правилах будут обнаруживать известные атаки, в то время как статистические IDS будут отлавливать “0-day” и “slow and low” случаи. Такая конфигурация лучше всего обнаружила бы червя W32.SQLExp, упомянутого ранее. Основанная на поведении SBID система позволила бы администратору обнаружить зараженную машину и исключить её из сети. SBID система должна обнаружить необычную активность (огромное количество UDP пакетов на порт 1434 и случайные IP адреса) и сообщить об аномальном трафике. Обнаруженный  червь может быть легко уничтожен оператором на инфицированной машине. Без сомнения, лучшим решением для борьбы с червем было бы регулярное обновление системы. Тем не менее, когда новые заплатки не устанавливаются сразу (а это неминуемо станет проблемой в будущем), SBID система может дать первый отпор неизвестному врагу.

Заключение

До сих пор нет идеального IDS решения. Похоже, что лучший подход - это комбинация IDS с различными методами. На сегодня имеется мало поставщиков, предлагающих SBID решения. К счастью, эти решения являются частью гораздо большего предложения RBID систем. Будьте уверены, в будущем будут и более заразные и более деструктивные черви, чем W32.SQLExp. В сегодняшнем мире кибер-преступлений, злонамеренных пользователей и кибер-терроризма, угрозы, без сомнения, будут продолжать заставлять профессионалов по обеспечению безопасности набираться нового опыта. Тем не менее, с использованием статистических систем обнаружения вторжений в дополнение к уже имеющимся системам, основанным на правилах, вы будете лучше защищены от текущих и будущих угроз. И, может быть, увеличив защищенность вашей сети, вы будете больше времени проводить со своей собакой (Шариком), и меньше с червями.

Если вам нравится играть в опасную игру, присоединитесь к нам - мы научим вас правилам!

Подписаться