Системы обнаружения атак
Работа №3
Правила (сигнатуры) Suricata
Формат правила Suricata
Формат правила Suricata
Формат правила Suricata
Формат правила Suricata
Формат правила Suricata
Формат правила Suricata
Опции правил Suricata
Опции правил Suricata
Категории опций
Написание правил в Suricata
Написание правил в Suricata
Лабораторная работа
Лабораторная работа
Лабораторная работа
Лабораторная работа
Лабораторная работа
Лабораторная работа
Лабораторная работа
Лабораторная работа
Лабораторная работа
Задание к работе – практическая часть (допуск)
Задание к работе – теоретическая часть (защита)
Спасибо за внимание!
1.69M

СОА-9 (Работа №3)

1. Системы обнаружения атак

Сорокин Александр Владимирович
Системы обнаружения атак, 2025
1

2. Работа №3

Системы обнаружения атак, 2025
2

3. Правила (сигнатуры) Suricata

Системы обнаружения атак, 2025
3

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. Спасибо за внимание!

Системы обнаружения атак, 2025
26
English     Русский Правила