Suricata. Detection Rules & TI Reports

What: #notes

Сегодня поработаем с open-source IPS Suricata 27-го сентября вышло очередное обновление, версия 6.0.8, что говорит о том, что проект живёт и всё ещё развивается (с 2009 года) за счёт активного комьюнити за что ему большое спасибо (кстати, Snort 🐽 живёт и здравствует с 1998 года). Заметка не про назначение IPS как класса решений и не про архитектуру конкретно Suricata, а про то как можно самостоятельно повышать свои скилы в написании детектирующих правил для Suricata (#гдевзятьопытпослеунивера) Различные вендоры в области ИБ выпускают на регулярной основе TI отчёты, содержащие описание атаки, которая не прошла незамеченной, статистику за квартал/год, описание какой-нибудь утилиты или эксплуатацию громкой уязвимости (акцентирую внимание на том, что отчёт становится Threat Intelligence после того, как к IOCам и детектам добавили контекст, описание, по сути человеческую экспертизу, относящуюся к теме отчёта). Исследовать данные отчёты можно по разному, я для себя выделяю два способа: сигнатурный (в части IOC) и поведенческий (в части TTP). Если с IOC понятно куда их применить и где их проверять, то в случае с анализом TTP требуется чуть больше времени. Допустим, из полученного отчёта понятно, что необходимо проводить анализ сетевых пакетов, следовательно, можно написать детектирующие правила для нашей IPS (может также входить в состав решений таких классов как, например, NGFW и NTA). В сухом остатке процесс выглядит следующим образом: Анализируем отчёт в части сетевого взаимодействия, посылаем в лабораторной пакеты хосту-жертве, снимаем с него трафик после получения пакетов, берём полученный .pcap и идём писать правила, прогоняя дамп через них для проверки корректности написания. Осталось прихуярить монитор внедрить правила в инфраструктуру, пройдя через 7 кругов ада все процедуры согласования.

Детали и скрины можно глянуть на github)