两种基于HTTP的通用IDS躲避技术.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
两种基于HTTP的通用IDS躲避技术 I.介绍 自从RainForestPuppy(RFP)的网络扫描器whisker首次公布于众以来[1],HTTPIDS躲避技术已经逐渐流行。原先许多的HTTPIDS技术,都是从whisker的第一个版本出现的,包括简单的使用多个“/”的混淆目录技术,也包括更复杂的-在URL里插入“HTTP/1.0”以躲避那些搜索URL地址的IDS算法。 除了whisker中出现的躲避技术,还有其他类型的HTTP混淆方法。其中的一个混淆URL的方法就是使用绝对URI与相对URI[2]。虽然这些方法很有趣,但是都不如whisker扫描中使用的方法常见。 下一个流行的躲避方法也是RFP发布的,利用了微软互联网信息服务器(IIS)的UTF-8unicode解码漏洞[3]。虽然是IIS的一个严重漏洞,它同时也给出了一个IDS未曾实现的URL编码方法。目前为止,大部分IDS仍然只是关注以前whisker的ASCII编码与目录遍历躲避技术,对Unicode的UTF-8编码却没有相应的保护。EricHacker对这种类型的HTTPIDS躲避技术,写了一篇非常专业的文章[4]。本文也会对Hacker文中的一些观点分析并解释。我们将继续Hacker的观点并深入了解:这些编码到底意味着什么,怎样才能造出更奇怪的编码。 本文介绍的其他种类的HTTPIDS躲避技术,使用了HTTP协议的属性。其中之一就是请求管道,以及使用内容编码头并将HTTP请求的参数放置到请求负载中的技术。 II.IDSHTTP协议分析 为了能够识别URL攻击,IDS必须检查HTTP的URL字段,看是否有恶意内容。两种最流行的IDS检测方法-模式匹配和协议分析-都需要检测URL中是否含有恶意内容(通过某种形式的模式匹配或者HTTP协议分析)。 两种方法的不同之处取决于你的目的,协议分析法只搜索HTTP流URL字段部分的恶意内容,而模式匹配法的搜索范围是整个数据包。 这两种方法在处理恶意URL之前的行为是类似的。之后,协议分析法只需要对URL字段添加合适的解码算法即可(它已经有内建的HTTP协议解码引擎)。而模式匹配算法并不知道需要对包的哪一部分正常化,因此需要与某种形式的协议分析相结合,找到相应的URL字段,才能使用相应的解码算法。某种形式的HTTP协议分析被添加到模式匹配法中,之后两者又行为类似了。 由于这些IDS方法的类似性,本文讨论的HTTPIDS躲避方法适用于各种类型的IDS。 第一种通用的IDS躲避方法是无效协议解析。举个例子,如果HTTPURL没有被正确发现,那么恶意URL就不能被检查出来,原因是:IDS没有发现URL,就不能对URL进行解码。 如果URL是正确的,IDS必须知道正确的解码算法,否则,仍然不能得到正确的URL。这就是第二种IDS躲避技术-无效协议字段解码。 A.无效协议解析 使用无效协议解析IDS躲避技术,在RFP的whisker[1]和BobGraham的SideStep[5]中给出了很多例子。这两个程序的区别在于:whisker使用了有缺陷的IDS协议解析来躲避检查,而SideStep使用正常的网络层协议来躲避IDS的协议解码器。 这种情况下,无效协议解析的躲避技术,对于HTTP协议的两个字段URL和URL参数是非常有效的。 例如:如果IDS的HTTP解码器假设每个请求包只有一个URL,那么一个包里包含两个URL,IDS就不能对第二个URL正确解析。这种技术在请求管道躲避技术中还会提到。 B.无效协议段解码 无效协议段解码可以测试IDS是否能够处理特定协议段的各种类型的解码。 如果是HTTP,主要的目标就是URL字段。对于IDS,需要测试它与HTTPRFC编码标准的符合程度,还要看是否能支持特定Web服务器的编码类型(例如IIS)。如果IDS不能对某种URL编码进行正确解码,攻击者就能利用该编码跳过对恶意URL的检测。 另一个HTTP无效协议段编码,是通过目录混淆,操纵目录属性来实现的。例如:对于/cgi-bin/phf,可以使用多个“/”而不是一个“/”来改变目录的“外貌”,或者使用目录遍历来混淆目录路径。需要注意的是,只有当IDS共同查找目录和文件时,目录混淆才能隐藏恶意URL。对于“/cgi-bin/phf”来说,如果IDS在“cgi-bin”目录中寻找“phf”文件时,我们的攻击例子才能奏效;如果IDS只寻找“phf”文件,目录混淆方法就不管用了。 III.无效协议段解码 URL混淆的前题是HTTP服务器所接受的各种类型的编码方法。实际上,大部分的编码方法都与IIS有关,为了文章的完整性,每种编码类型都对每种HTTP服务器进行测试。 利用URL编码来混淆Web攻击的思想依据,是大部分的IDS缺乏对不同类型Web服

文档评论(0)

docindoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档