根據(jù)業(yè)內(nèi)知名市場(chǎng)咨詢機(jī)構(gòu)IDC的最新報(bào)告顯示,,國(guó)內(nèi)網(wǎng)絡(luò)入侵防護(hù)市場(chǎng)已形成了群雄割據(jù)的局面,,僅進(jìn)入IDC市場(chǎng)報(bào)告統(tǒng)計(jì)名錄的企業(yè)就有14家之多,。眾說(shuō)紛紜的入侵防護(hù)產(chǎn)品技術(shù)讓人難辨良莠,,孰優(yōu)孰劣,,市場(chǎng)需要一把可以適度評(píng)價(jià)的標(biāo)尺。
“安全、高速,、易于部署”,,這是國(guó)際著名安全產(chǎn)品測(cè)評(píng)機(jī)構(gòu)——NSSLabs在評(píng)價(jià)一款IPS產(chǎn)品時(shí),認(rèn)為其應(yīng)該具備的三種能力,。也就是說(shuō),,NSSLabs的專(zhuān)家們?cè)诮ㄗh企業(yè)客戶選擇IPS時(shí),雖然要充分考慮產(chǎn)品的性能,、部署能力及TCO(TotalCost of Ownership,,總體擁有成本)等各項(xiàng)指標(biāo),但仍將安全有效性指標(biāo)排在首位,。
本文主要從“安全有效性”角度,,以攻擊規(guī)避流量檢測(cè)為例,描述IPS產(chǎn)品所面臨的挑戰(zhàn),,以及相應(yīng)的解決思路,。
一、從攻擊規(guī)避檢測(cè)技術(shù)看IPS的安全有效性
眾所周知,,為了提高產(chǎn)品的攻擊檢測(cè)效率,,IPS一般采用特征檢測(cè)、異常檢測(cè)和關(guān)聯(lián)分析等多種技術(shù)手段,,以降低產(chǎn)品的誤報(bào)率和漏報(bào)率,。特征檢測(cè)技術(shù)主要用于識(shí)別和定位各類(lèi)已知威脅,異常檢測(cè)方法則通常集成針對(duì)協(xié)議,、應(yīng)用和統(tǒng)計(jì)數(shù)據(jù)的異常檢測(cè)技術(shù),,能夠保護(hù)企業(yè)信息系統(tǒng)免受未知攻擊的侵害,包括新的蠕蟲(chóng),、蓄意的隱性攻擊,、新環(huán)境下的攻擊變種,以及分布式D.DoS攻擊流量,。
攻擊規(guī)避技術(shù)是眾多蓄意隱性攻擊中應(yīng)用范圍最廣,,最有效的一類(lèi)技術(shù)。當(dāng)攻擊者發(fā)現(xiàn)被攻擊目標(biāo)正受到IPS等產(chǎn)品保護(hù)時(shí),,攻擊者往往會(huì)根據(jù)攻擊目標(biāo)的協(xié)議特性或漏洞,,對(duì)攻擊方式或攻擊內(nèi)容進(jìn)行精心調(diào)整,進(jìn)而逃避IPS等產(chǎn)品的檢測(cè),。
應(yīng)用了規(guī)避技術(shù)的網(wǎng)絡(luò)攻擊,,會(huì)給企業(yè)帶來(lái)不容忽視的安全威脅,如果不能對(duì)其進(jìn)行正常,、有效的處理,,這類(lèi)攻擊會(huì)使得IPS產(chǎn)品形同虛設(shè),,將用戶的網(wǎng)絡(luò)資源暴露于攻擊者面前,從而降低用戶網(wǎng)絡(luò)環(huán)境的安全性,,增加用戶資產(chǎn)遭受損失的風(fēng)險(xiǎn),。
二、常見(jiàn)的攻擊規(guī)避技術(shù)分析
攻擊規(guī)避一般也叫做攻擊逃逸,,攻擊者通過(guò)對(duì)攻擊數(shù)據(jù)包的精心定制和偽造,,企圖繞開(kāi)IPS此類(lèi)產(chǎn)品的檢測(cè)。目前比較流行的攻擊規(guī)避技術(shù)包括:數(shù)據(jù)包分片,、數(shù)據(jù)流分隔、RPC分片,、URL混淆,,以及攻擊負(fù)載的多態(tài)和混淆等。下面將針對(duì)幾種主流的協(xié)議和應(yīng)用逃避技術(shù),,分別進(jìn)行較為詳細(xì)的介紹和分析,。
(一)TCP/IP協(xié)議規(guī)避技術(shù)
TCP/IP協(xié)議的抗規(guī)避處理難點(diǎn)主要集中在TCP協(xié)議上。TCP協(xié)議是端到端的復(fù)雜流式可靠傳輸協(xié)議,,它的序列號(hào),、窗口,以及重傳等保障可靠傳輸?shù)臋C(jī)制,,會(huì)給IPS的檢測(cè)帶來(lái)很大困難,,IPS只能被動(dòng)地跟蹤通信雙方的數(shù)據(jù)及狀態(tài)變化,通過(guò)實(shí)時(shí)的數(shù)據(jù)流重組以進(jìn)行檢測(cè),。
IPS必須內(nèi)置TCP狀態(tài)跟蹤及流匯聚機(jī)制,,以確保對(duì)TCP會(huì)話的持續(xù)跟蹤和分析。然而在數(shù)據(jù)傳輸過(guò)程中,,一旦出現(xiàn)數(shù)據(jù)包順序錯(cuò)亂,,報(bào)文丟失或重傳等問(wèn)題,很多IPS的檢測(cè)機(jī)制就會(huì)失效,,一些規(guī)避攻擊恰恰利用這個(gè)缺陷,,得以繞開(kāi)IPS的檢測(cè)。
歸結(jié)起來(lái),,針對(duì)TCP/IP協(xié)議的規(guī)避技術(shù),,主要包括如下幾種實(shí)現(xiàn)方式:
n通過(guò)重傳機(jī)制發(fā)送干擾數(shù)據(jù)包(TTL、校驗(yàn)和,、窗口大小,、序列號(hào)、標(biāo)志位,、時(shí)間戳等異常的數(shù)據(jù)包)和正常數(shù)據(jù)包,,在正常數(shù)據(jù)包中嵌入攻擊負(fù)載,終端的TCP/IP協(xié)議棧會(huì)丟棄干擾數(shù)據(jù)包,并將載有攻擊的正常數(shù)據(jù)匯聚起來(lái)提交給應(yīng)用程序,。
n通過(guò)利用TCP協(xié)議的序列號(hào)或IP協(xié)議的片偏移機(jī)制,,對(duì)數(shù)據(jù)包進(jìn)行細(xì)小劃分,并打亂發(fā)送順序(逆序,,亂序),。
n利用攻擊目標(biāo)的協(xié)議棧特性,將數(shù)據(jù)以前重疊或后重疊的方式發(fā)送,,例如下圖所示,,Windows會(huì)傾向于先到的數(shù)據(jù)流分段,而Solaris傾向于后到的數(shù)據(jù)流分段,。
在VISTA中如上所示的數(shù)據(jù)會(huì)被匯聚為“HELLO,WORLD,!”,而在Solaris系統(tǒng)中會(huì)被匯聚為“HELP!,VIRUS!”,,這就要求IPS產(chǎn)品不僅能夠?qū)崿F(xiàn)一個(gè)完整的TCP/IP協(xié)議棧,,還要能夠根據(jù)保護(hù)目標(biāo)的類(lèi)型進(jìn)行重組策略的調(diào)整。
TCP/IP協(xié)議的規(guī)避技術(shù),,早在1998年發(fā)表的論文《Insertion,Evasion,andDenial of Service : Eluding Network Intrusion Detection》中就已經(jīng)被詳細(xì)的描述,。然而,目前大多數(shù)的IPS產(chǎn)品仍未具備完善的數(shù)據(jù)重組能力,,這給入侵成功創(chuàng)造了很大空間,。
(二)RPC協(xié)議規(guī)避技術(shù)
MS-RPC和Sun/ONCRPC都允許應(yīng)用程序以分片的方式發(fā)送請(qǐng)求,這些分片在RPC服務(wù)器內(nèi)會(huì)被重新組裝成完整請(qǐng)求形式,。攻擊者通過(guò)將不同程度的RPC碎片和不同的TCP傳輸機(jī)制進(jìn)行組合后,,可以構(gòu)造出多種的規(guī)避方式。例如:在單TCP數(shù)據(jù)包中發(fā)送所有分片,,在不同TCP數(shù)據(jù)包內(nèi)發(fā)送不同范圍的分片(如每個(gè)TCP數(shù)據(jù)包只攜帶一個(gè)RPC分片)等,。
以MS08-059為例,HostIntegrationServer的RPC接口所暴露的一些方式,,允許未經(jīng)認(rèn)證的攻擊者在服務(wù)器上執(zhí)行任意程序,。RPCopcodes1和6都允許攻擊者調(diào)用CreateProcess()函數(shù)并向其傳送命令行,這可能導(dǎo)致完全入侵服務(wù)器,。利用這個(gè)漏洞,,攻擊者可以發(fā)送如下所示的請(qǐng)求,來(lái)提升權(quán)限:
CMD/cnetuseradmin admin /ADD
為逃避檢測(cè)IPS對(duì)這種異常權(quán)限提升行為的檢測(cè),,攻擊者可以對(duì)RPC請(qǐng)求進(jìn)行分片處理,,下圖是在單TCP數(shù)據(jù)段內(nèi)進(jìn)行分片后的效果:
由于特征信息被“打散”,傳統(tǒng)的基于包特征匹配的方式很難處理這種規(guī)避,,要檢測(cè)該攻擊需要依據(jù)DCERPC協(xié)議對(duì)RPC分片進(jìn)行重組,??梢?jiàn),IPS不僅需要能夠?qū)Φ讓訁f(xié)議進(jìn)行精確解析,,還需要有非常細(xì)粒度的應(yīng)用層協(xié)議處理能力,。
(三)URL混淆
URL混淆通常被攻擊者用以逃避IPS產(chǎn)品的URL過(guò)濾機(jī)制,這類(lèi)規(guī)避方式主要包括如下幾種:
n采用轉(zhuǎn)義符“%”將字符用16進(jìn)制表示
n采用轉(zhuǎn)義符“%u”將字符用UNICODE方式表示
n隨機(jī)插入“//”,,“/./”和“\”字符
n隨機(jī)變換大小寫(xiě)
n用tab符(0x09或0x0b)或回車(chē)符(0x0d)做分隔符
n加入干擾字符串
以CVE-1999-0070為例,,該漏洞產(chǎn)生原因是NCSAHTTPd和早期的ApacheWebServer自帶了一個(gè)名為“test-cgi”的Shell CGI腳本,通常位于“/cgi-bin”目錄,,用于測(cè)試Web服務(wù)的配置是否已經(jīng)可以正常地使用CGI腳本,。test-cgi腳本的實(shí)現(xiàn)上存在輸入驗(yàn)證漏洞,遠(yuǎn)程攻擊者可能利用此漏洞遍歷主機(jī)的目錄,,查看目錄下的內(nèi)容,,因此檢測(cè)該攻擊的特征碼一般包含“cgi-bin/test-cgi”這個(gè)字符串,該攻擊概念驗(yàn)證(PoC)如下:
GET/cgi_bin/test-cgi?/*HTTP/1.1
對(duì)該P(yáng)oC的URL進(jìn)行混淆后可以得到如下所示的URL格式:
不幸的是這些混淆后的形式都是WEB服務(wù)器可接受的,,顯然要避免這種攻擊的漏報(bào),IPS就不能在原始URL中進(jìn)行特征匹配操作,,而應(yīng)先對(duì)URL進(jìn)行恢復(fù)和整理后再進(jìn)行規(guī)則檢測(cè)等操作,。
(四)FTP規(guī)避攻擊
為逃避IPS產(chǎn)品對(duì)FTP攻擊的識(shí)別與攔截,攻擊者通常在FTP命令中隨機(jī)添加一定數(shù)量的干擾字符(空格符,、Telnet非文本控制符等),,這些干擾字符在FTP服務(wù)器的處理過(guò)程中往往會(huì)被過(guò)濾掉。
假設(shè)參數(shù)中包含“test2”的CWD請(qǐng)求會(huì)觸發(fā)FTP服務(wù)器的某一漏洞,,IPS需要先于FTP服務(wù)器正確識(shí)別CWD請(qǐng)求命令,,并過(guò)濾請(qǐng)求參數(shù)中是否存在“test2”這個(gè)特征,如果IPS不能在正確解析FTP協(xié)議的同時(shí),,準(zhǔn)確的濾除干擾字符,,它最終看到的將是“t\xff\xf3est2”進(jìn)而導(dǎo)致漏報(bào)發(fā)生。
三,、攻擊規(guī)避技術(shù)的應(yīng)對(duì)思路和策略
攻擊規(guī)避技術(shù)往往利用系統(tǒng)的協(xié)議處理缺陷,,繞開(kāi)正常的檢測(cè)機(jī)制,使得真正的攻擊流量能夠滲入企業(yè)內(nèi)網(wǎng),,其危害之大,,防范之難,正被用戶越來(lái)越關(guān)注,。用戶在選擇一款優(yōu)秀的IPS產(chǎn)品時(shí),,已經(jīng)把攻擊規(guī)避的檢測(cè)能力,作為一種必備的產(chǎn)品技術(shù)要求進(jìn)行評(píng)估,。然而,,攻擊規(guī)避技術(shù)應(yīng)用廣泛,,種類(lèi)繁多,而且變種,、更新速度較快,,要想有效地防范這類(lèi)攻擊,將面臨三大挑戰(zhàn):
首先,,IPS產(chǎn)品需要對(duì)相關(guān)的網(wǎng)絡(luò)協(xié)議有清晰的理解,,具備細(xì)粒度協(xié)議解析機(jī)制和異常處理能力。各種規(guī)避技術(shù)都遵從相應(yīng)的協(xié)議規(guī)范,,導(dǎo)致規(guī)避攻擊成功的原因主要是IPS的協(xié)議解碼引擎過(guò)于簡(jiǎn)單甚至存在疏漏,。
其次,安全廠商需要及時(shí)跟進(jìn)各類(lèi)攻擊規(guī)避技術(shù)的發(fā)展動(dòng)向,。當(dāng)出現(xiàn)新型的攻擊規(guī)避技術(shù)時(shí),,能夠及時(shí)透析其原理并制定有效的應(yīng)對(duì)方案。
最后,,IPS產(chǎn)品應(yīng)該具備良好的擴(kuò)展能力,。一般而言,產(chǎn)品協(xié)議解析層面的結(jié)構(gòu)變化會(huì)對(duì)整個(gè)系統(tǒng)帶來(lái)較大的影響,,牽一發(fā)而動(dòng)全身,。具備良好擴(kuò)展能力的引擎架構(gòu),可以降低抗攻擊規(guī)避模塊的維護(hù)成本,,縮短應(yīng)急響應(yīng)時(shí)間,。
攻擊規(guī)避技術(shù)對(duì)于IPS的應(yīng)用帶來(lái)了巨大的挑戰(zhàn),為了有效應(yīng)對(duì)此類(lèi)威脅,,IPS產(chǎn)品在設(shè)計(jì)和開(kāi)發(fā)攻擊檢測(cè)引擎的時(shí)候,,必須考慮以下幾方面的因素:
n具備細(xì)粒度協(xié)議解析機(jī)制和完備的協(xié)議異常控制結(jié)構(gòu),,第一時(shí)間對(duì)非法協(xié)議數(shù)據(jù)及時(shí)處理,,杜絕安全隱患的蔓延;
n配置高效的IP數(shù)據(jù)包重組策略,,能過(guò)同時(shí)處理多種模式的分片數(shù)據(jù)包,;
n過(guò)濾協(xié)議異常數(shù)據(jù)的同時(shí),積極修正,、恢復(fù)正確的協(xié)議數(shù)據(jù),,最大限度的保障解碼過(guò)程的完整性;
n兼顧性能最優(yōu)化,,降低規(guī)避處理過(guò)程對(duì)引擎性能帶來(lái)的影響,;
n盡量控制可能引入的風(fēng)險(xiǎn),確保系統(tǒng)的穩(wěn)定性不受影響,。
為了驗(yàn)證IPS產(chǎn)品對(duì)于攻擊規(guī)避手段的抵御能力,,NSSLabs的安全專(zhuān)家們?cè)?ldquo;安全有效性”專(zhuān)項(xiàng)測(cè)試中,,采用了五個(gè)測(cè)試項(xiàng)目,對(duì)IPS的攻擊規(guī)避檢測(cè)能力,,進(jìn)行了全面(覆蓋IP,,TCP,HTTP,,DCERPC,,SUNRPC等多種協(xié)議)且嚴(yán)格的測(cè)試。
基于強(qiáng)大且完善的協(xié)議解析引擎,,以及多年以來(lái)在入侵檢測(cè)/防護(hù)領(lǐng)域的深厚技術(shù)積淀,,綠盟網(wǎng)絡(luò)入侵防護(hù)系統(tǒng)(NSFOCUSNIPS)在NSSLabs的“規(guī)避測(cè)試”項(xiàng)目中獲得100%的通過(guò)率,并最終得到NSSLabs在全球范圍內(nèi)的鼎力推薦,。在此之前,,僅有兩家國(guó)際頂尖安全廠商的IPS產(chǎn)品獲此殊榮。
四,、結(jié)束語(yǔ)
應(yīng)用了規(guī)避技術(shù)的蓄意隱性攻擊,,只是IPS面臨的眾多挑戰(zhàn)之一,作為一款優(yōu)秀的IPS產(chǎn)品,,必須具備各類(lèi)已知和未知風(fēng)險(xiǎn)的識(shí)別和控制能力,,以確保產(chǎn)品的安全有效性,這也是IPS發(fā)展,、演變歷程中必須遵循的一項(xiàng)基本原則,唯有精確識(shí)別各類(lèi)攻擊,,并及時(shí)做出響應(yīng),,才有可能最大限度發(fā)揮IPS的功效,保障企業(yè)信息系統(tǒng)的安全,。