注册会员
 精华: 0
 积分: 108
 帖子: 11  威望: 37 点 金钱: 28 币 贡献: 13 点 经验: 02级
 阅读权限: 20
 注册: 2007-12-7
 状态:
|
1#
大 中
小 发表于 2007-12-7 23:24 只看该作者
Juniper IDP入侵检测方法——状态签名
运用状态签名的入侵检测
建立在辨认和匹配攻击签名(样本)方法基础上的入侵检测是简单的。它主要在流量中寻找一个已知被使用或攻击的特定样本。NIDS的早期发展是一台非入侵式封包监视器,它被称为“嗅探器”(sniffer),因为它能“嗅出”网络中的数据包。入侵检测厂商运用封包监视器的概念去构建系统,完成数据包签名检测。这意味着系统将检测数据包流量中的内容并和数据库中已知攻击签名进行配比。然而,这种简单化的入侵检测有很多缺点,特别是需大量的资源以构建一个大的攻击签名库上,而没有考虑流量是如何被重组、解码、规范化和分析。
网络传输-你看到的并不是你想要的
当信息通过网络传送时,信息被当作数据包分割成具有数字编号的TCP分段。在一个理想环境里,信息被按顺序进行传送并且不被丢失(图3a所示)。然而不幸的是实际情况并非如此。当一个被实际传送时(图3b所示),网络设备如路由器等将以随机的方式(不按顺序)或更小的数据单元(叫作碎片)进行传送。甚至更糟糕的是,由于任何原因,封包可能被丢失。接收系统负责重新组织封包到原传送信息流,并请求重发丢失的封包,该信息被完整表示成应用程序所需的信息。图3a和图3b只表示了从客户端到服务器的单一信息流;现实是大多数客户机到服务器的通讯包含两个信息流,一个从客户端到服务器,另一个为服务器到客户端。
为了精确地处理流量,消除数据误译的技术是非常必要的。这些技术包括:
·
IP碎片整理—适当地将封包的碎片结合起来的能力。
·
TCP重组—在去除复制和重叠数据的时候,用正确的次序适当地重组TCP片段的能力。
·
流量跟踪—可以跟踪流量(客户端到服务器的流量以及服务器到客户端的流量),并且把它们与一个单一的通信会话(communication session)联系起来。
·
规范化—从重组的信息中进行分析已经解码的符号和特殊的文字,如果有必要将它们删除。
优化的分析=状态签名
一旦封包在网络上被发送,处理和重组, 下一步就是在该流量中精确地检测攻击。市场上大多数的NIDS使用包签名检测,这就意味着在每一个独立的封包中匹配攻击样本。一些NIDS可以作到IP碎片重组和TCP封装来减少错误。然而,当它们查询样本时,仍然只关注整个顺序化的数据流,这将引入以下两个问题:
¨
性能非常差,因为要查询整个数据流。
¨
基于简单的事实,检测的数据越多,匹配不相关数据的可能性越大,因此假阳性时常发生。
好消息是已经有了另外一种可以克服包签名检测性能问题缺乏精确性的不足,该方法叫做状态签名™检测。其先进的检测机制通过使用状态监控和部分协议异常检测来鉴别攻击样本。结果,状态签名能够充分理解每个数据字节和内容和在传输时的客户机和服务器的状态。换句话说,状态签名只查询能够造成破坏的攻击,极大地提高了性能减小了误报率。
实例3:检测SMTP Wiz攻击
该例子描述了SMTP(Sendmail)’wiz’攻击和状态签名检测和包签名检测如何对该攻击进行检测。Wiz攻击允许攻击者获取SMTP服务器上的根访问权限。一旦成功,攻击者可以完全控制被入侵主机,利用它作为平台来发起更多的攻击,偷电子邮件和其他数据以及更深的网络和系统访问权限。当客户端和服务器之间的sendmail会话处在“命令模式”(command mode),攻击者通过向服务器发送“wiz”命令来完成。
让我们来看一下典型的SMTP会话来更深入地理解状态签名检测如何对攻击进行有效地检测。图4所示为四个典型的SMTP会话阶段:
1.
建立TCP连接(3次握手)
2.
命令模式:
a)
设置发送者(“MAIL FROM”域)
b)
设置接收者(“RCPT TO”域)
c)
执行其他命令
3.
数据模式(电子邮件内容)
4.
关闭TCP连接
基于包签名检测机制的系统针对样本查看每一个单独的数据包,而不关心通讯的内容和客户端和服务器的状态。在该模式下,任何包含’wiz’字符的信息在任何通讯过程中都被检测。这将触发大量的错误警告,这是因为’wiz’字符串可以在电子邮件体中(数据模式)或邮件接收列表(命令模式),以及’wiz’命里模式(命令模式)中存在。这看起来微不足道,但实际上’wiz’在电子邮件中出现非常频繁。实际上几乎它会发生在每个附件超过100K的邮件中。因为所有电子邮件使用’base64’(RFC1421)进行编码,它用64个可打印字符来表示二进制数据(Word,PowerPoint和其他应用程序),这些字符中有六个为’w’、’W’、’i’、’I’、’z’、’Z’,因为附件数据是很随机的,’wiz’在随机的字符流(每个字符要么大写要么小写)中发生的数学概率为1/32768(32*32*32)。另外,’wiz’也可以出现在客户端到服务器的邮件中,[email=如thewizard@company.com]如thewizard@company.com[/email]或包含“wizardry”或”Wizened”等的邮件中,用包签名检测,所有这些实例都会触发报警。
使用状态签名的系统只检测客户端到服务器的SMTP数据流在命令模式下的’wiz’样本。此外,状态签名忽略邮件地址,因为它们处在攻击无法深透的区域。状态签名更具易受攻击的客户端到服务器的会话来进行样本比较,而不是武断地检测整个会话的字符串。结果,你可以花更少的时间调整系统和研究报警,并且通过报警的真实性来提高自信。
|