入侵检测系统(IDS)规避与对策

安全
假设重组的IDS的分片超时是15秒,系统监测一些Linux主机有一个默认的分片重组30秒超时。如下所示,第一次发送分片之后,攻击者将发送一个15秒钟延迟的第二块分片(30秒内)。

案例1:入侵检测系统分片重组超时低于受害者分片重组的超时

[[104055]]

攻击情形:

假设重组的IDS的分片超时是15秒,系统监测一些Linux主机有一个默认的分片重组30秒超时。如下所示,第一次发送分片之后,攻击者将发送一个15秒钟延迟的第二块分片(30秒内)。

请记住,这里的第二个分片被IDS认可,由于超时,IDS已经丢掉了第一个分片。因此,受害者将重组分片,并会收到入侵检测系统的攻击,而不会产生任何干扰或警报。

案例2:入侵检测系统分片重组超时高于操作系统分片重组的超时

攻击情形:

默认情况下,Snort可以有60秒的分片重组超时。相比之下,Linux/FreeBSD是30秒。这同样可以规避。如下所示,假设攻击者把攻击的数据包分离为四个分片:1、2、3、4。

攻击者发送一个虚假的有效载荷frag2和frag4(简称2'和4'),由受害者和入侵检测系统接收。攻击者一直等待,直到受害者分片重组超时结束,并丢弃(在这种情况下市30秒)初始分片。

这次攻击的优点在于,受害者仍然没有收到分片1,因此ICMP错误信息将会被抛给受害者。然后,攻击者发送的数据包(1,3)存在着合法的有效载荷。在此阶段中,受害者仅仅收到1,3分片,而入侵检测系统的收到的分片为1,2',3,4'。记住,2,4分片是攻击者发送虚假的有效载荷。

基于TTL攻击

这个攻击需要攻击者对受害者网络的拓扑结构有所了解。这个信息可以使用诸如路由跟踪之类的工具进行探测。基于TTL的攻击如下所示:

攻击者分解成3个分片进行攻击。攻击者发送一个大型的TTL值1片段,这个被IDS和受害者双方的验证认可。但是,第二个分片(frag2')由攻击者发送为TTL值1,同样包含虚假的有效载荷。这个分片被IDS认可,而路由器收到丢弃的TTL值现在将减少为零。

然后,攻击者发送一个有效的TTL3分片。这使得IDS能够执行,而受害者的TCP分片(1,2',3)重组,仍在等候第三分片。攻击者发送的最后一个有效载荷第三分片和受害者执行的分片(1,2,3)进行重组,并实施攻击。在这个阶段,IDS只有3个分片,因为它早已履行了重组,并且数据流已被刷新。

分片重叠攻击

这个攻击方式是基于对IP头的分片偏移量进行控制。分片偏移量告诉目的系统该分片位于大包的什么位置。在这种情况下,攻击者为每个IP包创建了两个或更多的分片。

第一个分片和最后分片的策略,如下图解释。

攻击者进行了4个分片的攻击。攻击者发送分片1,2和3,使这两个操作系统接收。现在,攻击者发送分片2',3'和4。在这里,有效载荷的分片2'和3'与分片2和3不相同,但分片偏移量和IP头长度保持不变。

在这种情况下,一个操作系统做了一个分片重组策略,首先建立在第一个策略的基础上,希望能够重组最后的分片,将分片1,2',3',4和分片1,2,3,4重组一起。记住,在不同的操作系统中,所采用的分片重组策略也会有所不同。

IDS和IPS的规避对策

基于网络的IDS和IPS在网络中监听攻击,然而基于主机的IDS和IPS程序则是运行在可能遭受攻击的终端系统上。例如,你可能在一个敏感的Web服务器、DNS服务器或邮件服务器上运行一个基于主机的IDS或IPS代理。这些基于主机的技术运行在终端主机上,如下图所示,这种技术很少考虑规避策略。大多数IDS和IPS规避技术主要欺骗基于网络的程序,这是因为基于网络的程序不能理解在终端系统上出现的一系列包的整个前后关系。在一些FragRouter,FragRoute和Nikto这些程序就采用了这个技术原理。运行在终端系统上的基于主机的IDS和IPS强调了这一点。它们知道通信中更为完整的上下文信息,并且可以对终端系统上将发生什么做出可靠的判断。基于主机的IDS和IPS可以查看日志、系统配置和系统的行为,从而确定攻击者真正做了什么,而不是试图通过查看包来解释目前正在发生的事情。

例如,在进行实现的分片攻击通过使用常见的重叠分片来试图欺骗目标中基于网络的IDS和IPS系统。在包被目标的TCP/IP栈重组之后,基于主机的IDS和IPS程序分析攻击者在目标系统上的踪迹。类似地,许多应用层规避技术,对于基于主机的程序可以监视终端系统中攻击者所进行的变化。基于主机的防御程序,包括商业IDS和IPS产品,如思科安全代理(CSA)和McAfee的Entercept,进行检测的颗粒度可以比基于网络的IDS和IPS产品的检测颗粒度更细。

我再次提醒,基于主机的IDS或IPS仅能防御其所安装的主机,然而基于网络的IDS或IPS可以对整个局域网进行监控。举一个例子:基于主机的程序像是在特定的房子中寻找夜贼的警察,基于网络的攻击则像是为了寻找也贼在附近盘旋的警用直升机。当然,夜贼可以通过伪装来欺骗直升机,但是房子中的警察可以注意到一些偷窃家里财物的人,甚至是伪装的骗子。尽管如此,在每栋房子中安排一名警察的代价是极其昂贵的。正如在这个例子中所说的,与基于主机的IDS和IPS相比,基于网络的IDS和IPS的部署代价更低。最后,一个好的IDS和IPS部署通常可以同时实现基于网络和基于主机的程序。

尾声

在执行扫描时,攻击者使用各种技术来避开IDS和IPS的检测。可在网络层和应用层实施规避技术。为了对付IDS和IPS规避技术,需要及时更新IDS和IPS系统,并同时实现基于网络的和基于主机的IDS和IPS。最后,有疑问请写信件发送至我的信箱(Hack01[at]Live.cn)。

# HACKER NETSPY [C.Z.Y]

责任编辑:蓝雨泪 来源: 红黑联盟
相关推荐

2011-10-28 16:03:06

2010-08-25 13:13:04

2009-02-01 11:44:00

2010-03-30 20:52:50

2013-03-13 16:41:00

2010-09-08 12:58:20

2009-06-03 14:15:34

2011-07-18 13:33:35

入侵检测系统IDSIPS

2009-05-24 20:47:08

2010-08-25 13:46:28

入侵检测IDS

2014-11-18 14:12:19

CentOS入侵检测系统

2017-10-13 18:33:57

静态代码分析SCAIDS

2009-12-17 17:31:10

2010-09-08 12:29:52

2009-02-24 10:45:48

2010-12-01 11:14:46

snort嗅探器数据包记录器

2009-06-05 11:08:27

2009-06-08 10:40:47

2012-02-08 14:36:14

2012-10-10 11:36:02

点赞
收藏

51CTO技术栈公众号