Структура и функционирование СОВ Snort

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

?сь атаки. Рассмотрим как же работает эта возможность в данном программном продукте. Возьмём какой-нибудь любой файл, к примеру sunset.jpg, и откроем его в шестнадцатиричном редакторе (Рис. 3.4.1.). В этот файл любое место вставим нашу сигнатуру, на рисунке она выделена и представляет 4-байтовую последовательность: 0A 2D 42 C8.

Рис. 3.4.1. Шестнадцатиричный редактор

После напишем своё правило, чтобы Snort все файлы с такой сигнатурой отлавливал и сохранял соответсвующее предупреждающее сообщение. Правило будет выглядеть так:tcp any any -> $HOME_NET $SMB (msg:SMB attack!; content: |0A 2D 42 C8|; sid: 1000004; rev:2;).

Данное правило добавим в файл local.rules, которая находится в директории с различными правилами.

Затем по протоколу SMB отправляем наш модифицированный файл sunset.jpg. В результате система выдает нам сообщение, которое показано на Рис. 3.4.2.

Рис. 3.4.2. Ответные действия системы на модифицированный файл

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

3.5 Аномальные правила

Рассмотрим одно из существующих аномальных правил. Предположим, что злоумышленник решил выявить уязвимость компьютеров сети путём сканирования их портов. Популярной утилитой с такими возможностями является Nmap. Она предназначена для настраиваемого сканирования IP-сетей с любым количеством объектов. Nmap использует множество различных методов сканирования. Для проверки работоспособности СОВ воспользуемся этим самым просканируем компьютер с ip-адресом 192.168.2.3 невидимым FIN методом. Для этого введём команду nmap -sF 192.168.2.3 (Рис. 3.5.1.). После сканирования мы видим на этом же рисунке, что программа нам выдала результаты.

Рис. 3.5.1. Сканирование портов с помощь nmap5.0

После проведённых действий обратимся к сканируемому компьютеру и проверим, обнаружил ли Snort неправильную активность со стороны другого компьютера. После просмотра файла alert с предупреждениями (Рис. 3.5.2.) обнаруживаем, что СОВ засекла сканирование портов с указанием ip-адресов сканирующей и сканируемой машины. Также в этом файле указан адрес в интернет с подробным описание атаки. Правила, отвечающие за выявление атак связанных со сканированием портов, хранятся в файле scan.rules. Приведём текст этих правил в приложении 2.

Рис. 3.5.2. Ответные действия СОВ на сканирование портов

Заключение

В ходе проведения дипломной работы были исследованы возможности современных систем обнаружения вторжений.

В работе были:

а) исследованы современные системы обнаружения вторжений и проанализированы их параметры;

б) смоделирована компьютерная сеть;

в) в этой сети была настроена и подготовлена к работе система обнаружения вторжений

г) произведена проверка работоспособности СОВ, путем моделирования вторжений

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

Список используемой литературы

1.Жигулин Г.П., Новосадов С.Г., Яковлев А.Д. Информационная безопасность, СПб: СПб ГУ ИТМО, 2003

2.Портал об интернет-технологиях ()

.Свободная энциклопедия Википедия (

.Интернет Университет информационных технологий (

5.SNORT Users Manual 2.5.8, October 22, 2009 ()

6.Русская группа пользователей Snort (

.В.Г. Олифер, Н.А. Олифер Компьютерные сети, 3-е издание ПИТЕР, 2006

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

Приложение 1

# Содержание файла настройки snort.conf, версия Snort 2.8.5.2

======================================================

# Step #1: Set the network variables:HOME_NET anyEXTERNAL_NET anyDNS_SERVERS $HOME_NETSMTP_SERVERS $HOME_NETHTTP_SERVERS $HOME_NETSQL_SERVERS $HOME_NETTELNET_SERVERS $HOME_NETFTP_SERVERS $HOME_NETSNMP_SERVERS $HOME_NETHTTP_PORTS 80SHELLCODE_PORTS !80ORACLE_PORTS 1521FTP_PORTS 21SMB_PORTS [139,445]AIM_SERVERS [64.12.24.0/23,64.12.28.0/23,64.12.161.0/24,64.12.163.0/24,64.12.200.0/24,205.188.3.0/24,205.188.5.0/24,205.188.7.0/24,205.188.9.0/24,205.188.153.0/24,205.188.179.0/24,205.188.248.0/24]RULE_PATH ./rulesPREPROC_RULE_PATH ../preproc_rules

======================================================

# Step #2: Configure dynamic loaded librariesdirectory /usr/local/lib/snort_dynamicpreprocessor//usr/local/lib/snort_dynamicengine/libsf_engine.so

======================================================

# Step #3: Configure preprocessorsfrag3_global: max_frags 65536frag3_engine: policy first detect_anomalies overlap_limit 10stream5_global: max_tcp 8192, track_tcp yes, \_udp nostream5_tcp: policy first, use_static_footprint_sizeshttp_inspect: global \_unicode_map unicode.map 1252http_inspect_server: server default \all ports { 80 8080 8180 } oversize_dir_length 500rpc_decode: 111 32771boftp_telnet: global \_traffic yes \_type statefulftp_telnet_protocol: telnet \\_attack_thresh 200ftp_telnet_protocol: ftp server default \_max_param_len 100 \_max_param_len 200 { CWD } \_validity MODE \_str_fmt { USER PASS RNFR RNTO SITE MKD } \_cmds yes \_chanftp_telnet_protocol: ftp client default \_resp_len 256 \yes \_cmds yessmtp: \{ 25 587 691 } \_type stateful \cmds \_cmds { EXPN VRFY RCPT } \_max_command_line_len 260 { MAIL } \_max_command_line_len 300 { RCPT } \_max_command_line_len 500 { HELP HELO ETRN } \_max_command_line_len 255 { EXPN VRFY }sfportscan: proto { all } \{ 10000000 } \_level { low }ssh: server_ports { 22 } \_client_bytes 19600 \_encrypted_packets 20 \_respoverflow enable_ssh1crc32 \_srvoverflow enable_protomismatchdcerpc2dcerpc2_server: defaultdns: \{ 53 } \_rdata_overflowssl: noinspect_encrypted, trustservers

======================================================

# Step #4: Configure output pluginsclassification.configreference.config

======================================================

# Step #5: Configure snort with config statementsdaemonlogdir: /usr/local/var/log/snortinterface: eth0alert_with_interface_namealertfile: alert_fribbis

======================================================

# Step #6: Customize