0

我是入侵检测系统的新手。据我所知,模式匹配(例如,Snort 中的 PCRE)似乎只搜索数据包内的匹配项。

模式匹配可以跨数据包吗?

在实践中,人们是否关心跨包模式?

4

1 回答 1

1

如果您正在执行流重组(默认情况下应在标准 snort.conf 中启用),那么可以。这称为伪数据包(或重组数据包),它由多个数据包构建并重新组合。您可以在此处阅读有关此功能和配置的信息。这可能是 snort 最重要的部分(也是最昂贵的部分),如果没有流重组,许多漏洞将被遗漏。如果不重新组装,snort 将只能检查原始数据包。例如:

TCP Packet 包含 2000 字节的数据,网络上的 MTU 为 1500,因此必须将这个数据包分成单独的数据包发送。假设 1400 字节在数据包 1 中发送,另外 600 字节在数据包 2 中发送。如果此数据包中有漏洞,并且 snort 正在寻找的内容包含在字节 1360-1500 中,那么 snort 将错过漏洞并且不会发出警报. 通过流重组,snort 将重组数据包:

假设您有一个 snort 规则来查找“这是一个漏洞”的内容。

原始数据包 1:……数据……这是
原始数据包 2:利用……数据……

如果没有流重组,snort 会错过这个漏洞。使用流重组,snort 将重建伪数据包,并将针对该数据运行规则内容,因此它将看到:

伪数据包:...数据...这是一个漏洞...数据...

并且规则将匹配。

于 2015-08-24T00:27:51.017 回答