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