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