我想编写只能触发的 SNORT 规则(第二规则)在某条规则之后(第一的规则)之前已被触发。此外,第二然后规则应该开始嗅探全部或部分平等内容的内容第一的规则,但由不同的主机. 这可能有助于检测重播攻击或中间人攻击。
我想象这样的事情:
trigger udp $EXTERNAL_NET any -> $HOME_NET 1234 (msg""; TRIGGER RULE 2; content:"|12 34|"; sid:1; rev:1)
react udp $!IP_FROM_FIRST_RULE any -> $HOME_NET 1234(msg""; content:"|12 34|"; sid:2; rev:1)
- 有没有办法直接使用正确的 SNORT 规则语法来做到这一点?
- 还有其他方法可以使用 SNORT 检测重放攻击吗?
- SNORT 是否支持任何状态数据包检查,将超过 1 个数据包纳入检测机制?
编辑
我进一步阅读了 SNORT 手册,发现可以使用流比特使用会话预处理器。不幸的是,仍然无法传递触发第一条规则作为信息第二条规则。
目前我唯一的办法是写2个动态规则(SO规则),把源IP地址转换成二进制,写入36个flowbit(XXX.XXX.XXX.XXX),如果相同就比较,如果相同就重置flowbit,否则就报警。
我愿意接受其他想法:)