Соответствие содержимого пакета в определенном порядке с Suricata?
Я пытаюсь создать правило Suricata, которое будет соответствовать пакету, если и только если все содержимое будет найдено и в определенном порядке.
Проблема с моим текущим правилом состоит в том, что оно будет соответствовать, даже если содержимое пакета test2 test1
,
Есть ли способ достичь этой функциональности без использования pcre?
alert tcp $HOME_NET any -> $EXTERNAL_NET [80,443] (msg:"Test Rule"; flow:established,to_server; content:"test1"; fast_pattern; content:"test2"; distance:0; classtype:web-application-activity; sid:5182976; rev:2;)
1 ответ
Решение
Я выяснил, что метод, который я использовал для проверки подписей Suricata, дублировал проверенные данные в какой-то момент, вызывая постоянное срабатывание подписи.
Что касается ответа на мой собственный вопрос, порядок содержимого можно установить, добавив модификатор расстояния после первого соответствия содержимого.
Как видно в:
content:"one"; content:"two"; distance:0; content:"three"; distance:0; . . .
Насколько я могу судить, fast_pattern
Ключевое слово может быть опущено.