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