Cisco Cisco Firepower Management Center 4000 Betriebsanweisung
36-53
FireSIGHT 系统用户指南
第 36 章 了解和编写入侵规则
了解规则中的关键字和参数
当有 TCP 流量从 $EXTERNAL_NET 变量中定义的使用任何端口的任何 IP 地址流向 $HOME_NET
变量中定义的使用端口 445 的任何 IP 地址,上述规则将会生成事件。此外,它仅对与服务器之间建
立的连接执行规则。然后,该规则在特定位置对特定内容进行测试。最后,该规则使用
变量中定义的使用端口 445 的任何 IP 地址,上述规则将会生成事件。此外,它仅对与服务器之间建
立的连接执行规则。然后,该规则在特定位置对特定内容进行测试。最后,该规则使用
asn1
关键
字检测位串编码和双 ASCII 编码,以及确定自上一次成功内容匹配结束以来从 55 字节开始算起超
过 100 字节的 asn.1 类型长度。(请记住,
过 100 字节的 asn.1 类型长度。(请记住,
偏移量
计数器从字节 0 开始计算。)
urilen
许可证:保护
可以将
urilen
关键字和 HTTP 检查预处理器结合使用,以检查 HTTP 流量中特定长度、小于最大
长度、大于最小长度或在指定范围内的 URI。
在 HTTP 检查预处理器对数据包进行规范化和检查后,规则引擎将根据规则评估数据包,并确定
URI 是否与
URI 是否与
urilen
关键字指定的长度条件相匹配。可以使用此关键字来检测试图利用 URI 长度
漏洞的攻击,例如,创建缓冲区溢出,以使攻击者可以在具有系统级别权限的主机上形成 DoS 条
件或执行代码。
件或执行代码。
在规则中使用
urilen
关键字时,请注意:
•
实际上,
urilen
关键字总是与
flow:established
关键字以及一个或多个其他关键字结合使用。
•
规则协议始终是 TCP。有关详情,请参见
•
目标端口始终是 HTTP 端口。有关详细信息,请参阅
可以使用十进制字节数、小于号 (<) 和大于号 (>) 指定 URI 长度。
例如:
•
指定
5
将会检测长度为 5 字节的 URI。
•
指定
< 5
(用一个空格字符隔开)将会检测长度小于 5 字节的 URI。
•
指定
> 5
(用一个空格字符隔开)将会检测长度大于 5 字节的 URI。
•
指定
3 <> 5
(
<>
前后各有一个空格字符)将会检测长度为 3 到 5 字节的 URI。
例如, Novell 服务器的监控和诊断实用程序 iMonitor 2.4 版中存在一个已知漏洞,该漏洞来自
eDirectory 8.8 版。包含过长 URI 的一个数据包造成缓冲区溢出,使得攻击者者能够利用包含特制
数据包的条件,该数据包可以在具有系统级别权限的主机上执行或可能导致 DoS 条件。以下规则
使用
eDirectory 8.8 版。包含过长 URI 的一个数据包造成缓冲区溢出,使得攻击者者能够利用包含特制
数据包的条件,该数据包可以在具有系统级别权限的主机上执行或可能导致 DoS 条件。以下规则
使用
urilen
关键字检测试图利用此漏洞的行为:
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS
(msg:"EXPLOIT eDirectory 8.8 Long URI iMonitor buffer
overflow attempt";flow:to_server,established;
urilen:> 8192; uricontent:"/nds/"; nocase;
classtype:attempted-admin; sid:x; rev:1;)
当有 TCP 流量从 $EXTERNAL_NET 变量中定义的使用任何端口的任何 IP 地址流向
$HOME_NET 变量中定义的使用 $HTTP_PORTS 变量中定义的端口的任何 IP 地址,上述规则将
会生成事件。此外,仅针对与服务器之间建立的 TCP 连接根据该规则评估数据包。该规则使用
$HOME_NET 变量中定义的使用 $HTTP_PORTS 变量中定义的端口的任何 IP 地址,上述规则将
会生成事件。此外,仅针对与服务器之间建立的 TCP 连接根据该规则评估数据包。该规则使用
urilen
关键字检测长度超过 8192 字节的任何 URI。最后,该规则在 URI 中搜索不区分大小写的
特定内容
/nds/
。