Похожие презентации:
СОА-9 (Работа №3)
1. Системы обнаружения атак
Сорокин Александр ВладимировичСистемы обнаружения атак, 2025
1
2. Работа №3
Системы обнаружения атак, 20252
3. Правила (сигнатуры) Suricata
Системы обнаружения атак, 20253
4. Формат правила Suricata
<действие> <протокол> <IP-адрес1> <порт1> <направление> <IP-адрес2> <порт2><опции>
Заголовок правила
Согласно документации Suricata, правило/сигнатура, состоит из:
- действия, задающего, что происходит при срабатывании правила,
СРЕДСТВО
РЕЗУЛЬТАТ
- заголовка, описывающего протокол, IP-адреса, порты и направление,
- опций, задающих конкретные ситуации срабатывания правил
Раздел руководства:
https://suricata.readthedocs.io/en/latest/rules/intro.html
Системы обнаружения атак, 2025
4
5. Формат правила Suricata
<действие> <протокол> <IP-адрес1> <порт1> <направление> <IP-адрес2> <порт2><опции>
Заголовок правила
<действие> — указание для СОА, что нужно сделать при обнаружении пакета,
соответствующего правилу. Действия указаны в порядке приоритета:
• pass – пропуск пакета и прекращение обработки его другими правилами
• drop (только для режима inline/IPS) – пакет не пересылается далее,
генерируется
уведомление о пакете
СРЕДСТВО
РЕЗУЛЬТАТ
• reject (все варианты) – активное отбрасывание пакета, отправитель и
получатель могут получить пакет-уведомление об отбрасывании (Resetpacket/ICMP-error)
• alert – порождение уведомления о пакете
Раздел руководства:
https://suricata.readthedocs.io/en/latest/configuration/suricata-yaml.html#suricata-yamlaction-order
Системы обнаружения атак, 2025
5
6. Формат правила Suricata
<действие> <протокол> <IP-адрес1> <порт1> <направление> <IP-адрес2> <порт2><опции>
Заголовок правила
Для действия reject допустимы специфические варианты:
rejectsrc – эквивалентно reject – уведомляет только отправителя об
отбрасывании пакета
СРЕДСТВО
РЕЗУЛЬТАТ
rejectdst – уведомляет только получателя об отбрасывании пакета
rejectboth – уведомляет обе стороны (отправителя и получателя)
об отбрасывании пакета
Системы обнаружения атак, 2025
6
7. Формат правила Suricata
<действие> <протокол> <IP-адрес1> <порт1> <направление> <IP-адрес2> <порт2><опции>
Заголовок правила
<протокол>
Suricata поддерживает 4 основных протокола TCP, UDP, ICMP и IP (используется как
«любой» или «все») и ряд протоколов прикладного уровня:
http,
ftp, tls (включает ssl), smb, dns, dcerpc, ssh, smtp, imap, nfs, ike, krb5, ntp, dhcp,
rfb,
СРЕДСТВО
РЕЗУЛЬТАТ
rdp, snmp, tftp, sip, http2;
Протоколы modbus, dnp3 и enip по умолчанию отключены
Системы обнаружения атак, 2025
7
8. Формат правила Suricata
<действие> <протокол> <IP-адрес1> <порт1> <направление> <IP-адрес2> <порт2><опции>
Заголовок правила
<IP-адрес> и <порт>, <направление>
В целом, аналогично Snort, но
- В документации ключевое слово any в описании формата правил не упоминается,
но
упоминается как допустимое в переменных, которые рекомендуется
СРЕДСТВО
РЕЗУЛЬТАТ
использовать в правилах
- В ряде примеров списки содержат пробелы, будьте внимательны, проверяйте
корректность примеров
Раздел руководства:
https://suricata.readthedocs.io/en/latest/rules/intro.html
Системы обнаружения атак, 2025
8
9. Формат правила Suricata
<действие> <протокол> <IP-адрес1> <порт1> <направление> <IP-адрес2> <порт2><опции>
Заголовок правила
<опции>
Перечисляются в скобках, разделяются «;». Общий формат:
<опция>:
<параметр>;
СРЕДСТВО
<опция>;
РЕЗУЛЬТАТ
Порядок опций имеет значение, изменение порядка влияет на работу правила.
Символы «;» и «”» являются ключевыми, при использовании в тексте их следует экранировать
Раздел руководства:
https://suricata.readthedocs.io/en/latest/rules/intro.html
Системы обнаружения атак, 2025
9
10. Опции правил Suricata
Suricata поддерживает механизмы модификации опций, доступные в Snort:- пост-модификаторы* (для опции content):
content:“текст, который ищется в пакете”; nocase
- “sticky buffers”
СРЕДСТВО
РЕЗУЛЬТАТ
http_response_line; content:"текст, который ищется в пакете“
*обозначены так в лекции из-за того, что влияют на предшествующую опцию, то есть пишутся
после опции, на которую влияют
Системы обнаружения атак, 2025
10
11. Опции правил Suricata
Suricata поддерживает механизмы модификации опций, доступные в Snort:- пост-модификаторы* (для опции content):
content:“текст, который ищется в пакете”; nocase
- “sticky buffers”
СРЕДСТВО
РЕЗУЛЬТАТ
http_response_line; content:"текст, который ищется в пакете“
*обозначены так в лекции из-за того, что влияют на предшествующую опцию, то есть пишутся
после опции, на которую влияют
Системы обнаружения атак, 2025
11
12. Категории опций
• Meta• Payload
СРЕДСТВО
• Категории, относящиеся к
конкретным протоколам,
поведению правил и др.
Системы обнаружения атак, 2025
РЕЗУЛЬТАТ
12
13. Написание правил в Suricata
Во многом аналогично Snort 2.x, основные отличия приведены в разделеруководства, указанном ниже
СРЕДСТВО
РЕЗУЛЬТАТ
Раздел руководства:
https://suricata.readthedocs.io/en/latest/rules/differences-from-snort.html
Системы обнаружения атак, 2025
13
14. Написание правил в Suricata
В данной работе потребуется использование регулярных выражений.Разделы руководства:
https://suricata.readthedocs.io/en/latest/rules/payload-keywords.html#pcre-perl-compatibleregular-expressions
https://suricata.readthedocs.io/en/latest/rules/payload-keywords.html#changes-from-pcre1-toСРЕДСТВО
РЕЗУЛЬТАТ
pcre2
Стартовый tutorial по регулярным выражениям:
https://regexone.com/
Системы обнаружения атак, 2025
14
15. Лабораторная работа
Данная работа представляет собой сюжетное задание.Согласно вводной информации, стажеры недружественных спецслужб
(предположим, что их зовут Джек, Джеймс и Джейн) планируют в целях
тренировки атаковать один из серверов отечественных госслужб.
СРЕДСТВО
РЕЗУЛЬТАТ
В качестве цели атаки выбран сервер избирательной комиссии
небольшого населенного пункта, который и защищать-то некому…
Системы обнаружения атак, 2025
15
16. Лабораторная работа
Данная работа представляет собой сюжетное задание.Согласно вводной информации, стажеры недружественных спецслужб
(предположим, что их зовут Джек, Джеймс и Джейн) планируют в целях
тренировки атаковать один из серверов отечественных госслужб.
СРЕДСТВО
РЕЗУЛЬТАТ
В качестве цели атаки выбран сервер избирательной комиссии
небольшого населенного пункта, который и защищать-то некому…
По крайней мере, так ожидалось
Системы обнаружения атак, 2025
16
17. Лабораторная работа
На компьютере выполняющего лабораторную работу располагаетсясервер ИК села Пурдошки
СРЕДСТВО
РЕЗУЛЬТАТ
Системы обнаружения атак, 2025
17
18. Лабораторная работа
По полученной от разведки (и добытой с риском для жизни) информации,для тренировки стажеры будут реализовывать следующие атаки:
Джек будет использовать SQL injection,
СРЕДСТВО
Джеймс
воспользуется LFI атакой,
РЕЗУЛЬТАТ
Джейн попробует XSS атаку
Системы обнаружения атак, 2025
18
19. Лабораторная работа
Почитать про указанные виды атакSQL Injection:
https://encyclopedia.kaspersky.ru/glossary/sql-injection/
https://www.ptsecurity.com/upload/corporate/ru-ru/analytics/PT-devteev-Advanced-SQLInjection.pdf
https://habr.com/ru/post/148151/
СРЕДСТВО
LFI
https://brightsec.com/blog/local-file-inclusion-lfi/
РЕЗУЛЬТАТ
XSS
https://encyclopedia.kaspersky.ru/glossary/cross-site-scripting-xss/
https://habr.com/ru/post/511318/
Системы обнаружения атак, 2025
19
20. Лабораторная работа
И про их обнаружениеhttps://community.broadcom.com/symantecenterprise/communities/communityhome/librarydocuments/viewdocument?DocumentKey=001f5e09-88b4-4a9a-b3104c20578eecf9&CommunityKey=1ecf5f55-9545-44d6-b0f4-4e4a7f5f5e68&tab=librarydocuments
СРЕДСТВО
РЕЗУЛЬТАТ
Системы обнаружения атак, 2025
20
21. Лабораторная работа
Т.е. в самом простом варианте будем получать запросы вида:Джек:
GET /index.php?q=1+UNION+SELECT+VERSION%28%29
СРЕДСТВО
Джеймс:
GET /index.html?page=../../../etc/passwd
РЕЗУЛЬТАТ
Джейн:
GET /index.html?page=<script>alert("!!!")</script>
Системы обнаружения атак, 2025
21
22. Лабораторная работа
Для самого простого тестирования достаточно через браузер обратитьсяк:
http://ip/index.php?q=1+UNION+SELECT+VERSION%28%29
СРЕДСТВО
http://ip/index.html?page=../../../etc/passwd
РЕЗУЛЬТАТ
http://ip//index.html?page=<script>alert("!!!")</script>
и добиться срабатывания правил
Системы обнаружения атак, 2025
22
23. Лабораторная работа
Для развертывания сервера требуется• Создать папку server
• Поместить в нее файлы server.py и index.html (будут предоставлены
через classroom)
• СРЕДСТВО
Запустить сервер командой python server.py 80
• Проверить доступ к серверу, набрав в браузере ip соответствующего
узла или виртуальной машины
Системы обнаружения атак, 2025
23
24. Задание к работе – практическая часть (допуск)
● Развернуть на АРМ сервер избиркома села Пурдошки● Запустить сервер, исправить проблемы отображения сайта избиркома
● Развернуть СОА Suricata с активными правилами для обнаружения атак типа
SQL Injection, LFI, XSS
● Реализовать (простейшим образом) указанные атаки, продемонстрировать
срабатывание правил
Системы обнаружения атак, 2025
24
25. Задание к работе – теоретическая часть (защита)
● Знать особенности структуры и опций правил Suricata (отличия от Snort)● Уметь писать правила для Suricata, аналогичные Snort 2.x
● Уметь писать правила для обнаружения атак типа SQL injection, LFI, XSS, в том
числе с использованием регулярных выражений
Системы обнаружения атак, 2025
25
26. Спасибо за внимание!
Системы обнаружения атак, 202526