网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | 防火墙 | IDS/IPS | VPN | PKI | Honeypot | Hacker/Intruder | 黑客技术 | 破解技术 | 加密技术 | 病毒防护 | 木马 | 反垃圾邮件 | 反流氓软件 | 漏洞 | 无线安全 | UNIX | Windows | 安全编程 | 安全软件 | TPM/TCG | 数据恢复 | 企业信息安全 | 个人信息安全
 当前位置: Home > IDS/IPS > 文章  
技术知识入门:反NIDS技术应用介绍
文章来源: 安全焦点 文章作者: oasis 发布时间: 2006-05-22   字体: [ ]
 

  snort1.8目前好象不能检测到这种编码后的攻击。采用通配符如"*string*"匹配的很多IDS应该都存在此类问题。

  解决办法就是在规则匹配前对URL内容的unicode编码进行解码后匹配。

  * 斜线问题:包括"/"和"\"。

  # "/" 问题:如果在HTTP的提交的请求中把'/' 转换成 '//',如"/cgi-bin/test.cgi"转换成"//cgi-bin//test.cgi",虽然两个字符串不匹配,但对许多web服务器的解释是一样的。如果把双斜线换成三斜线或更多效果也是一样的。目前有些IDS无法检测到这种类型的请求。

  # "\"问题:Microsoft用'\'来分隔目录,Unix用'/'来分隔,而HTTP RFC规定用'/', Microsoft的web服务器如IIS 会主动把'/' 转换成 '\'。例如发送"/cgi-bin\test.cgi"之类的命令,IIS可以正确识别,但这样IDS就不会匹配"/cgi- bin/test.cgi"了,此法可以逃避一些IDS。

  * 命令问题:许多IDS系统检测时缺省认为客户提交的请求是用GET提交的,如GET /cgi-bin/test.cgi。但是相同的请求用HEAD命令也能实现,如用HEAD发送:HEAD /cgi-bin/test.cgi,则有些依靠get方法匹配的IDS系统就不会检测到这个扫描。

  * 增加目录:插入一些无用的特殊字符,使其与IDS的检测内容不匹配。

  如'..'意思是父目录,'.'意思是子目录,window下的"c:\tmp\.\.\.\.\"的意思就是"c:\tmp\";相应的unix下的 "/tmp/././././"和"/tmp/"等价。对"/cgi-bin/phf"可以任意变化成"/./cgi-bin/././phf等形式。

  又如:GET /cgi-bin/blahblah/../test.cgi HTTP/1.0实际和"/cgi-bin/test.cgi"一样,目前一般IDS都能识别。

  很多智能的IDS会把请求还原成正常的形式。

  * 不规则方式:

  #用tab替换空格(对IIS不适用):智能的IDS一般在客户端的数据中取出URL请求,截去变量,然后按照HTTP的语法格式检查请求。在HTTP RFC 中,http v1.0的请求格式如下: Method URI HTTP/ Version CRLF CRLFHTTP是按照空格来把请求分成三部分的。但是,Apache 1.3.6和其以后的版本(早些时候的版本可能也是)允许用tab去请求: Method URI HTTP/ Version CRLF CRLF这会使那些根据RFC协议格式处理这个请求的程序失败。但有的IDS为了减少误报会在匹配时用上空格。如"/phf"会很容易在字符串中匹配,但 "/phf(空格)"会减少很多误报, 这时对用tab的请求就没法匹配了。

  # NULL方式:构造如下的请求: GET%00 /cgi-bin/test.cgi HTTP/1.0,由于在C语言中很多字符串处理函数用NULL作为字符串的结尾,如果IDS是利用c函数处理字符串的话,IDS就不可匹配NULL后面的字符串了。这种方式适合IIS,Apache不能处理%00。

  * 虚假的请求结束:对有些智能的IDS来说,为了提高效率上和减少占有系统资源,对客户端发过来的数据,一般只会处理请求部分。

  如发送如下请求:GET /%20HTTP/1.0%0d%0aHeader:%20/../../cgi-bin/test.cgi HTTP/1.0\r\n\r\n

  解码后是这样的:GET / HTTP/1.0\r\nHeader: /../../cgi-bin/test.cgi HTTP/1.0\r\n\r\n

  这是一个正确的请求,但对某些智能的IDS只会截取GET的命令行,发现"HTTP/1.0\r\n"后就结束,然后对截取得部分进行操作,所以智能的IDS就不能正确报告基于此cgi的攻击。

  * 长URL(Long URLs):一些原始的IDS为了提高效率往往只检查前xx个字节,通常情况这样很正确,因为请求是在数据的最前面的,但是如果构造一个很长的请求: GET /rfprfprfprfp/../cgi-bin/test.cgi HTTP/1.0,超过了IDS检测的长度,这样就会使IDS检测不到后面的CGI。通常可以在请求中包涵1-2K个随机字符,但是有一些IDS会根据某些协议请求的长度来判断是否是缓冲区溢出,这时IDS就会对此类扫描误报为缓冲区溢出!

  * 会话组合:把请求分开放在不同的包文中发出――注意不是分片,则IDS可能就不会匹配出攻击了。例如,请求"GET / HTTP/1.0"可以放在不同的包文中("GE", "T ", "/", " H", "T", "TP", "/1", ".0"),但不能逃过一些采用协议分析和会话重组技术的IDS。

  * 大小写敏感:DOS/Windows与unix不同,它对大小写不敏感。例如:对IIS来说使用大小写是一样的,对有的老式IDS来说,可能造成不匹配。

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

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

Google
 
Web oldhand.org unixreference.net meshmea.org
热点文章
·IPS vs. IDS 势不两立还
·我们需要什么样的入侵检
·入侵检测系统逃避技术和
·IDS逃避技术和对策
·理解IDS的主动响应机制
·警钟再鸣 防御在入侵的
·四项下一代入侵检测关键
·术语详解: IDS
相关分类
相关文章
·用MRTG在IIS 6.0上实现
·IDS没死:国内IDS产品发
·入侵检测系统逃避技术和
·网络向导之IDS/IPS的购
·有效使用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 $