天府星空数据安全中心
  • 天府星空数据安全中心主要负责网站:防止黑客攻击、挂马检测、数据备份、硬件机房安全。天府星空数据安全中心主要负责网站:防止黑客攻击、挂马检测、数据备份、硬件机房安全。天府星空数据安全中心主要负责网站:防止黑客攻击、挂马检测、数据备份、硬件机房安全。天府星?空数据安全中心主要负责网站:防止黑客攻击、挂马检测、数据备份、硬件机房安全。天府星空数据安全中心主要负责网站:防止黑客攻击、挂马检测、数据备份、硬件机房安全。天府星空数据安全中心…[更多详情]
  • 点击这里给我发消息点击这里给我发消息点击这里给我发消息点击这里给我发消息
网络攻防教程当前位置:首页›数据安全中心

从攻击规避检测技术看IPS的安全有效性

发布者:  来源:互联网  发布时间:2010-07-30  阅读:1070次

根据业内知名市场咨询机构IDC的最新报告显示,国内网络入侵防护市场已形成了群雄割据的局面,仅进入IDC市场报告统计名录的企业就有14家之多。众说纷纭的入侵防护产品技术让人难辨良莠,孰优孰劣,市场需要一把可以适度评价的标尺。

安全、高速、易于部署”,这是国际著名安全产品测评机构——NSS Labs在评价一款IPS产品时,认为其应该具备的三种能力。也就是说,NSS Labs的专家们在建议企业客户选择IPS时,虽然要充分考虑产品的性能、部署能力及TCO(Total Cost of Ownership,总体拥有成本)等各项指标,但仍将安全有效性指标排在首位。

本文主要从“安全有效性”角度,以攻击规避流量检测为例,描述IPS产品所面临的挑战,以及相应的解决思路。

一、 从攻击规避检测技术看IPS的安全有效性

众所周知,为了提高产品的攻击检测效率,IPS一般采用特征检测、异常检测和关联分析等多种技术手段,以降低产品的误报率和漏报率。特征检测技术主要用于识别和定位各类已知威胁,异常检测方法则通常集成针对协议、应用和统计数据的异常检测技术,能够保护企业信息系统免受未知攻击的侵害,包括新的蠕虫、蓄意的隐性攻击、新环境下的攻击变种,以及分布式D.DoS攻击流量。

攻击规避技术是众多蓄意隐性攻击中应用范围最广,最有效的一类技术。当攻击者发现被攻击目标正受到IPS等产品保护时,攻击者往往会根据攻击目标的协议特性或漏洞,对攻击方式或攻击内容进行精心调整,进而逃避IPS等产品的检测。

应用了规避技术的网络攻击,会给企业带来不容忽视的安全威胁,如果不能对其进行正常、有效的处理,这类攻击会使得IPS产品形同虚设,将用户的网络资源暴露于攻击者面前,从而降低用户网络环境的安全性,增加用户资产遭受损失的风险。

二、 常见的攻击规避技术分析

攻击规避一般也叫做攻击逃逸,攻击者通过对攻击数据包的精心定制和伪造,企图绕开IPS此类产品的检测。目前比较流行的攻击规避技术包括:数据包分片、数据流分隔、RPC分片、URL混淆,以及攻击负载的多态和混淆等。下面将针对几种主流的协议和应用逃避技术,分别进行较为详细的介绍和分析。

(一) TCP/IP协议规避技术

TCP/IP协议的抗规避处理难点主要集中在TCP协议上。TCP协议是端到端的复杂流式可靠传输协议,它的序列号、窗口,以及重传等保障可靠传输的机制,会给IPS的检测带来很大困难,IPS只能被动地跟踪通信双方的数据及状态变化,通过实时的数据流重组以进行检测。

IPS必须内置TCP状态跟踪及流汇聚机制,以确保对TCP会话的持续跟踪和分析。然而在数据传输过程中,一旦出现数据包顺序错乱,报文丢失或重传等问题,很多IPS的检测机制就会失效,一些规避攻击恰恰利用这个缺陷,得以绕开IPS的检测。

归结起来,针对TCP/IP协议的规避技术,主要包括如下几种实现方式: 

◆通过重传机制发送干扰数据包(TTL、校验和、窗口大小、序列号、标志位、时间戳等异常的数据包)和正常数据包,在正常数据包中嵌入攻击负载,终端的TCP/IP协议栈会丢弃干扰数据包,并将载有攻击的正常数据汇聚起来提交给应用程序。 

◆通过利用TCP协议的序列号或IP协议的片偏移机制,对数据包进行细小划分,并打乱发送顺序(逆序,乱序)。 

◆利用攻击目标的协议栈特性,将数据以前重叠或后重叠的方式发送,例如下图所示,Windows会倾向于先到的数据流分段,而Solaris倾向于后到的数据流分段。

图1 数据报文分片重叠结构示例

在VISTA中如上所示的数据会被汇聚为“HELLO,WORLD!”,而在Solaris系统中会被汇聚为“HELP!,VIRUS!”,这就要求IPS产品不仅能够实现一个完整的TCP/IP协议栈,还要能够根据保护目标的类型进行重组策略的调整。

TCP/IP协议的规避技术,早在1998年发表的论文《Insertion, Evasion, and Denial of Service : Eluding Network Intrusion Detection》中就已经被详细的描述。然而,目前大多数的IPS产品仍未具备完善的数据重组能力,这给入侵成功创造了很大空间。

(二) RPC协议规避技术

MS-RPC和Sun/ONC RPC都允许应用程序以分片的方式发送请求,这些分片在RPC服务器内会被重新组装成完整请求形式。攻击者通过将不同程度的RPC碎片和不同的TCP传输机制进行组合后,可以构造出多种的规避方式。例如:在单TCP数据包中发送所有分片,在不同TCP数据包内发送不同范围的分片(如每个TCP数据包只携带一个RPC分片)等。

以MS08-059为例,Host Integration Server的RPC接口所暴露的一些方式,允许未经认证的攻击者在服务器上执行任意程序。RPC opcodes 1和6都允许攻击者调用CreateProcess()函数并向其传送命令行,这可能导致完全入侵服务器。利用这个漏洞,攻击者可以发送如下所示的请求,来提升权限:

CMD/c net user admin admin /ADD

为逃避检测IPS对这种异常权限提升行为的检测,攻击者可以对RPC请求进行分片处理,下图是在单TCP数据段内进行分片后的效果:  

图2 RPC分片结构示例

由于特征信息被“打散”,传统的基于包特征匹配的方式很难处理这种规避,要检测该攻击需要依据DCERPC协议对RPC分片进行重组。可见,IPS不仅需要能够对底层协议进行精确解析,还需要有非常细粒度的应用层协议处理能力。

(三) URL混淆

URL混淆通常被攻击者用以逃避IPS产品的URL过滤机制,这类规避方式主要包括如下几种: 

◆采用转义符“%”将字符用16进制表示 

◆采用转义符“%u”将字符用UNICODE方式表示 

◆随机插入“//”,“/./”和“\”字符 

◆随机变换大小写 

◆用tab符(0x09或0x0b)或回车符(0x0d)做分隔符 

◆加入干扰字符串

以CVE-1999-0070为例,该漏洞产生原因是NCSA HTTPd和早期的Apache Web Server自带了一个名为“test-cgi”的Shell CGI脚本,通常位于“/cgi-bin”目录,用于测试Web服务的配置是否已经可以正常地使用CGI脚本。test-cgi脚本的实现上存在输入验证漏洞,远程攻击者可能利用此漏洞遍历主机的目录,查看目录下的内容,因此检测该攻击的特征码一般包含“cgi-bin/test-cgi”这个字符串,该攻击概念验证(PoC)如下:

GET /cgi_bin/test-cgi?/* HTTP/1.1

对该PoC的URL进行混淆后可以得到如下所示的URL格式: 

图3 URL请求混淆示例

不幸的是这些混淆后的形式都是WEB服务器可接受的,显然要避免这种攻击的漏报,IPS就不能在原始URL中进行特征匹配操作,而应先对URL进行恢复和整理后再进行规则检测等操作。

(四) FTP规避攻击

为逃避IPS产品对FTP攻击的识别与拦截,攻击者通常在FTP命令中随机添加一定数量的干扰字符(空格符、Telnet非文本控制符等),这些干扰字符在FTP服务器的处理过程中往往会被过滤掉。

假设攻击者向FTP服务器发送如下命令:

CWD

/test1/test2/test3/test4/test5/test6

向其添加干扰字符后我们得到如下图所示的FTP请求:  

图4 FTP命令干扰示例

假设参数中包含“test2”的CWD请求会触发FTP服务器的某一漏洞,IPS需要先于FTP服务器正确识别CWD请求命令,并过滤请求参数中是否存在“test2”这个特征,如果IPS不能在正确解析FTP协议的同时,准确的滤除干扰字符,它最终看到的将是“t\xff\xf3est2”进而导致漏报发生。