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