Способ реагирования на угрозы

Технологии обнаружения вторжений

 

В настоящее время большинство производителей программных средств защиты для домашних и корпоративных пользователей предлагают интегрированные решения, куда включены такие компоненты, как антивирус, антиспам, проактивный модуль и межсетевой экран, в сочетании со встроенной системой обнаружения вторжений (СОВ, или Intrusion Detection System, IDS*). В данной статье мы остановимся на системах обнаружения вторжений, заглянув поглубже на "кухню" сетевой защиты.

* Intrusion Detection System, IDS — программное средство, предназначенное для выявления фактов неавторизованного доступа в компьютерную систему или сеть либо нарушения их нормального функционирования и иных попыток взлома.

Общие сведения

Необходимость в IDS возникла еще в те далекие времена, когда Интернет (в ту пору ARPAnet) вышел за пределы военных и исследовательских институтов США и постепенно начал превращаться в столь же привычный инструмент, как телефон. Привилегированный доступ специалистов и ученых к стратегически важным объектам сети уступил место масштабному и практически неконтролируемому подключению случайных людей. Разумеется, первые практические наработки в области IDS появились гораздо позже, чуть более двух десятилетий назад, и заметно уступали по функциональности современным аналогам. Основополагающими документами при их построении считаются труды Джеймса Андерсона "Мониторинг угроз компьютерной безопасности" и Дороти Деннинг "О модели обнаружения вторжения" (опубликованы в 1980-х гг.).

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

Способ сбора информации

По способу сбора информации (перехвату сетевого трафика) системы обнаружения вторжений делят на два типа: host-based IDS (хостовая, или локальная) и network-based IDS (сетевая). Оба типа имеют свои особенности, определяющие в конечном счете всю архитектуру системы IDS. Здесь необходимо упомянуть следующие их принципиальные различия:

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

Исходя из того, что в гетерогенной сети с высокой вероятностью могут присутствовать клиенты с различными ОС, заметным минусом сетевой IDS становится потенциальная уязвимость к атакам, учитывающим особенности реализации различных TCP/IP-стеков, например, при обработке фрагментированного сетевого трафика. Известно несколько разновидностей таких атак.

Fragmentation Reassembly Timeout attacks — это атаки, базирующиеся на различии временных интервалов (“тайм-аутов”) стеков TCP/IP разных ОС при сборке фрагментов. Если значения тайм-аутов дефрагментатора IDS отличаются от соответствующих значений на стороне атакуемой системы, для последующего анализа будет собран неправильный поток.

TTL Based attacks — в основном такие атаки реализуются путем генерации ложных фрагментов, которые по замыслу не будут получены жертвой, но будут перехвачены и ошибочно учтены дефрагментатором IDS для текущей сессии. Ситуацию легко воспроизвести, если IDS и атакуемый объект расположены в разных сетевых сегментах.

Overlapping Fragments — при такой атаке происходит (либо не происходит) перезапись уже полученных фрагментов вновь поступающими дубликатами, имеющими аналогичный порядковый номер. В результате сессия на стороне IDS может быть дефрагментирована иначе, чем на стороне жертвы атаки.

Таким образом, чтобы обеспечить защищенность всего периметра гетерогенной сети с помощью сетевой IDS, требуется ее тщательная оптимизация, учитывающая, какое сетевое оборудование и ПО используются в каждом конкретном случае. Хостовая IDS лишена этого недостатка благодаря возможности установки программных перехватчиков как на NDIS-, так и на TDI-уровне ОС.

Метод анализа информации

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

Самая известная система обнаружения вторжений на основе сигнатурного поиска — это, безусловно, Snort (http://www.snort.org). Данная IDS завоевала множество почитателей во многом благодаря открытому формату хранения баз (в виде текстовых файлов), легкости их изменения и внесения собственных наборов правил. В Интернете существует некоммерческий проект Bleeding Edge Threats (http://www.bleedingthreats.net), посвященный методам борьбы с сетевыми угрозами и созданию соответствующих сигнатур для Snort.

Способ реагирования на угрозы

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

На сегодняшний день самый распространенный тип подобных систем — активные IDS. Идеология пассивных IDS более подходит к существующим проектам типа систем-ловушек (honeypot) либо сетей на их основе (honeynet), задача которых — как можно более правдоподобно эмулировать уязвимую систему и сервисы, при этом сохраняя полную историю происходящего (включая сетевую сессию в raw-формате), не выдавая себя и не создавая дополнительной преграды для нарушителя. В итоге с высокой долей вероятности удается определить новые методы компрометации системы.

Статистический метод. Основные преимущества статистического подхода — использование уже разработанного и зарекомендовавшего себя аппарата математической статистики и адаптация к поведению субъекта.

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

• «статистические» системы не чувствительны к порядку следования событий; в некоторых случаях одни и те же события в зависимости от порядка их следования могут характеризовать аномальную или нормальную деятельность;

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

• «статистические» системы могут быть с течением времени «обучены» нарушителями так, чтобы атакующие действия рассматривались как нормальные.

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

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

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

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

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

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

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

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

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

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

Методы реагирования

Вторжение не только должно быть обнаружено, но и необходимо правильно и своевременно среагировать на него. В существующих системах применяется широкий спектр методов реагирования, которые можно разделить на три категории:

• уведомление;

• сохранение;

• активное реагирование.

Применение той или иной реакции зависит от многих факторов.

 

Уведомление.

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

К категории «уведомление» относится также посылка управляющих последовательностей к другим системам, например к системам сетевого управления или к МЭ.

 

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

 

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

 

Хранилище данных обеспечивает хранение данных, собранных в процессе функционирования системы обнаружения вторжений.

Требования к IDS

Существует принципиальная разница в программировании логики вынесения вердикта у детекторов, входящих в состав network-based IDS и host-based IDS. Основная причина — различный уровень подготовленности персонала, от которого требуется проанализировать ситуацию и однозначно отреагировать на случившееся. Часто для правильной оценки рисков необходима достаточно высокая квалификация. В связи с этим к хостовым IDS предъявляют повышенные требования по технологиям детектирования и фильтрации шумов. Для сетевых IDS без дополнительной оптимизации приемлемым уровнем false alarms (ложных срабатываний) принято считать цифру 90%, т. е. всего 10% срабатываний действительно относятся к попыткам нарушения безопасности систем. На практике за счет дополнительных усовершенствований процент ложных тревог понижается до 60% и менее, что считается очень хорошим показателем. Для современных host-based IDS аналогичный показатель не может превышать нескольких процентов, другими словами, пользователь должен быть оповещен лишь в случае реальной атаки.

Для обнаружения атак, потенциально реализуемых на любом из уровней стека TCP/IP (от сетевого до прикладного), ядро системы обнаружения вторжений должно быть построено в виде драйвера ОС, с возможностью низкоуровневого перехвата поступающих на интерфейс пакетов, которые далее будут обработаны внутренним анализатором протоколов, входящим в IDS, и непосредственно движком-детектором, окончательно определяющим характер соединения. Важный критерий здесь — скорость сканирования трафика, ведь при работе за компьютером, полностью загруженным только проверкой, не может идти речи ни о какой комфортности. Существенную оптимизацию в такого рода задачах повышения быстродействия обеспечивают математические алгоритмы, в частности, методы хеширования.

 

Модель OSI Международная организация по стандартизации (International Standards Organization, ISO) спроектировала эталонную модель, определяющую семь различных уровней взаимодействия систем. Каждый из уровней имеет собственное стандартизованное наименование (например, сетевой, транспортный и т. д.) и перечень документов, регламентирующих список протоколов, которые используются на данном уровне. Сама модель получила название «модель взаимодействия открытых систем» (Open System Interconnection, OSI) или сокращенно модель ISO/OSI.

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

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

** Эксплойт уязвимости (от англ. exploit — использовать) — это обобщенное наименование компьютерных программ особого типа (обычно небольшого размера), которые используют возможности, предоставляемые ошибкой (уязвимостью) в других программных продуктах, чтобы совершить незапланированные автором этих программных продуктов действия: например, выполнение произвольного кода в контексте уязвимого приложения и т. п.

Например, “Лаборатория Касперского” разработала специальную утилиту KLDump (ftp://ftp.kaspersky.ru/utils/KLDump/KLDump.exe), позволяющую сохранять полный лог сетевой активности в файл, который затем можно отправить по электронной почте экспертам для анализа. Если вредоносность присланного файла подтвердится, пользователь получит от разработчика срочное антивирусное обновление.

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

Использование уязвимостей

Первопричиной программных ошибок и некачественного кода смело можно назвать неизбежную циркуляцию программистской рабочей силы. Текучка в крупных ИТ-компаниях, создающих сложное многокомпонентное ПО, приводит к тому, что количество конструктивных просчетов в технических заданиях и процент однотипных логических ошибок поддерживаются практически на постоянном уровне. Просчетами в данном случае можно считать несоблюдение неких общепринятых стандартов, например, требований RFC (http://www.ietf.org/rfc.html), и низкий уровень документированности разрабатываемого проекта. В свою очередь, среди критических с точки зрения информационной безопасности ошибок можно выделить два типа:

  • отсутствие проверок выхода за границы массива;
  • небезопасная работа с функциями, которые не контролируют корректность переданных им параметров.

К первым относят так называемые ошибки переполнения — buffer overflow, heap overflow, integer overflow и другие, менее известные; исторически значимое упоминание о возможности совершения незапланированных действий при возникновении таких ситуаций зафиксировано еще в 1980-х гг. Из ошибок второго типа назовем нашумевшие ошибки форматной строки, или format string vulnerabilities, которые получили широкую огласку в конце 1990-х и изначально использовались как брешь в защите систем Unix. Одним из первых публичных эксплойтов подобной уязвимости был WuFTPd 2.6.0 Remote Root Exploit, датируемый серединой 2000 г.

Из-за растущей популярности и повсеместного внедрения разнообразных сервисов на основе Web-технологий появились новые потенциальные векторы атак, привлекающие повышенное внимание злоумышленников. Стал четко формироваться отдельный подкласс уязвимостей в сетевых приложениях, полностью написанных на скриптовых языках и активно использующих в своей работе базы данных. Для них определились новые жаргонные названия, такие, как PHP Inclusions, CrosSite Scripting, SQL Injections. Сегодняшние новостные сводки Bugtraq полны отчетов, шутливо озаглавленных: Summary Daily Web-Based Applications Security Vulnerabilities.

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

Часто по ряду причин детальный разбор внутренностей абстрактной системы невозможен (понятие "система" трактуется здесь как программный код либо иное программно-аппаратное решение), и для исследователя она представляет лишь "черный ящик" с множеством входов/выходов . Но и даже в таком, с виду тупиковом, варианте беспроигрышной тактикой, позволяющей выявить наличие брешей, остается универсальная схема "запрос — ответ", или получение слепков реакций изучаемой системы на специально сформированные входные данные, с дальнейшим их накоплением, систематизацией и скрупулезным анализом на финальной стадии. Бинарная структура самих запросов, в частности, определяется типом прощупываемого объекта и иной спецификой, зависящей от изначально сформулированных требований к проводимому исследованию.

Анализ "черного ящика": проявление ошибки типа format string в популярном IMAP-сервере.

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

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

Сегодня криминальная активность виртуального мира все чаще нацелена на обычных пользователей, не подозревающих, что против них совершается нечто противозаконное. Но подобная тенденция нисколько не уменьшает количества попыток проникновения на защищенные серверы крупных корпораций, где самое ценное — это промышленная информация и внутренний документооборот компании. Отчетливо наблюдается разделение труда в сообществе андерграунда: специализация одних — уязвимости серверного ПО, для других объектом повышенного внимания становится клиентское ПО, такое, как Web-браузеры, популярные почтовые агенты, разнообразные сетевые службы Windows как самой распространенной пользовательской ОС и, разумеется, самый лакомый кусок — стек TCP/IP . Цена критических ошибок, нелегально предлагаемых в Интернете, достигает 5000 долл.

По заверениям Microsoft (http://www.microsoft.com/technet/community/columns/cableguy/cg0905.mspx), с выходом ОС следующего поколения Windows Vista произойдет смена сетевого ядра, отлаженного временем и миллионами компьютеров, на абсолютно новое под кодовым названием Next Generation TCP/IP stack, существенным нововведением в котором будет полная поддержка протокола IPv6. Однако не стоит надеяться, что при подобном подходе общая архитектура системы станет более безопасной и избавится от старых ошибок, даже пройдя многочасовые лабораторные тесты.

В подтверждение этой точки зрения уместно привести некоторые выдержки из Bugtraq, датированные периодом весна-лето 2006 г. В них упоминаются (MS06-025) Microsoft Windows RRAS Buffer Overflow Vulnerability, критическая уязвимость в службе Windows Routing and Remote Access, по степени опасности сопоставимая с печально известными "дырами" в DCOM RPC (MS03-026) и LSASS(MS04-011), а также (MS06-036) Vulnerability in DHCP Client Service Could Allow Remote Code Execution, критическая уязвимость в TCP/IP-стеке Windows (и это спустя пять лет после релиза!).

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

Вывод напрашивается сам собой: в отшлифованных годами внутренностях Windows критические ошибки встречаются до сих пор! Что же преподнесет нам релиз Vista?

Тестирование систем IDS

На сегодняшний день не существует общепринятых методик тестирования "действительных" способностей IDS-подсистем, аналогичных антивирусным тестам EICAR. Наиболее показательным, на наш взгляд, могло бы быть тестирование в условиях воздействия реальных угроз*** на стендах под защитой соответствующих продуктов.

Осенью 2006 г. в "Лаборатории Касперского" было проведено внутреннее тестирование различных средств обеспечения безопасности. В нем использовались наиболее актуальные эксплойты, воздействующие на самые разные приложения, от сервисов Windows и серверных компонентов до сетевых игр. Результаты исследования представлены в отчете "Сравнительное тестирование систем предотвращения вторжений" (http://www.kaspersky.ru/downloads/word/idscomparison.doc).

 

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

Сохранение.

К категории «сохранение» относятся два варианта реагирования:

• регистрация события в БД;

• воспроизведение вторжения в реальном масштабе времени. Первый вариант широко распространен и в других системах защиты. Для реализации второго варианта бывает необходимо «пропустить» атакующего в сеть компании и зафиксировать все его действия. Это позволяет администратору безопасности затем воспроизводить в реальном масштабе времени (или с заданной скоростью) все действия, осуществленные атакующим, анализировать «успешные» вторжения и предотвращать их в дальнейшем, а также использовать собранные данные в процессе разбирательства.

 

Активное реагирование. К этой категории относятся следующие варианты реагирования:

• блокировка работы атакующего;

• завершение сессии с атакующим узлом;

• управлением сетевым оборудованием и средствами защиты.

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

 

Краткое описание

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

 

 


Дата добавления: 2020-12-12; просмотров: 57; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!