摘 要 隨著入侵檢測系統(tǒng)的廣泛應用,對入侵檢測系統(tǒng)進行測試和評估的要求也越來越迫切。開發(fā)者希望通過測試和評估發(fā)現(xiàn)產(chǎn)品中的不足,用戶希望測試和評估來幫助自己選擇合適的入侵檢測產(chǎn)品。本文根據(jù)目前的相關(guān)研究,介紹了入侵檢測系統(tǒng)測試評估的標準、指標,方法步驟、數(shù)據(jù)來源、環(huán)境配置、測試評估的現(xiàn)狀以及其中存在的一些問題。
關(guān)鍵詞 入侵檢測 評估 測試平臺
1 引言
隨著人們安全意識的逐步提高,入侵檢測系統(tǒng)(IDS)的應用范圍也越來越廣,各種各樣的IDS也越來越多。那么IDS能發(fā)現(xiàn)入侵行為嗎?IDS是否達到了開發(fā)者的設(shè)計目標?什么樣的IDS才是用戶需要的性能優(yōu)良的IDS呢?要回答這些問題,都要對IDS進行測試和評估。
和其他產(chǎn)品一樣,當IDS發(fā)展和應用到一定程度以后,對IDS進行測試和評估的要求也就提上日程表。各方都希望有方便的工具,合理的方法對IDS進行科學。公正并且可信地測試和評估。對于IDS的研制和開發(fā)者來說,對各種IDS進行經(jīng)常性的評估,可以及時了解技術(shù)發(fā)展的現(xiàn)狀和系統(tǒng)存在的不足,從而將講究重點放在那些關(guān)鍵的技術(shù)問題上,減少系統(tǒng)的不足,提高系統(tǒng)的性能;而對于IDS的使用者來說,由于他們對IDS依賴程度越來越大,所以也希望通過評估來選擇適合自己需要的產(chǎn)品,避免各IDS產(chǎn)品宣傳的誤導。IDS的用戶對測試評估的要求尤為迫切,因為大多數(shù)用戶對IDS本身了解得可能并不是很深入,他們希望有專家的評測結(jié)果作為自己選擇IDS的依據(jù)。
總地來說,對IDS進行測試和評估,具有以下作用:
·有助于更好地刻劃IDS的特征。通過測試評估,可更好地認識理解IDS的處理方法、所需資源及環(huán)境;建立比較IDS的基準;領(lǐng)會各檢測方法之間的關(guān)系。
·對IDS的各項性能進行評估,確定IDS的性能級別及其對運行環(huán)境的影響。
·利用測試和評估結(jié)果,可做出一些預測,推斷IDS發(fā)展的趨勢,估計風險,制定可實現(xiàn)的IDS質(zhì)量目標(比如,可靠性、可用性、速度、精確度)、花費以及開發(fā)進度。
·根據(jù)測試和評估結(jié)果,對IDS進行改善。也就是發(fā)現(xiàn)系統(tǒng)中存在的問題并進行改進,從而提高系統(tǒng)的各項性能指標。
本文首先介紹了測試評估IDS性能的標準,然后介紹了測試評估的方法步驟,并且介紹測試評估的具體指標、所需的數(shù)據(jù)源、測試評估環(huán)境配置與框架,最后介紹了測試評估現(xiàn)狀以及其中存在的一些問題。
2 測試評估IDS性能的標準
根據(jù)Porras等的研究,給出了評價IDS性能的三個因素:
準確性(Accuracy):指IDS從各種行為中正確地識別入侵的能力,當一個IDS的檢測不準確時,就有可能把系統(tǒng)中的合法活動當作入侵行為并標識為異常(虛警現(xiàn)象)。
處理性能(Performance):指一個IDS處理數(shù)據(jù)源數(shù)據(jù)的速度。顯然,當IDS的處理性能較差時,它就不可能實現(xiàn)實時的IDS,并有可能成為整個系統(tǒng)的瓶頸,進而嚴重影響整個系統(tǒng)的性能。
完備性(Completeness):指IDS能夠檢測出所有攻擊行為的能力。如果存在一個攻擊行為,無法被IDS檢測出來,那么該JDS就不具有檢測完備性。也就是說,它把對系統(tǒng)的入侵活動當作正常行為(漏報現(xiàn)象)。由于在一般情況下,攻擊類型、攻擊手段的變化很快,我們很難得到關(guān)于攻擊行為的所有知識,所以關(guān)于IDS的檢測完備性的評估相對比較困難。
在此基礎(chǔ)上,Debar等又增加了兩個性能評價測度:
容錯性(Fault Tolerance):由于IDS是檢測入侵的重要手段/所以它也就成為很多入侵者攻擊的首選目標。IDS自身必須能夠抵御對它自身的攻擊,特別是拒絕服務(wù)(Denial-of-Service)攻擊。由于大多數(shù)的IDS是運行在極易遭受攻擊的操作系統(tǒng)和硬件平臺上,這就使得系統(tǒng)的容錯性變得特別重要,在測試評估IDS時必須考慮這一點。
及時性(Timeliness):及時性要求IDS必須盡快地分析數(shù)據(jù)并把分析結(jié)果傳播出去,以使系統(tǒng)安全管理者能夠在入侵攻擊尚未造成更大危害以前做出反應,阻止入侵者進一步的破壞活動,和上面的處理性能因素相比,及時性的要求更高。它不僅要求IDS的處理速度要盡可能地快,而且要求傳播、反應檢測結(jié)果信息的時間盡可能少。
3 IDS測試評估的方法步驟
前面我們已經(jīng)討論了IDS測試評估的性能指標,具體測試主要就是圍繞這些指標來進行。大部分的測試過程都遵循下面的基本測試步驟:
·創(chuàng)建、選擇一些測試工具或測試腳本。這些腳本和工具主要用來生成模擬的正常行為及入侵,也就是模擬IDS運行的實際環(huán)境。
·確定計算環(huán)境所要求的條件,比如背景計算機活動的級別。
·配置運行IDS。
·運行測試工具或測試腳本。
·分析IDS的檢測結(jié)果。
美國加州大學的Nicholas J.Puketza等人把測試分為三類,分別與前面的性能指標相對應,即入侵識別測試(也可以說是IDS有效性測試)。資源消耗測試、強度測試。入侵識別測試測量IDS區(qū)分正常行為和入侵的能力,主要衡量的指標是檢測率和虛警率。資源消耗測試(Resource Usage Tests)測量IDS占用系統(tǒng)資源的狀況,考慮的主要因素是硬盤占用空間、內(nèi)存消耗等。強度測試主要檢測IDS在強負荷運行狀況下檢測效果是否受影響,主要包括大負載、高密度數(shù)據(jù)流量情況下對檢測效果的檢測。
4 測試評估IDS的性能指標
在我們分析IDS的性能時,主要考慮檢測系統(tǒng)的有效性、效率和可用性。有效性研究檢測機制的檢測精確度和系統(tǒng)檢測結(jié)果的可信度,它是開發(fā)設(shè)計和應用IDS的前提和目的,是測試評估IDS的主要指標,效率則從檢測機制的處理數(shù)據(jù)的速度以及經(jīng)濟性的角度來考慮,也就是側(cè)重檢測機制性能價格比的改進?捎眯灾饕ㄏ到y(tǒng)的可擴展性、用戶界面的可用性,部署配置方便程度等方面。有效性是開發(fā)設(shè)計和應用IDS的前提和目的,因此也是測試評估IDS的主要指標,但效率和可用性對IDS的性能也起很重要的作用。效率和可用性滲透于系統(tǒng)設(shè)計的各個方面之中。本節(jié)從檢測的有效性、效率以及可用性角度,對測試評估IDS的性能指標進行分析討論。
4.1 檢測率、虛警率及檢測可信度
檢測率是指被監(jiān)控系統(tǒng)在受到入侵攻擊時,檢測系統(tǒng)能夠正確報警的概率。虛警率是指檢測系統(tǒng)在檢測時出現(xiàn)虛警的概率。檢測可信度也就是檢測系統(tǒng)檢測結(jié)果的可信程度,這是測試評估IDS的最重要的指標。
實際的IDS的實現(xiàn)總是在檢測率和虛警率之間徘徊,檢測率高了,虛警率就會提高;同樣虛警率降低了,檢測率也就會降低。一般地, IDS產(chǎn)品會在兩者中取一個折衷,并且能夠進行調(diào)整,以適應不同的網(wǎng)絡(luò)環(huán)境。美國的林肯實驗室用接收器特性(ROC,Receiver Operating Characteristic)曲線來描述IDS的性能。該曲線準確刻畫了IDS的檢測率與虛警率之間的變化關(guān)系。ROC廣泛用于輸入不確定的系統(tǒng)的評估。根據(jù)一個IDS在不同的條件(在允許范圍內(nèi)變化的閾值,例如異常檢測系統(tǒng)的報警門限等參數(shù))下的虛警率和檢測率,分別把虛警率和檢測率作為橫坐標和縱坐標,就可做出對應于該IDS的ROC曲線。ROC曲線與IDS的檢測門限具有對應的關(guān)系。
在測試評估IDS的具體實施過程中,除了要IDS的檢測率和虛警率之外,往往還會單獨考慮與這兩個指標密切相關(guān)的一些因素,比如能檢測的入侵特征數(shù)量、IP碎片重組能力、TCP流重組能力。顯然,能檢測的入侵特征數(shù)量越多,檢測率也就越高。此外,由于攻擊者為了加大檢測的難度甚至繞過IDS的檢測,常常會發(fā)送一些特別設(shè)計的分組。為了提高IDS的檢測率降低IDS的虛警率,IDS常常需要采取一些相應的措施,比如IP碎片能力、TCP流重組。因為分析單個的數(shù)據(jù)分組會導致許多誤報和漏報,所以IP碎片的重組可以提高檢測的
精確度。IP碎片重組的評測標準有三個性能參數(shù):能重組的最大IP分片數(shù);能同時重組的IP分組數(shù);能進行重組的最大IP數(shù)據(jù)分組的長度,TCP流重組是為了對完整的網(wǎng)絡(luò)對話進行分析,它是網(wǎng)絡(luò)IDS對應用層進行分析的基礎(chǔ)。如檢查郵件內(nèi)容。附件,檢查FTP傳輸?shù)臄?shù)據(jù),禁止訪問有害網(wǎng)站,判斷非法HTTP請求等。這兩個能力都會直接影響IDS的檢測可信度。
4.2 IDS本身的抗攻擊能力
和其他系統(tǒng)一樣,IDS本身也往往存在安全漏洞。若對IDS攻擊成功,則直接導致其報警失靈,入侵者在其后所作的行為將無法被記錄。因此IDS首先必須保證自己的安全性。IDS本身的抗攻擊能力也就是IDS的可靠性,用于衡量IDS對那些經(jīng)過特別設(shè)計直接以IDS為攻擊目標的攻擊的抵抗能力。它主要體現(xiàn)在兩個方面:一是程序本身在各種網(wǎng)絡(luò)環(huán)境下能夠正常工作;二是程序各個模塊之間的通信能夠不被破壞,不可仿冒。此外要特別考慮抵御拒絕服務(wù)攻擊的能力。如果IDS本身不能正常運行,也就失去了它的保護意義。而如果系統(tǒng)各模塊間的通信遭到破壞,那系統(tǒng)的報警之類的檢測結(jié)果也就值得懷疑,應該有一個良好的通信機制保證模塊間通信的安全并能在出問題時能夠迅速恢復。
4.3 其他性能指標
延遲時間。檢測延遲指的是在攻擊發(fā)生至IDS檢測到入侵之間的延遲時間。延遲時間的長短直接關(guān)系著入侵攻擊破壞的程度。
資源的占用情況。即系統(tǒng)在達到某種檢測有效性時對資源的需求情況。通常,在同等檢測有效性的前提下,對資源的要求越低,IDS的性能越好,檢測入侵的能力也就越強。
負荷能力。IDS有其設(shè)計的負荷能力,在超出負荷能力的情況下,性能會出現(xiàn)不同程度的下降。比如,在正常情況下IDS可檢測到某攻擊但在負荷大的情況下可能就檢測不出該攻擊?疾鞕z測系統(tǒng)的負荷能力就是觀察不同大小的網(wǎng)絡(luò)流量、不同強度的CPU內(nèi)存等系統(tǒng)資源的使用對IDS的關(guān)鍵指標(比如檢測率、虛警率)的影響。
日志、報善、報告以及響應能力。日志能力是指檢測系統(tǒng)保存日志的能力、按照特定要求選取日志內(nèi)容的能力。報警能力是指在檢測到入侵后,向特全部件、人員發(fā)送報警信號的能力以及在報警中附加信息的能力。報告能力是指產(chǎn)生入侵行為報告、提供查詢報告、創(chuàng)建和保存報告的能力。響應能力是指在檢測到入侵后進一步處理的能力,這包括阻斷入侵、跟蹤入侵者、記錄入侵證據(jù)等。
系統(tǒng)的可用性。主要是指系統(tǒng)安裝、配置、管理、使用的方便程度,系統(tǒng)界面的友好程度,攻擊規(guī)則庫維護的簡易程度等方面。
總之,IDS是個比較復雜的系統(tǒng),對IDS進行測試和評估不僅和IDS本身有關(guān),還與應用IDS的環(huán)境有關(guān)。測試過程中涉及到操作環(huán)境、網(wǎng)絡(luò)環(huán)境、工具、軟件、硬件等方面。我們既要考慮入侵檢測的效果如何,也要考慮應用該系統(tǒng)后它對實際系統(tǒng)的影響,有時要折衷考慮這兩種因素。
5 對IDS進行測試評估一利用的相關(guān)數(shù)據(jù)
對IDS進行測試評估,也就是讓IDS對進入到受保護系統(tǒng)的數(shù)據(jù)進行檢測,以確定檢測系統(tǒng)能否發(fā)現(xiàn)其中的入侵。要測試評估IDS,最準確的數(shù)據(jù)當然是根據(jù)實際運行環(huán)境產(chǎn)生的數(shù)據(jù),但這通常是行不通的。因為各機構(gòu)的數(shù)據(jù)中都包含一些隱私信息,他們不愿公開這些數(shù)據(jù),并且即使有機構(gòu)愿意公開自己的數(shù)據(jù),也不大適合用來做通用測試,因為特定機構(gòu)的數(shù)據(jù)都帶有明顯的特有的一些特性,具有一定的局限性,可重復性也不好。為此,在具體測試的時候,大都采用一些測試工具。通過這些工具來生成IDS的測試數(shù)據(jù)。
測試評估數(shù)據(jù)的生成需要滿足下面幾個條件,即數(shù)據(jù)的生成必須能自動完成,不需要人為的干預;要具有一定的可重復性,也就是說需要時可以產(chǎn)生相同的數(shù)據(jù);要有一定的健壯性,可在無人監(jiān)控的條件下,可運行較長時間。
測試評估IDS的數(shù)據(jù)包括兩部分,一部分是訓練數(shù)據(jù),另外一部分是實際測試數(shù)據(jù)。這兩部分數(shù)據(jù)中都包括正常數(shù)據(jù)和入侵數(shù)據(jù)。只有在正常數(shù)據(jù)的背景下,對IDS的測試評估結(jié)果才是客觀和全面的。入侵行為在背景數(shù)據(jù)的掩護下,被檢測系統(tǒng)發(fā)現(xiàn)的機率會大大降低。而IDS也可能將正常的流量行為誤判為攻擊,產(chǎn)生虛警。訓練數(shù)據(jù)用來幫助IDS建立正常行為的模型,調(diào)整IDS各參數(shù)的設(shè)置。在訓練數(shù)據(jù)中,入侵數(shù)據(jù)是明確標明的。測試數(shù)據(jù)用來對檢測系統(tǒng)進行測試,其中的入侵數(shù)據(jù)沒有標明。
通常使用下面三種方法生成既包含正常通信數(shù)據(jù)又有攻擊的可公用的數(shù)據(jù):抓取正常情況和被受控攻擊時的運行通信數(shù)據(jù)。由于隱私和安全問題這顯然行不通;從實際運行數(shù)據(jù)中清除秘密信息。并在其中加入攻擊,這也行不通,因為很難清除秘密信息;在一個內(nèi)部網(wǎng)中重建正常通信和攻擊數(shù)據(jù),這是我們采用的方法。
重建正常通信和攻擊數(shù)據(jù)也就是仿真用戶操作、模擬入侵。仿真用戶操作即生成用戶各種各樣的正常使用模式,這些模式幫助基于異常檢測的IDS建立正常行為的模型,并且以用戶正常模式數(shù)據(jù)作為檢測入侵的背景通信數(shù)據(jù),對于確定IDS正常運行時的檢測率和虛警率是非常必要的。模擬入侵應盡可能地覆蓋多種類型,新的攻擊只在測試數(shù)據(jù)一出現(xiàn)。設(shè)計攻擊要考慮很多問題。要分析攻擊的機制,并在測試系統(tǒng)中試驗以便于分析和調(diào)節(jié)。分析要確定攻擊在測試環(huán)境中能否工作,是否需要新軟件或服務(wù)的支持。設(shè)計新奇的攻擊以用來發(fā)現(xiàn)未利用的系統(tǒng)或網(wǎng)絡(luò)漏洞。下面對用戶正常模式的仿真和入侵仿真分別進行討論。
目前,大多采用下面三種方法來仿真網(wǎng)絡(luò)用戶行為,即通用會話生成工具、測試軟件包和錄制重放實際數(shù)據(jù)。通用會話生成工具方法基于有限自動機來生成用戶所有可能的操作。每種操作都有一定的操作規(guī)程,比如FTP操作,首先它要完成TCP三步握手初始化連接,然后要輸入用戶名和密碼,用戶名密碼通過之后再瀏覽FTP服務(wù)器上的內(nèi)容、下載或者上傳,所有操作完成后離開服務(wù)器,結(jié)束TCP會話。根據(jù)這種通用規(guī)程,就可生成通用的會話,模擬用戶操作。但是,這種方法只適用于測試有限的命令集,比如可仿真FTP客戶,但不能仿真shell客戶,并且這種仿真存在一些問題,因為用戶操作的順序和服務(wù)器端的響應都是不確定的,仿真并不能完全模擬用戶的操作狀況。操作系統(tǒng)開發(fā)商自帶測試軟件包是比較簡單的模擬方法,通常用于測試評估操作系統(tǒng)服務(wù)的性能和應用服務(wù)軟件是否按設(shè)計說明來實現(xiàn)。但是這種測試不能給出用戶進行什么樣的操作,只能告訴我們系統(tǒng)對正常請求的響應行為。錄制重放方法是記錄各種用戶正常活動的數(shù)據(jù),然后在測試平臺上重放用戶的活動過程。這種方法要求用戶活動記錄要足夠多。
用戶正常行為的仿真主要包括網(wǎng)絡(luò)流量仿真、主機正常使用仿真。大多數(shù)的網(wǎng)絡(luò)IDS或者網(wǎng)絡(luò)IDS的大部分都工作于網(wǎng)絡(luò)層或網(wǎng)絡(luò)層之上,它們對網(wǎng)絡(luò)上的數(shù)據(jù)分組根據(jù)不同的協(xié)議進行相應的分析。因此,在仿真網(wǎng)絡(luò)流量時,要仿真各種協(xié)議的各種應用的流量。通常,對實際流量進行分析,經(jīng)統(tǒng)計計算,得到各個協(xié)議按時間的流量概率分布,以此為模型,分別仿真各個協(xié)議的流量。
主機的使用可以分為兩個部分:主機所提供的網(wǎng)絡(luò)服務(wù)的使用和主機的直接使用,即用戶在主機上執(zhí)行命令。相應的主機正常使用的仿真要分為兩部分,即主機網(wǎng)絡(luò)服務(wù)正常使用的仿真和主機直接使用的仿真。對主機提供的網(wǎng)絡(luò)服務(wù)的正常使用進行仿真,可以采用兩種方法。一是遍歷法,即找出某個服務(wù)允許的所有正常使用模式,再由仿真程序,按這些模式依次對該服務(wù)進行訪問。二是實際采樣法,取得真實網(wǎng)絡(luò)環(huán)境中某個服務(wù)的實際使用情況數(shù)據(jù),分析出現(xiàn)的使用模式,再根據(jù)分析結(jié)果建立仿真模型進行仿真。此方法與網(wǎng)絡(luò)流量仿真的方法類似。這兩種方法各有優(yōu)缺點、仿真實現(xiàn)中,應根據(jù)被仿真服務(wù)的具體情況進行選擇。由于用戶的行為因工作性質(zhì)不同,會有很大差別,所以主機直接使用的仿真應將用戶分為不同的種類(比如管理員、普通用戶),根據(jù)不同的用戶類型編寫不同的腳本,實現(xiàn)主機直接使用的仿真。由于不同用戶使用習慣變化很大,并且即使同一用戶使用習慣也帶有很大的隨機性,這使得仿真的難度大大增加。在實際測試評估IDS時,一般只是仿真主機正常使用的一個具有代表性的子集。
攻擊仿真是評估環(huán)境的核心,也是對IDS進行測試的關(guān)鍵。攻擊仿真要盡可能多地搜集各種攻擊方法。由于各種攻擊的數(shù)量過于龐大,不可能對所有的攻擊都進行仿真。參考軟件測試領(lǐng)域中的等價劃分方法(equivalence partitioning),在進行攻擊仿真時,一般先將攻擊分類,然后選擇每種類別中典型的攻擊方法進行仿真試驗。選擇好攻擊類型后,在仿真時根據(jù)入侵者進行攻擊的步驟進行仿真。在構(gòu)造攻擊數(shù)據(jù)時還要注意新式攻擊。攻擊方式隱秘的攻擊、并行進行的攻擊等方面。相對于舊式攻擊、攻擊方式明顯的攻擊以及串行進行的攻擊而言,這些攻擊方式對檢測結(jié)果的影響可能會更大。
目前,測試數(shù)據(jù)所采用的格式大多采用Tcpdump數(shù)據(jù)格式和BSM數(shù)據(jù)格式,由于Windows系統(tǒng)廣泛應用,Windows NT的日志格式也逐漸考慮進來。在測試數(shù)據(jù)方面,麻省理工學院林肯實驗室的數(shù)據(jù)比較完備,它包括一定時間的訓練數(shù)據(jù)和用于最后實際測試的檢測數(shù)據(jù)。用于網(wǎng)絡(luò)流量仿真的工具有Anzen公司開發(fā)的nidsbench以及加利福尼亞大學開發(fā)的入侵檢測測試平臺。nidsbench包括tcpreplay和fraqrouter兩部分。tcpreplay的功能是將tcpdump復制的數(shù)據(jù)分組重放,還原網(wǎng)絡(luò)的實際運行狀態(tài);而fraqrouter的功能是通過構(gòu)造一系列躲避IDS檢測的攻擊以測試檢測系統(tǒng)的正確性和安全性。加利福尼亞大學的IDS軟件測試平臺使用
Tcl-DP(TooL Command Language Distributed Programming)工具開發(fā)實現(xiàn)。它共包含四組命令:基本的會話命令集、同步命令集、通信命令集、記錄重放命令集。這些命令集分別用來仿真入侵者的基本操作,按指定要求產(chǎn)生事件,實現(xiàn)并發(fā)進程的通信以及記錄用戶會話期間的操作命令序列再重放這些記錄。此外,麻省理工學院林肯實驗室也開發(fā)了非實時IDS性能評估工具,該工具可動態(tài)重放大量的數(shù)據(jù)。
6 測試評估IDS的環(huán)境配置與框架
在測試評估IDS時,很少會把IDS放在實際運行的網(wǎng)絡(luò)中,因為實際網(wǎng)絡(luò)環(huán)境是不可控的,并且實際網(wǎng)絡(luò)環(huán)境的專用性也太強,很難對IDS進行準確的系統(tǒng)測試。所以一般要構(gòu)建專用的網(wǎng)絡(luò)的環(huán)境。
受保護系統(tǒng)模擬主機正常運行狀況,網(wǎng)絡(luò)負載生成器模擬內(nèi)部網(wǎng)之間以及內(nèi)部網(wǎng)與外部網(wǎng)之間的網(wǎng)絡(luò)通信。攻擊模擬用來模擬入侵者發(fā)起的攻擊。IDS即為待檢測的系統(tǒng)。由于有時實際的網(wǎng)絡(luò)環(huán)境很大,有很多安裝各種各樣操作系統(tǒng)、應用軟件的主機服務(wù)器,要求測試環(huán)境完全按照實際網(wǎng)絡(luò)進行配置并不是很實際,所以在測試中一般采用虛擬主機技術(shù)。通常使用一些軟件工具或者編寫可自動運行的腳本來模擬各種主機的各種行為,相當于在一臺物理主機上運行多臺虛擬主機,每個虛擬主機模擬不同硬件上運行的不同操作系統(tǒng)、不同應用程序。一般來說,受保護主機要包含運行常用操作系統(tǒng)(比如Windows、Linux、SunOS)的主機。內(nèi)部網(wǎng)網(wǎng)絡(luò)負載生成器要模擬內(nèi)部的網(wǎng)絡(luò)流量以及內(nèi)部的攻擊,而外部位網(wǎng)絡(luò)負載生成器要模擬外部的網(wǎng)絡(luò)流量(比如訪問Web頁面,下載文件)以及外部的攻擊。實際構(gòu)建測試環(huán)境的過程是個復雜過程,它直接關(guān)系到評測的成功與否。
7 IDS測試評估現(xiàn)狀以及存在的問題
雖然IDS及其相關(guān)技術(shù)已獲得了很大的進展,但關(guān)于IDS的性能檢測及其相關(guān)評測工具、標準以及測試環(huán)境等方面的研究工作還很缺乏。
Puketza等人在1994年開創(chuàng)了對IDS評估系統(tǒng)研究的先河,在他們開發(fā)的軟件平臺上可以實現(xiàn)自動化的攻擊仿真。1998年Debar等在IDS實驗測試系統(tǒng)的研究中,指出在評估環(huán)境中仿真正常網(wǎng)絡(luò)流量是一件非常復雜而且耗時的工作。林肯實驗室在1998年、1999年進行的兩次IDS離線評估,是迄今為止最權(quán)威的IDS評估。在精心設(shè)計的測試網(wǎng)絡(luò)中,他們對正常網(wǎng)絡(luò)流量進行了仿真,實施了大量的攻擊,將記錄下的流量系統(tǒng)日志和主機上文件系統(tǒng)映像等數(shù)據(jù),交由參加評估的IDS進行離線分析。最后根據(jù)各IDS提交的檢測結(jié)果做出評估報告。目前美國空軍羅馬實驗室對IDS進行了實時評估。羅馬實驗室的實時評估是林肯實驗室離線評估的補充,它主要對作為現(xiàn)行網(wǎng)絡(luò)中的一部分的完整系統(tǒng)進行測試,其目的是測試IDS在現(xiàn)有正常機器和網(wǎng)絡(luò)活動中檢測入侵行為的能力以及IDS的響應能力及其對正常用戶的影響。IBM的Zurich研究實驗室也開發(fā)了一套IDS測評工具。此外,有些黑客工具軟件也可用來對IDS進行評測。
目前,市場上以及正在研發(fā)的IDS很多,各系統(tǒng)都有自己獨特的檢測方法。攻擊描述方式以及攻擊知識庫,還沒有一個統(tǒng)一的標準。這大大加大了測試評估IDS的難度,因為很難建立一個統(tǒng)一的基準,也很難建立統(tǒng)一的測試方法。
測試評估IDS中存在的最大問題是只能測試已知的攻擊。在測試評估過程中,采用模擬的方法來生成測試數(shù)據(jù),而模擬入侵者實施攻擊面臨的困難是只能掌握已公布的攻擊,而對于新的攻擊方法就無法得知。這樣的后果是,即使測試沒有發(fā)現(xiàn)IDS的潛在弱點,也不能說明IDS是一個完備的系統(tǒng)。不過,可以通過分類選取測試例子,使之盡量覆蓋許多不同種類的攻擊,同時不斷更新入侵知識庫,以適應新的情況。
并且,由于測試評估IDS的數(shù)據(jù)都是公開的,如果針對測試數(shù)據(jù)設(shè)計待測試IDS,則該IDS的測試結(jié)果肯定比較好,但這并不能說明它實際運行的狀況就好。
此外,對評測結(jié)果的分析使用也有很多問題。理想狀況是可以自動地對評測結(jié)果進行分析,但實際上很難做到這一點。對IDS的實際評估通常既包含客觀的也包含主觀的,這和IDS的原始檢測能力以及它報告的方式有關(guān)。分析人員要在IDS誤報時分析為什么會出現(xiàn)這種誤報,在給定的測試網(wǎng)絡(luò)條件下,這種誤報是否合理等問題。評測結(jié)果的計分方式也很關(guān)鍵,如果計分不合理的話,得出的評測結(jié)果可信度也就不可能很高。比如,如果某個IDS檢測不出某種攻擊或?qū)δ撤N正常行為會產(chǎn)生虛警,則同樣的行為都產(chǎn)生同樣的結(jié)果,正確的處理方法是應該只計一次,但這很難把握,一旦這種效果被多次重復考慮的話,該IDS的評測結(jié)果肯定不是很理想,但實際上該人侵檢測總體檢測效果可能很好。
8 小結(jié)
入侵檢測作為一門正在蓬勃發(fā)展的技術(shù),出現(xiàn)的時間并不是很長;相應地對IDS進行評測出現(xiàn)得更晚。它肯定有很多不完善和有待改進的地方,這需要進一步的研究。其中幾個比較關(guān)鍵的問題是:網(wǎng)絡(luò)流量仿真、用戶行為仿真、攻擊特征庫的構(gòu)建、評估環(huán)境的實現(xiàn)以及評測結(jié)果的分析。
近幾年來,我國的入侵檢測方面的研究工作和產(chǎn)品開發(fā)也有了很大的發(fā)展。但對入侵檢測評估測試方面的工作還不是很多。各入侵檢測產(chǎn)品廠家基于各方面的原因,在宣傳時常?浯笃湓~,而IDS的用戶對此往往又不是很清楚,所以迫切需要建立起一個可信的測試評估標準。這對開發(fā)者和用戶都有好處。
摘自《通信技術(shù)政策研究》