Описание и изучение IDS приложения Snort

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    2,45 Мб
  • Опубликовано:
    2012-09-15
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Описание и изучение IDS приложения Snort

Введение

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

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

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

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

Основная задача этой работы состоит в том, что бы разобраться с функциональными особенностями работы IDS Snort, проверить работу приложения производя на него разного рода сетевые атаки. Выяснить есть ли аналогичные IDS в более удобном формате. Как Snort взаимодействует с базами данных. Разработать несколько уникальных правил и проверить их на работоспособность.

1. Установка и настройка IDS Snort

 

1.1 Snort: Установка на ОС Windows XP


При установке Snort на операционную систему Windows могут возникнуть некоторые сложности. Поэтому в этой работе уделяется достаточно подробная часть установки и возможностей настройки. Для начала нужно скачать требуемые программы на рабочий компьютер.

winpcap.

Snort

правила для Snort.

Все вышеуказанное скачивается с официальных сайтов этих приложений.

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

var RULE_PATH c:\snort\rulesSO_RULE_PATH c:\snort\so_rulesPREPROC_RULE_PATH c:\snort\preproc_rulesdirectory c:\snort\lib\snort_dynamicpreprocessorc:\snort\lib\snort_dynamicengine\sf_engine.dll

#dynamicdetection directory /usr/local/lib/snort_dynamicrules

Находим подобные строчки в конфигурационном файле и заменяем теми которые предоставлены выше. После этого пробуем протестировать приложение. Запускаем командную строку и переходим к каталогу приложения в раздел "bin". Введем команду "snort -W"

Рис. 1.1. Проверка работы

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

С:\Snort\bin\snort -i 3 -c C:\snort\etc\snort.conf -l C:\snort\log -A console

Разберем теперь команду которую мы ввели. "- i 3" означает что мы будем просматривать интерфейс который имеет ID= 3 в списке наших интерфейсов. Затем мы указали путь до файла конфигурации и путь до каталога куда следует записывать "log" перехваченных пакетов. "-A console" обозначает что тревожные пакеты будут выявляться у нас в консоли. Если во время обработки возникают какие либо неполадки устраняем их по ходу выявления. Snort указывает строку и вид ошибки при сборке. Если все сработало, то мы ничего не увидим до тех пор пока не сработает одно из запущенных правил. Что бы задействовать одно из них попробуем имитировать сетевую атаку и запустим подозрительный пакет по нашей локальной сети. Для этого к примеру откроем командную строку и введем следующее: "Ping 192.168.1.16". Snort перехватит попытку прослушать хост под адресом 192.168.1.16\24 и выведет сообщение и информацию об подозрительном действии в сети. К сожалению у подобных IDS систем есть сильный недостаток -это ложные срабатывания. В связи с этим для того что бы Snort был полезным и не вводил в заблуждение, нужно достаточно емко и четко прописывать правила и разграничивать просматриваемые сети, что бы избежать этих ложных срабатываний.

Рис. 1.2. Вывод Alert сообщений

Сейчас в консоли, где работает наш IDS, появятся сообщения о подозрительном пакете, который напоминает "прослушивание". Это задействованное правило показало, что Snort полностью работоспособен. Рассмотрим режимы его работы и синтаксис правил для дальнейшей работы.

 

1.2 Режим анализа пакетов

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

Таблица.1.1. Опции режима анализа пакетов

Опция

Описание

-v

Выдает на экран заголовки пакетов TCP/IP в сети Ethernet

-d

Аналогично предыдущей опции, но отображаются также данные прикладного уровня

-e

Аналогично предыдущей опции, но выдаются также заголовки канального уровня


Рассмотрим пример использования этого режима на практике и введем команду:

"Snort -vde -i3", где -i3 -номер интерфейса с которого следует считывать пакеты. Snort начинает быстро передавать на командную строку множество пакетов, что бы отключить режим нажмите "ctrl+x".

Рис. 1.3. Режим анализа пакетов

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

.3 Режим протоколирования пакетов

Режим подобный анализатору. Единственная отличительная черта, это занесения информации на свободное место жесткого диска.Snort протоколирует информацию о пакетах, которые были перехвачены и обработаны согласно требованиям введенных ключей администратора. Чтобы запустить Snort в режиме протоколирования, следует ввести аналогичные ключи, такие как в режиме анализа(-v ,d, e ), и дополнительный ключ -l, задающего маршрутное имя каталога логов, в которые Snort будет записывать пакеты.

snort -vde -l /snort/log/

Эта команда создаст файлы журналов в каталоге /snort/log/. Убедитесь, что указанный каталог существует, иначе программа не будет загружаться правильно. Так как приложение фиксирует абсолютно все перехваченные пакеты со всех возможных IP адресов, такое может происходить в сети большой организации, можно сузить диапазон. Это делается с помощью команды -h HOME_NET, где HOME_NET - диапазон IP -адресов локальной сети в нотации с косой чертой, за которой следует префикс сети. В этом случае Snort будет помещать пакеты в каталоги на основе нелокального IP-адреса в пакете, что позволяет легко распознавать "не местный" трафик. Если оба хоста, целевой и исходный, являются локальными, Snort помещает пакет в каталог, соответствующий стороне с большим номером порта, как бы отдавая предпочтение подключающемуся хосту перед серверным. В случае равенства номеров портов Snort по умолчанию использует исходный адрес в качестве каталога для размещения данных пакета. Сейчас это может показаться несущественным, но если протоколировать сигналы о вторжении, важно быстро определить, откуда исходит подозрительный трафик.

Учитывая приведенные соображения, командной строке для режима протоколирования пакетов целесообразно придать следующий вид:

snort -vde -l /snort/log/ -h 192.168.1.0/24

Тем самым внутренняя сеть задается диапазоном 192.168.1.1-254.

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

1.4 Режим обнаружения вторжений


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

snort -de -l /snort/log -h 192.168.1.0/24 -c /snort/etc/snort.conf

мы запустим Snort в режиме обнаружения вторжений с использованием подразумеваемого конфигурационного файла snort.conf.

1.5 Режимы сигнализации Snort


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

Таблица 1.2. Опции режима сигнализации Snort

Опция

Описание

-A full

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

-A fast

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

-A unsock

Посылает сигнал в UNIX-сокет с указанным номером, на котором может слушать другая программа

-A none

Отключает сигналы тревоги


Эти опции следует конфигурировать во время компиляции при помощи ключей инструкции configure. К примеру, попробуем прописать создание файла в который будут заноситься враждебные пакеты или подозрительные. В файле конфигурации создадим строку в месте где прописывается "Step 6 : Output", и дописываем строчку "output alert_fast : alert.ids", сохраняем и запускаем в режиме обнаружения или сигнализации, в папке \snort\log\alert.ids теперь будут записываться данные о подозрительных пакетах. Можно также вписать ключ "-A console " тогда подозрительные пакеты будут дублироваться в консоли, так сказать нагляднее продемонстрированы администратору. Информация о режимах работы Snort предоставлена на сайте: #"551308.files/image004.gif">

Рис. 2.1. Результат работы правила на vkontakte

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

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

2.5 Написание plug-in для Snort

Для того что бы написать plug -in для Snort потребуется скачать исходный код с официального сайта www.snort.org, затем нужно разархивировать полученный пакет и попасть в каталог \templates , где содержится четыре файла: sp_template.c, sp_template.h, spp_template.c, spp_template.h. Первые два файла используются для составления дополнения, а следующие два файла для препроцессоров. После создания дополнения нужно его интегрировать в Snort, чтобы он использовал его после компиляции. Интеграция состоит из трех шагов.

)Изменить plugbase.h и вставить строку

#include <sp_template.h>

)Открыть файл Makefile.am и добавить имена файлов в список имен в строку "snort_sources". После этого выполняем "Automake".

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

2.6 Дополнительные утилиты для системы Snort

Analysis Console for Intrusion Databases (ACID) - аналитическая система, предоставляющая Web-интерфейс (используется PHP) для просмотра результатов анализа лог-файлов брандмауэров, NIDS, сетевых диагностирующих программ. Версия 0.9.6. работает в среде всех ОС, поддерживающих PHP (Linux, *BSD, Windows, Solaris). Лицензия - GNU GPL.

Рис. 2.2. Интерфейс программы ACID

 Detection Exchange Architecture (IDEA) - система распределенного контроля безопасности сети. Текущая версия - 1.0.2. Используя архитектуру клиент-сервер, она связывает множество NIDS-систем, объединяя их данные в информационный базис и обеспечивая анализ в режиме реального времени. IDEA реализована как системонезависимая программа, применяющая технологию Java. Распространяется по лицензии GNU GPL.

Рис. 2.3. Интерфейс программы IDEA

- программа, работающая совместно со Snort и обеспечивающая при обнаружении вторжения предупреждение в режиме реального времени. Текущая версия - 1.0.3. Операционные системы: Unix, Windows NT. Лицензия - GNU GPL.

Рис. 2.4. Интерфейс программы RazorBack

SnortConf - графическая оболочка для Snort. Разработанная на основе библиотеки Curses, программа SnortConf предоставляет простой и интуитивно понятный интерфейс - меню по администрированию Snort. Версия - 0.4.2-1. Предназначена для POSIX-совместимых систем (Solaris, *BSD, Linux и т.д.). Лицензия - GNU GPL.

Рис. 2.5. Интерфейс программы SnortConf

 - графическая оболочка Snort-Win32 (рекомендуется использовать Windows NT4/2000/XP). Текущая версия - 1.1. IDScenter значительно облегчает задачи управления, контроля и мониторинга Snort IDS. Включает функции диагностики конфигурации, поддерживает сигналы тревоги Snort. При определении атаки можно запустить внешнее приложение. Распространяется по лицензии Freeware.

Рис. 2.6. Интерфейс программы IDScenter

IDS Policy Manager - инструмент изменения конфигурации и правил Snort. Легко добавляются новые сигнатуры. Может использовать популярные базы данных сигнатур: CVE, BugTraq, Mcafee. Версия -1.3.1. Операционные системы -Windows 2000/XP. Лицензия - Freeware.

Рис. 2.7. IDS Policy Manager

Информация об утилитах была получена с интернет ресурса: http://www.compdoc.ru/network/local/snort/.

Заключение

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

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

Литература

.        Обнаружение сетевых атак - Snort [Электронный ресурс]. - Режим доступа: URL: http://www.compdoc.ru/network/local/snort/ (дата обращения 25.05.11)

.        Энциклопедия сетевых протоколов [Электронный ресурс]. - Режим доступа: URL: http://www.protocols.ru/ (дата обращения 15.04.11)

.        Атаки на сеть [Электронный ресурс]. - Режим доступа: URL: http://big-bro.info/ataki-na-set/ (дата обращения 22.05.11)

.        Русская группа Snort [Электронный ресурс]. - Режим доступа: URL: http://www.snortgroup.ru/node/25 (дата обращения 27.05.11)

.        Ищейка по имени Snort [Электронный ресурс]. - Режим доступа: URL: http://www.osp.ru/win2000/2004/05/177049/ (дата обращения 29.05.11)

6.      Snort установка и минимальная настройка [Электронный ресурс]. - Режим доступа: http://www.kanava.biz.nf/mod/pub/article.php?art=710 (дата обращения 25.05.11)

.        Учи IT [Электронный ресурс] - Режим доступа: URL: http://www.uchi-it.ru/2/1/7.html (дата обращения 10.04.11)

Похожие работы на - Описание и изучение IDS приложения Snort

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!