Соответствие содержимого пакета в определенном порядке с 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 Ключевое слово может быть опущено.

Другие вопросы по тегам