网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | 防火墙 | IDS/IPS | VPN | PKI | Honeypot | Hacker/Intruder | 黑客技术 | 破解技术 | 加密技术 | 病毒防护 | 木马 | 反垃圾邮件 | 反流氓软件 | 漏洞 | 无线安全 | UNIX | Windows | 安全编程 | 安全软件 | TPM/TCG | 数据恢复 | 企业信息安全 | 个人信息安全
 当前位置: Home > IDS/IPS > 文章  
入侵检测系统逃避技术和对策的介绍
文章来源: 安全中国 文章作者: 刘震宇 发布时间: 2006-04-07   字体: [ ]
 

  为了捕获这一个字符串的所有变体,你可能需要1000个以上的特征码进行字符串匹配,这还没有考虑UNICODE。UNICODE提供了另一种字符表达方式。有关UNICODE的IDS欺骗技术细节,本文将不多做讨论。如果想了解更多细节请参考SecurityFocus的IDS Evasion with Unicode。除此之外,RainForestPuppy在他的HTTP扫描工具Whisker中采用了另外一些IDS欺骗技术:

  -I 1 IDS-evasive mode 1 (URL编码)
  -I 2 IDS-evasive mode 2 (/./目录插入)
  -I 3 IDS-evasive mode 3 (过早结束URL)
  -I 4 IDS-evasive mode 4 (长URL)
  -I 5 IDS-evasive mode 5 (伪造参数)
  -I 6 IDS-evasive mode 6 (TAB分割) (not NT/IIS)
  -I 7 IDS-evasive mode 7 (大小写敏感)
  -I 8 IDS-evasive mode 8 (Windows分割符)
  -I 9 IDS-evasive mode 9 (会话拼接) (slow)
  -I 0 IDS-evasive mode 0 (NULL方法)

  如果想了解上面这些方法的技术细节,可以参考A Look At Whisker’s Anti-IDS Tactics。需要特别说明的是,rfp把whisker采用的anti-ids技术单独放到了libwhisker(使用perl编写的)库中,为其它的程序采用这些技术提供了很大的便利。另外,nessus和babelweb等扫描工具都有自己的应用层入侵检测躲避技术。

  现在,IDS开发人员对各种网络协议有了更深入的理解,并且入侵检测设备在对数据包的负载进行字符串匹配之前会进行必要的协议分析,因此现在的IDS已经能够很好地处理上述的欺骗技术了。但是多余的字符转换又提高了入侵检测系统的负载,有时是得不偿失。为了减小这个跗面影响,开发人员可以使入侵检测系统只在特定的端口进行字符转换。

  2.多变shell代码(polymorphic shell code)

  多变shell代码(polymorphic shell code)技术由K2开发的,设计思想来源于病毒逃避(virus evasion)技术。使用这种技术重新构造的shell代码更为危险,入侵检测设备非常难以检测到。这种技术只用于缓冲区溢出攻击,对付基于特征码的检测系统非常有效,而对于智能化的或者基于协议分析的检测系统的效果要差很多。为了便于讨论,我们以SSH CRC32缓冲区为例。我们先看以下snort检测规则:

alert tcp $EXTERNAL_NET any -> $HOME_NET 22 (msg:"EXPLOIT ssh CRC32 
overflow /bin/sh"; flags:A+; content:"/bin/sh"; reference:bugtraq,2347; 
reference:cve,CVE-2001-0144; classtype:shellcode-detect; sid:1324; rev:1;)

alert tcp $EXTERNAL_NET any -> $HOME_NET 22 (msg:"EXPLOIT ssh CRC32 
overflow NOOP"; flags:A+; content:"|90 90 90 90 90 90 90 90 90 90 90 90 90 90 90)

  上面的第一条规则简单地检查从外部到$HOME_NET,目标端口是22的数据包,搜索里面是否包含字符串/bin/sh。第二条规则是检查是否 包含x86空操作字符(0x90)。多变shell代码(polymorphic shell code)使用很多方法逃避字符串匹配系统的检测。首先(以x86架构为例),使用其它的字符代替0x90执行无操作(no-op)指令。对于X86架构,有55种替代方式,其它的要少一些。这些替代方式以一种伪随机的方式结合到一块,建立缓冲区溢出shell代码包含无操作(no-op)指令的部分。想了解无操作(no-op)指令的所有替代字符可以参考http: // cansecwest.com/noplist-v1-1.txt。除此之外,shell代码本身也采用XOR机制编码。通过这种方式建立的缓冲区溢出 shell代码被重组后不会包含以上的特征码,从而能够逃过字符串匹配检测。

  多变shell代码检测对基于特征码检测的IDS是一个很大的挑战。Next Generation Security Technologie公司的技术白皮书Polymorphic Shellcodes vs. Application IDSs中提出了一些检测多变shell代码的设想。通过搜索无操作(no-op)字符的一个特定长度的正则表达式,可以实现对多变 shell代码的精确检测。最近,Dragos Ruiu发布了一个用于检测多变shell代码的snort预处理插件spp_fnord,这个插件采用了和上面相似的检测技术。这个预处理插件有端口和长度两个配置选项。例如,如果某个人在配置时设置了80、21、23和53等端口,它就只对这几个端口的数据流量进行多变shell代码的检测,而不会对其它端口(例如:22)进行检测。

 
推荐文章
·技术知识入门:反NIDS技术应用介
·安全防护 - 入侵检测实战之全面
·十大入侵检测系统高风险事件及其
·术语详解: IDS
·入侵检测系统(IDS)的弱点和局限(
·入侵检测系统(IDS)的弱点和局限(
·入侵检测系统(IDS)的弱点和局限(
·入侵检测系统面临的三大挑战
·入侵检测应该与操作系统绑定
·入侵检测术语全接触
·IDS:网络安全的第三种力量
·我们需要什么样的入侵检测系统
·IDS的数据收集机制
·IDS的体系结构
 

 
共5页: 上一页 [1] 2 [3] [4] [5] 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
热点文章
·IPS vs. IDS 势不两立还
·我们需要什么样的入侵检
·技术知识入门:反NIDS技
·IDS逃避技术和对策
·理解IDS的主动响应机制
·警钟再鸣 防御在入侵的
·四项下一代入侵检测关键
·术语详解: IDS
相关分类
相关文章
·IDS没死:国内IDS产品发
·用MRTG在IIS 6.0上实现
·网络向导之IDS/IPS的购
·技术知识入门:反NIDS技
·有效使用IDS/IPS的最佳
·新型蜜罐提高入侵检测准
·四项下一代入侵检测关键
·分析筛选IPS的八大定律
更多...
 
 

Copyright(c) 2001-2008 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统
$Id: article_article.html,v 1.3 2007/02/10 12:00:37 yjs Exp $