网络安全 频道

IDS逃避技术和对策的详细介绍

    foo.idevasion.html a?(缓冲区溢出数据)”或者“GET foo.idevasion.html”(如果IDS的超时时间小于60秒)。通过这种方式,攻击者成功地在IDS中插入了垃圾数据。  

5.碎片和snort特征码  

下面我们把上述攻击和某些snort特征码进行比较。对于.ida缓冲区溢出攻击,默认的snort特征码几乎无法捕获任何通过碎片发动的攻击(如果使用了frag2预处理模块,snort可以截获碎片超时攻击)。下面是针对.ida缓冲区溢出攻击的snort检测规则:  

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80 (msg:"WEB-IIS ISAPI  
.ida attempt"; uricontent:".ida?"; nocase; dsize:>239; flags:A+;  
reference:arachnids,552; classtype:web-application-attack;  
reference:cve,CAN-2000-0071;sid:1243;rev:2;)  

另外,snort还有一条检测小碎片的规则,一旦发现太小的碎片,就会触发这条规则:  

alert ip $EXTERNAL_NET any -> $HOME_NET any (msg:"MISC Tiny  
Fragments";fragbits:M;dsize: < 25; classtype:bad-unknown;sid:522)  

但是,这样还是不能检测某些攻击。还是以ida缓冲区溢出为例,这个攻击实际上和请求的URI无关,因此攻击者可以在前面加入一些垃圾数据以避免触发碎片检测规则。   

   

碎片1 GET reallylongstringtoevadedetect.i  
碎片2 da?(缓冲区溢出数据)  

这些技术并非只针对snort。Cisco Secure IDS也能够进行碎片重组,并且能够对上述碎片攻击进行报警。  

实际上,碎片攻击要复杂的多,尤其是涉及到TTL和碎片覆盖。如果想更为深入地了解这方面技术,请参考Network Intrusion Detection: Evasion, Traffic Normalization, and End-to-End Protocol Semantics。  

检测碎片攻击也非常困难。使IDS的碎片超时时间至少为60秒,增加对异常碎片的报警,最重要的是系统管理人员要对碎片攻击的潜在威胁有清醒的认识。2002年四月,Dug Song发布了Fragroute,引发了不小的震动。很快,snort社团发布了能够对碎片攻击进行更好检测的snort1.8.6版。  

6.拒绝服务  

还有一种比较野蛮的方法就是拒绝服务。拒绝服务可以针对检测设备本身和管理设备。Stick、snot和其它一些测试工具能够是入侵检测设备产生大量的报警。使用这些工具,可以达成如下目标:  

消耗检测设备的处理能力,是真正的攻击逃过检测。  
塞满硬盘空间,使检测设备无法记录日志。  
使检测设备产生超出其处理能力的报警。  
使系统管理人员无法研究所有的报警。  
挂掉检测设备。  

对IDS来说,这类工具无迹可寻,因此非常难以对付。  

结论  

本文我们讨论了一些常用的IDS躲避技术及其对策。其中有些技术需要攻击者具有熟练的攻击技巧,而有写技术却无需太多的技巧。而fragroute之类的工具出现,大大降低了攻击者采用某些技术的难度,使防御的一方总是处于被动。 

0
相关文章