Cisco Cisco Firepower Management Center 4000 Betriebsanweisung

Seite von 1826
 
36-53
FireSIGHT 系统用户指南 
 
 36       了解和编写入侵规则 
  了解规则中的关键字和参数  
当有 TCP 流量从 $EXTERNAL_NET 变量中定义的使用任何端口的任何 IP 地址流向 $HOME_NET 
变量中定义的使用端口 445 的任何 IP 地址,上述规则将会生成事件。此外,它仅对与服务器之间建
立的连接执行规则。然后,该规则在特定位置对特定内容进行测试。最后,该规则使用 
asn1
 关键
字检测位串编码和双 ASCII 编码,以及确定自上一次成功内容匹配结束以来从 55 字节开始算起超
过 100 字节的 asn.1 类型长度。(请记住,
偏移量
计数器从字节 0 开始计算。)
urilen
许可证:保护
可以将 
urilen
 关键字和 HTTP 检查预处理器结合使用,以检查 HTTP 流量中特定长度、小于最大
长度、大于最小长度或在指定范围内的 URI。
在 HTTP 检查预处理器对数据包进行规范化和检查后,规则引擎将根据规则评估数据包,并确定 
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 条件。以下规则
使用 
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 连接根据该规则评估数据包。该规则使用 
urilen
 关键字检测长度超过 8192 字节的任何 URI。最后,该规则在 URI 中搜索不区分大小写的
特定内容 
/nds/