企業測試IDS的四條重要標準
網絡防火墻作為企業互聯網安全的首選產品已經不能應對如今的網絡安全威脅了,企業對網絡安全性的要求越高,那么所需要采取的防范措施就越嚴密。選用優秀的IDS產品已經被許多公司提上了網絡安全的議案。那么如何判斷IDS產品是否能夠應對企業標準呢?下文就主要講述了企業測試IDS的的四條重要標準。
一、檢測入侵
IDS最主要的功能是檢測非法入侵。能夠智能地報告入侵者的非法行為是檢驗IDS性能優劣的首要條件。用戶安裝上IDS后,在缺省情況下,應該對各個服務可能遇到的攻擊進行告警檢測。我們可以選擇一些破壞性比較大的攻擊,比如遠程溢出攻擊(只要攻擊成功,即可全面控制計算機系統),這不為企業測試IDS的一種方式。面對這種攻擊,如果IDS產品沒有反應,那么附加功能再多,也是一個檢測非法入侵能力低下的產品。
二、遠程管理
IDS的機制是監視網絡上的流量,如果所要監視的網絡不止一個Hub或交換機,就要在每個Hub或交換機上安裝網絡引擎。這樣我們就需要一個控制臺和日志分析程序來管理和分析多個網絡引擎及它們產生的告警。用戶有時希望坐在辦公室中實時查看和管理機房里的IDS,作為產品提供商,應該滿足用戶的這種需求,為用戶提供遠程管理功能,只是需要注意把這個功能和IDS的另一個功能(即遠程告警)區分開。事實上,IDS還應該能夠支持各種各樣的遠程告警方式,像打電話、發郵件等等。不過這種交流是單向的,用戶只能被動地得到信息,而不能主動控制遠程的網絡引擎。
三、抗欺騙能力
IDS的目的是抵制入侵者,然而入侵者會想方設法逃避它。逃避IDS的方法很多,總結起來可以分成兩大類: 讓IDS漏報和讓IDS誤報。
1.IDS誤報
所謂IDS誤報是指: 明明沒有這個攻擊,但是入侵者讓IDS拼命告警,使不斷增長的告警日志塞滿硬盤,以致翻滾的告警屏幕把管理者搞得眼花繚亂。這樣,真正的攻擊就可以夾雜在數不清的虛假告警中蒙混過關了。
2001年3月,國外網絡安全產品評測人員Coretez Giovanni發現另外一種讓IDS誤報的入侵: 快速地產生告警信息,抑制IDS的反應速度,以致使IDS失去反應能力,甚至讓系統出現死機現象。當時,Coretez寫了一個名為Stick的程序,作為IDS產品的測試用例。它的作用是: 可以讀入Snort(一種免費的IDS ,其下載網址為http://www.snort.org)的規則,然后按照Snort的規則組包。由于Snort的規則涵蓋了絕大多數的攻擊種類,所以IDS一旦匹配了按Snort規則產生的攻擊報文,即可發出告警信息。對于比較有名的IDS像ISS Realscur和Snort,Stick都能給它們造成30s以上的停頓。所以,對于新出現的IDS及其造成的危害,用戶絕不能忽視。另悉,ISS針對新型IDS誤報入侵已發布了補丁程序,詳見 http://www.iss.net/db_data/xpu/RSNS%202.2.php。
在發現新型IDS誤報入侵方面,Stick功不可沒。為了更好地測試用戶選用的IDS產品,用戶不妨從http://www.securityfocus.com/frames/?content=/templates/tools.html%3Fid%3D1974上下載Stick,其編譯起來并不麻煩,只需查看幫助即可。需要指出的是,絕大多數的IDS都是從Snort得到眾多借鑒的,在企業測試IDS的過程中建議用戶試用一下Stick。
2.IDS漏報
和IDS誤報相比,漏報其實更危險。采用IDS技術就是為了在發現入侵時給出告警信息。如果入侵者入侵成功而IDS尚未告警,IDS便失去存在的意義。筆者從國外網站上看到一篇文章,它對利用TCP連接特點讓IDS做漏報進行了詳細的描述,同時還給出一些實現漏報的辦法,給筆者提供了一種新思路: IDS想要防止欺騙,就要盡可能地模仿TCP/IP棧的實現。但是從效率和實現的復雜性考慮,IDS并不能很容易地做到這一點。
這種方法比較適合智能化的IDS,好的IDS一般為了減少誤報,會像現在一些高端的防火墻一樣基于狀態進行判斷,而不是根據單個的報文進行判斷。這樣上面談到的Stick對這種IDS一般不起作用。但是用戶應該注意到,這種簡單的IDS只是字符串匹配,一旦匹配成功,即可報警。
2001年4月,又出了一個讓IDS漏報的程序ADMmutate,據說它可以動態改變Shellcode。本來IDS依靠提取公開的溢出程序的特征碼來報警,特征碼變了以后,IDS就報不出來了。但是程序還一樣起作用,服務器一樣被黑。這個程序的作者是ktwo(http://www.ktwo.ca),我們可以從http://www.ktwo.ca/c/ADMmutate-0.7.3.tar.gz上下載該程序。用戶不妨也試試它,以檢測自己的IDS產品性能。不過,ADMmutate只能對依靠檢查字符串匹配告警的IDS起作用,如果IDS還依靠長度和可打印字符等綜合指標,則ADMmutate將很容易被IDS監控到。
IDS的實現總是在漏報和誤報中徘徊,漏報率降低了,誤報率就會提高; 同樣誤報率降低了,漏報率就會提高。一般地,IDS產品會在兩者中取一個折衷,并且能夠進行調整,以適應不同的網絡環境。
四、自身安全性
毫無疑問,IDS程序本身的健壯性是衡量IDS系統好壞的另一個指標。如上所述,Stick程序能讓IDS停止響應,該IDS的健壯性就值得懷疑。
企業測試IDS的健壯性主要體現在兩個方面: 一是程序本身在各種網絡環境下都能正常工作; 二是程序各個模塊之間的通信能夠不被破壞,不可仿冒。IDS用于各個模塊間遠程通信和控制,如果通信被假冒,比如假冒一個停止遠程探測器的命令或者假冒告警信息,都是釜底抽薪的狠招。這就需要用戶在模塊間的通信過程中引入加密和認證的機制,并且這個加密和認證的機制的健壯性要經受過考驗。如果模塊間的通信被切斷,則需要良好的恢復重傳機制。告警信息暫時沒有發送出去,并不是丟棄,而是要本地保存,在適當的時候再發送。
從上面的描述中我們可以看到,沒有IDS的安全防護體系是不完善的。希望本文可以幫助大家了解IDS,在網絡安全體系中使用IDS增強網絡的堅固性,并為用戶選購IDS產品提供參考。
【編輯推薦】