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

Автор: manager Суббота, Март 15th, 2008 Нет комментариев

Рубрика: Безопасность

Ни для кого не секрет, что Интернет сейчас далеко не самое безопасное место. Если лет семь назад пребывание в сети было, в основном, уделом технарей-специалистов, то теперь (даже у нас в России) доступ к ней получило множество людей, не слишком хорошо осведомленных о тонкостях функционирования програмного и аппаратного обеспечения. Это прямое следствие того факта, что компьютер и сеть становятся практически незаменимыми инструментами как на работе, так и в повседневной жизни. Думаю, не многие из вас знают принципы построения, скажем, телефонных сетей. Однако, в сети найдется множество субъектов, умеющих и готовых использовать уязвимости вашей системы против вас и против других, подчас совершенно незнакомых вам людей.

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

Системами обнаружения вторжений называют множество различных програмных и аппаратных средств, объединяемых одним общим свойством — они занимаются анализом использования ввереных им ресурсов и, в случае обнаружения каких-либо подозрительных или просто нетипичных событий, способны предпринимать некоторые самостоятельные действия по обнаружению, идентификации и устранению их причин. Те из вас, кто читал Гибсона, знают, что он называл такие системы льдом (ICE). Идея создания подобных средств отнюдь не нова. Один из первых известных мне проектов такого рода описан в 1992 году специалистами из AT&T в статье «There Be Dragons». Суть проекта заключалась в установке на шлюзовой машине research.att.com набора специально написанных демонов, эмулирующих работу стандартных, но при этом протоколирующих все события и пытающихся отслеживать адреса и имена пользователей осуществляющих взаимодействия с ними. Статья построена на анализе log-файлов, полученых в результате этого реального эксперимента.

Самым популярным видом IDS сейчас являются, пожалуй, так называемые Network Intrusion Detection Systems — системы обнаружения атак на сетевом уровне. По сути своей они являются автоматизированными снифферами (sniffer — средство, осуществляющее перехват и протоколирование сетевого трафика; в силу принципов функционирования сети, снифер способен «видеть» трафик только в пределах сегмента сети). Снифферы появились довольно давно и используются в самых разных целях, от анализа сетевых неполадок, до перехвата злоумышленниками чужих паролей (См картинку). Однако NIDS не просто снифферы, они пытаются самостоятельно интерпретировать перехваченный трафик. Обычно подобная интерпретация сводится к поиску так называемых паттернов — учасков трафика, обладающих определенными, задаными при конфигурации NIDS свойствами. Достаточно установить и настроить такую систему у себя в сегменте, и она будет предупреждать вас о попытках сканнирования портов, DOS или DDOS атаках, попытках удаленного подключения к сетевым дискам (SMB, NFS) или удаленного вызова процедур (RPC), и даже о попытках использования известных ей эксплойтов.

Среди множества NIDS, в изобилии наводнивших рынок как комерческих, так и свободно распространяемых программ, мне хотелось бы выделить одну. Это весьма популярная свободно распространяемая система Snort (все комерческие NIDS наряду со множеством достоинств обладают рядом существенных недостатков, среди которых высокая цена, сложность настройки и установки, и, зачастую, жесткая привязка к аппартным средствам или операционной системе). Snort, напротив, легко настраиваемая, мультиплатформенная, распространяемая в исходных кодах под лицензией GNU система, дистрибутив которой занимает около ста килобайт. Кроме того, в то время как пользователи коммерческих NIDS будут ждать обновления после обнаружения нового типа атаки, вы сможете сами быстро изменить конфигурацию Snort. Автор этой системы — Martin Roesch roesch@clark.net. Для установки Snort потребуется свободно распространяемая библиотека libpcap. Snort построен из трех взаимодействующих частей сниффера, анализатора и системы отправки тревожных сообщений.

Анализатор обрабатывает трафик, используя очень простой язык. Например, так будет выглядеть правило, по которому все UDP-пакеты, направленные на порт 31337 компьютера в вашей подсети (стандартный порт программы Back Orifice, часто используемой злоумышленниками для удаленного управления уже захваченными компьютерами), будут вызывать появление тревожного сообщения:

alert udp any any -> $HOME_NET 31337 (msg:»Back Orifice»;)

Все тревожные сообщения могут быть направлены в отдельный, созданный для них файл, в syslog, или, в качестве WinPopup сообщения, отправлены на любой Windows-хост. Snort может быть использован в качестве компонента более серьезной IDS SHADOW.

Самым, на мой взгляд, интересным проектом NIDS на сегодняшний день является GrIDS (Graph-Based Intrusion Detection System), разработанная в Калифорнийском Университете в 1999 году. В этой системе информация, собранная отдельными датчиками (снифферами), расположенными в различных сегментах сети, обобщается, и на ее базе строится состояние сети представленное в виде нагруженного графа. Несколько таких представлений, в свою очередь, могут быть обощены в более абстрактное. Такая хитрая обработка информации позволяет осуществлять распознавание очень сложных паттернов (например, распространение червя или распределенное сканнирование портов или хостов). Первая реализация этой системы была на Perl, однако, так как это сугубо научная разработка, реально применять ее для защиты сетей пока нельзя. Более подробно ознакомиться с этим проектом вы сможете здесь:http://olympus.cs.ucdavis.edu/arpa/grids/welcome.html

Встречаются и гораздо более экзотические NIDS. Так например, система ERIDS (External Routing Intrusion Detection System) занимется отслеживанием попыток перехвата сетевого трафика путем перенастройки маршрутизаторов таким образом, чтобы они пускали трафик через сегмент злоумышленика, где он легко может анализировать его или вносить какие-либо изменения. Авторами данного проекта являются Stephen T. Kent и Luis A. Sanchez.

Однако понятно, что подобного рода системы не являются панацеей от всех бед. Во-первых, современные сети все чаще строятся на основе switch-ей, то есть каждый сегмент содержит фактически только одну машину и роутер. О том как настроить switch таким образом, что бы он, помимо всего прочего, направлял все пакеты в один специальный сегмент, где можно установить NIDS, можно почитать в статье «ID FAQ — How do you deploy network-based IDSes in a switched network» на сайте www.sans.org. В качестве другого примера можнно представить случай, когда злоумышленик получил доступ к терминалу и вошел в систему под видом легального пользователя. Здесь на помощь приходят так называемые операционные системы обнаружения вторжения (Operational Intrusion Detection Systems) в противовес обычным (структурным) IDS. Задача такой OIDS заключается в постоянном анализе действий легального пользователя с целью выделения некоторых паттернов свойственных этому конкретному пользователю, и параллельном сравнении этих действий с паттернами, найдеными ранее, с целью оценки типичности его поведения. На основе этой оценки может приниматься решение о блокировке сомнительного действия или о оповешении обслуживающего персонала о потенциальной угрозе вторжения. В качестве примера можно рассмотреть DEMIDS (A Misuse Detection System for Database Systems) — систему обнаружения некорректного использования систем баз данных. Эта IDS разработана в том же Калифорнийском Университете, что и упомянутая выше GrIDS. В работе производится попытка использования более серьезного математического аппарата — вводится пространство запросов к базе данных и понятие расстояния между двумя векторами-запросами. После этого обнаружение некорректного использования фактически сводится к проверке расстояния от каждого нового запроса до вектора, являющегося усреднением предыдущих запросов.

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

Автор: Alex Tikhonov

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты