基于環境模擬的入侵檢測系統測試方法
0 引 言
在保障網絡的安全性時,入侵檢測系統已經成為必選的技術和手段,因為它比起其他的安全技術存在著很多優勢。用戶在選用IDS時,總是從各自不同的需要來考慮。要衡量IDS的優劣,就需要明確IDS應該具備的性能指標,設計有效的方法來測試。實際上入侵檢測系統的測試是一個難度較大的問題,也是一件費時耗力的工作。對于這一工作,許多研究機構都進行了相應的研究,給出了自己的測試方法和測試結果。例如MIT的林肯實驗室分別在1998年和1999年進行了IDS的兩次測試,這兩次測試的結果曾受到廣泛的關注。IBM的蘇黎世研究院和其他一些研究機構也做過相似的工作。他們的工作都專注于IDS評估和測試的本身,沒有過多考慮到開發者的需要,而且他們的方法實現起來代價都很大。本文既考慮到測試的目的,又考慮了開發者的需要,盡量能夠保證測試環境和開發環境的融合,提出模擬現實的網絡環境,然后搭建軟件平臺進行IDS測試的方法。該方法比較容易實現,可控制性強,能夠滿足IDS測試的多種需要,隨后的仿真測試說明該方法是有效的。
1 IDS測試目的及指標
入侵檢測系統是一個軟硬件結合體系,可以借鑒軟件測試方法來測試和評價入侵檢測系統,但是純粹的軟件測試方法并不能很好地滿足IDS測試的需要。首先要確定應該以什么樣的標準來測試IDS,也就是選擇測試指標。根據IDS的特點采取定量的測試方法,這些測試指標側重于那些定量的測量,以及與檢測準確度相關的項目。
IDS的主要目的就是有效地檢測出入侵行為,并進行及時處理。檢測率用來確定在一個時間段內及在給定的環境中IDS可以正確檢測到攻擊的比率。當系統將正常的行為確認為人侵行為時就是發生誤報(False Positive)。誤報率用來確定在一個特定的時間段內及在給定環境中IDS所產生的誤報比率,大多數產生誤報的原因是正常的非惡意的后臺流量引起的。當系統將入侵行為確認為正常行為時,則發生漏報(False Negatire)。漏報率用來衡量一個特定的時間段及在給定環境中IDS所產生的漏報比率。
檢測率和誤報率是緊密相關的,受試者行為特性曲線(Receiver Operating Characteristic,ROC)反映了這兩者之間的關系。ROC曲線的橫軸是IDS的誤報次數,縱軸為檢測率,該曲線準確地刻畫了IDS的檢測率與誤報率情況。利用ROC曲線還可以找出IDS的檢測和誤報之間的平衡點,但是為了獲得這個點需要預先做很多工作。
除了上面的幾項指標外,還有幾項重要的指標需要加以考慮。它們包括:自身安全性(抵抗對于入侵檢測系統本身的攻擊)、處理高數據流量的能力、事件關聯能力、檢測未知攻擊的能力、確認攻擊是否成功的能力等。
2 IDS測試環境
測試環境是對IDS進行評估和測試的基礎,因為它直接關系到測試的結果,也直接影響測試的真實性和客觀性。無論何種類型的IDS,其運行的真實環境總是一個具體的網絡。但是測試中環境卻不拘泥于是否是在某種特定的網絡里,IDS的部署和配置總是根據它所在的網絡環境而千差萬別,建立的測試環境應該能夠滿足IDS測試中多樣性的需要,使它不僅能對測試環境進行靈活的調整,又能在現實網絡中使其流量要求與技術指標相符合。測試環境分為三種:現實網絡環境、純軟件模擬環境和模擬網絡環境。
2.1 現實網絡環境和模擬環境
現實網絡環境就是本地現有的正在實際使用的網絡環境。整個因特網就是一個最大的現實的網絡測試環境,如圖1所示。
在內網中布置了IDS,該IDS可以是基于主機(Host-based IDS)的,也可以是基于網絡(Network-based IDS)的。發起攻擊的主機(產生攻擊行為的主機,這樣的主機可以是一臺也可以是多臺)可以在網內,也可以在網外。網內和網外是一個相對而言的概念,把與IDS同在一個局域網中的設備和節點看作網內,其他情況稱為網外。發起攻擊測試的主機如果是在網內,那么它們應該與所要測試的IDS在同一個局域網內,如果這臺主機是在網外,那么它的位置跨度可以很大,它們可以是因特網上的任何機器。
評論