專利名稱:用于測試入侵檢測系統(tǒng)的測試裝置及測試方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息安全技術(shù)領(lǐng)域,涉及網(wǎng)絡安全產(chǎn)品的測試,特別是涉及
一種用于入侵檢測系統(tǒng)(Intrusion Detection System,簡稱IDS)測試的測
試裝置及測試方法。
背景技術(shù):
入侵檢測是一種為計算機網(wǎng)絡提供實時保護的網(wǎng)絡安全技術(shù),主要是對 當前輸入受護網(wǎng)絡或受護主機中的數(shù)據(jù)進行檢測,確定當前檢測數(shù)據(jù)為合法 數(shù)據(jù)還是非法數(shù)據(jù)。通常,網(wǎng)絡入侵檢測系統(tǒng)從計算機網(wǎng)絡系統(tǒng)中的若干關(guān) 鍵點收集網(wǎng)絡通信的信息,如用戶活動的狀態(tài)和行為等,通過己建立的入侵 檢測規(guī)則庫來分析網(wǎng)絡中是否有違反安全策略的行為,若發(fā)現(xiàn)違反安全策略 的行為則進行報警,從而提供對計算機網(wǎng)絡系統(tǒng)的實時保護。
隨著IDS或IDS模塊的廣泛應用,IDS或IDS模塊的入侵檢測能力、運維 管理和升級更新成了信息安全測評機構(gòu)、網(wǎng)絡管理部門和用戶日益關(guān)心的事 情,他們對測試工具和方法的需求更加迫切。通常,對IDS或IDS模塊的測 試是通過IDS或IDS所在網(wǎng)絡進行網(wǎng)絡攻擊,并通過評估IDS對攻擊的告警 情況來判斷IDS的能力。
目前,公知的IDS或IDS模塊的測試系統(tǒng)包括手工利用黑客工具、攻擊特 征包發(fā)送和錄播重放。其中,手工利用黑客工具就是直接操作黑客工具,產(chǎn) 生網(wǎng)絡攻擊來進行測試;攻擊特征包發(fā)送通過向攻擊目標發(fā)送一個或多個包含攻擊特征的數(shù)據(jù)包,來實現(xiàn)對IDS或IDS模塊的測試;錄播重放通過重新發(fā) 送捕獲的歷史網(wǎng)絡攻擊數(shù)據(jù)來進行測試。這些系統(tǒng)或方法存在如下不足
一、 手工操作黑客工具盡管能夠產(chǎn)生真實的網(wǎng)絡攻擊,但卻存在諸多問 題,例如效率太低,有的工具操作復雜,不可信,不安全,而且需要相關(guān)軟 硬件環(huán)境支持,難以進行大批量的測試或重復測試,等等。集成的黑客工具 集構(gòu)建的測試系統(tǒng)同樣也存在這些問題。
二、 攻擊特征包發(fā)送通常通過協(xié)議分析儀實現(xiàn),產(chǎn)生的是虛假的網(wǎng)絡攻 擊,不是完整的網(wǎng)絡攻擊(只含有攻擊特征字段),不會對攻擊目標產(chǎn)生危害, 如果IDS或IDS模塊對此告警,這就是一種成功的插入與規(guī)避攻擊(Inserti。n and Evasion Attack),說明IDS或IDS模塊存在安全缺陷。而目前IDS或IDS模塊廣泛 采用了狀態(tài)協(xié)議分析技術(shù),采用這種技術(shù)后,IDS能夠?qū)W(wǎng)絡會話的狀態(tài)、真 實性和完整性進行判斷,正確丟棄不完整的數(shù)據(jù)包。因此,單純地攻擊特征 包發(fā)送已經(jīng)不能正確地對此類IDS或IDS模塊進行測試。
三、 錄播重放可通過協(xié)議分析儀或?qū)iT的測試工具進行,它在網(wǎng)絡中重 新注入歷史的網(wǎng)絡攻擊數(shù)據(jù),但這些數(shù)據(jù)是包含有錯誤字段的網(wǎng)絡連接(例 如IP地址、端口、時間戳和序列號等),并不會真正地產(chǎn)生危害,同樣可能是 插入與規(guī)避攻擊,這些數(shù)據(jù)會遭到攻擊目標和IDS或IDS模塊的忽略,從而也 不能對采用狀態(tài)協(xié)議分析技術(shù)的IDS或IDS模塊的進行正確的測試。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種能夠生成真實的、有狀態(tài)的網(wǎng)絡攻擊會話的入 侵檢測系統(tǒng)測試裝置和測試方法,從而實現(xiàn)了對采用狀態(tài)協(xié)議分析技術(shù)的IDS或IDS模塊的測試,并提高了IDS測試的效率和準確率。
本發(fā)明的用于入侵檢測系統(tǒng)的測試裝置,包括網(wǎng)絡攻擊腳本生成模塊, 用于產(chǎn)生測試所需的網(wǎng)絡攻擊腳本,其首先從真實的歷史網(wǎng)絡攻擊數(shù)據(jù)中提 取一次完整的網(wǎng)絡攻擊,然后通過對攻擊包進行分析后生成網(wǎng)絡攻擊會話的 環(huán)境描述文件和網(wǎng)絡攻擊會話的數(shù)據(jù)文件,并將上述兩個文件存儲到網(wǎng)絡攻
擊腳本庫中;網(wǎng)絡攻擊腳本庫模塊,用于維護網(wǎng)絡攻擊腳本,形成測試的基 準庫;網(wǎng)絡攻擊腳本解析模塊,用于對網(wǎng)絡攻擊腳本進行解析,得到網(wǎng)絡攻 擊會話的關(guān)鍵參數(shù)與數(shù)據(jù),為重新產(chǎn)生網(wǎng)絡攻擊會話做好準備;網(wǎng)絡攻擊生 成模塊,用于根據(jù)解析得到的腳本信息產(chǎn)生網(wǎng)絡攻擊會話;報告模塊,用于 根據(jù)測試結(jié)果生成測試報告。
其中,該測試裝置還進一步包括管理模塊,用于提供測試系統(tǒng)的人機
接口和配置項管理。
一種用于入侵檢測系統(tǒng)的測試方法,包括以下步驟
(1) 生成網(wǎng)絡攻擊腳本首先從真實的歷史攻擊數(shù)據(jù)中提取一次完整的 網(wǎng)絡攻擊,然后通過對攻擊包進行分析,生成網(wǎng)絡攻擊會話的環(huán)境描述文件
和數(shù)據(jù)文件,并將上述兩個文件存儲到網(wǎng)絡攻擊腳本庫中;
(2) 對網(wǎng)絡攻擊腳本進行解析根據(jù)測試策略從網(wǎng)絡攻擊腳本庫中選擇
相應的測試用例,并對該測試用例對應的環(huán)境描述文件和數(shù)據(jù)文件進行解析,
還原網(wǎng)絡攻擊會話關(guān)鍵參數(shù)與數(shù)據(jù);對于環(huán)境描述文件,解析得到源IP和目 的IP地址;對于數(shù)據(jù)文件,首先解析出每個數(shù)據(jù)包在數(shù)據(jù)文件中的偏移位置 和每個數(shù)據(jù)包的長度,然后根據(jù)數(shù)據(jù)包在文件中的偏移位置和數(shù)據(jù)包的長度讀取到一個完整的數(shù)據(jù)包,接著根據(jù)IP/TCP/UDP等協(xié)議規(guī)范,解析出數(shù)據(jù)包 的包頭信息,包括源IP、源端口、目的IP、目的端口、校驗和,最后解析出
數(shù)據(jù)包中除包頭外的其它部分;通過循環(huán)這一過程,能夠解析出數(shù)據(jù)文件中 的所有數(shù)據(jù)包,從而完成對攻擊腳本的解析;
(3) 產(chǎn)生網(wǎng)絡攻擊會話首先構(gòu)建客戶端和服務端兩個數(shù)據(jù)包發(fā)送程序, 用于分別發(fā)送攻擊機和被攻擊機的攻擊數(shù)據(jù)和應答數(shù)據(jù),其次客戶端和服務
端重組數(shù)據(jù)文件中的每一個數(shù)據(jù)包,包括修改源MAC地址、源IP、目的MAC 地址和目的IP,并重新計算數(shù)據(jù)包的校驗和,然后按照網(wǎng)絡攻擊順序來構(gòu)建 整個網(wǎng)絡攻擊會話,最后根據(jù)數(shù)據(jù)包源IP和目的IP的不同,選擇從客戶端或 服務端將數(shù)據(jù)包按照順序發(fā)送出去;
(4) 測試結(jié)果評估待所有網(wǎng)絡攻擊測試完成后,根據(jù)IDS對網(wǎng)絡攻擊 的告警情況,對IDS的入侵檢測能力、入侵檢測性能、抗插入與規(guī)避攻擊的 能力進行評估,提交評估報告。
本發(fā)明產(chǎn)生的網(wǎng)絡攻擊為真實的網(wǎng)絡連接,且攻擊會話也不是單純地攻擊 特征包,而是有狀態(tài)的會話,因此解決了傳統(tǒng)的測試方法無法對采用狀態(tài)協(xié) 議分析技術(shù)的IDS或IDS模塊進行正確測試的問題,實現(xiàn)了對采用狀態(tài)協(xié)議 分析技術(shù)的IDS或IDS模塊的測試。此外,本發(fā)明還包括多種類型的攻擊腳 本,且可以連續(xù)發(fā)起多組網(wǎng)絡攻擊,大大提高了測試的效率和準確率,同時 也可對網(wǎng)絡攻擊的次數(shù)與頻率進行精確控制,提高了測試的能力和靈活性。
圖1為本發(fā)明的用于測試IDS或IDS模塊的測試裝置的結(jié)構(gòu)框圖。圖2為本發(fā)明的用于測試IDS或IDS模塊的測試裝置在測試時的連接示意圖。
圖3為本發(fā)明的用于測試IDS或IDS模塊的測試方法流程圖。
圖4為緩沖區(qū)溢出攻擊一Microsoft Internet Information Server (簡稱IIS)
的Printer Overflow攻擊的CAP文件示例。
具體實施例方式
下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步詳細的說明。 圖1是本發(fā)明的用于測試IDS或IDS模塊的測試裝置的結(jié)構(gòu)框圖。該測 試裝置包括以下模塊
管理模塊該模塊提供基于圖形界面的人機接口,用于對測試過程和測 試配置項進行管理。其中,測試過程管理包括測試進程的啟動和停止,用戶 可根據(jù)需求隨時控制測試進程的啟動和停止;測試配置項管理,包括測試環(huán)
境和測試參數(shù)的配置,如攻擊機和被攻擊機的網(wǎng)絡接口 IP地址、測試策略等。 一個測試用例代表一種網(wǎng)絡攻擊手段, 一種策略代表某些測試用例的集合,
即一組測試用例;本實施例提供4種測試策略供用戶選擇,分別為最小策略、 推薦策略、最大策略或自定義策略最小策略使用最基本的測試用例集,即 各類型典型的2至3種攻擊;推薦策略是測試系統(tǒng)推薦用戶使用的測試用例 集,即各類型典型的5至10種攻擊;最大策略是所有測試用例的合集;自定 義策略是由用戶自行編輯、修改、定制的策略,可以直接選定某些特定的測 試用例。
網(wǎng)絡攻擊腳本生成模塊用于產(chǎn)生測試所需的網(wǎng)絡攻擊腳本。所述網(wǎng)絡攻擊腳本與測試用例一一對應,每個腳本代表一個測試用例。
網(wǎng)絡攻擊腳本生成模塊首先從真實的歷史攻擊數(shù)據(jù)中提取一次完整的網(wǎng) 絡攻擊,并通過對攻擊包進行分析后生成兩個文件
一個是網(wǎng)絡攻擊會話的環(huán)境描述文件,包括測試用例的ID、名稱、描述、 功能類型和文件名稱,針對IDS的脆弱性ID和脆弱性值,策略類型,以及網(wǎng) 絡攻擊的源IP和目的IP等內(nèi)容;其中,測試用例的名稱、ID和描述是對測 試用例的標識和描述,用戶可自行定義,但必須確保ID的唯一性;功能類型 用于對測試用例進行功能分類,共有三種類型的測試用例功能檢測類、安 全性檢測類和升級檢測類,功能檢測類用整形數(shù)1表示,這類測試用例用于 測試IDS檢測攻擊的能力;安全性檢測類用整形數(shù)2表示,這類測試用例用 于測試IDS自身的安全性,如針對IDS的插入規(guī)避攻擊;升級檢測類用整形
數(shù)3表示,這類測試用例用于對最新的攻擊進行測試,以判斷IDS最近是否 進行了升級;脆弱性值表示IDS自身的脆弱性程度,如果IDS不能檢測到某 種攻擊,那么IDS就存在著相應的脆弱性,我們可以使用這個脆弱性值對IDS 進行安全風險評估,這個脆弱性值不存在與數(shù)據(jù)包中,它是腳本的一個屬性, 而且,脆弱性值與這種攻擊的危害程度有關(guān),該攻擊的危害程度越高,則脆 弱性值也越高,脆弱性值由1到5這5個整形數(shù)來表示,1表示脆弱性低,2 表示脆弱性較低,3表示脆弱性為中,4表示脆弱性較高,5表示脆弱性高; 策略類型包括CGI腳本、WEB腳本、拒絕服務腳本、緩沖區(qū)溢出腳本、木馬后 門腳本5種類型,也可根據(jù)需要增加新類型。所有環(huán)境描述文件的文件名以 后綴.var結(jié)束,其格式定義為每項內(nèi)容為一行,每行以內(nèi)容名稱開頭,然后是冒號,冒號后面對應的是該項內(nèi)容的值。 一個環(huán)境描述文件例子如下所 不
測試用例ID: IF-020
測試用例名稱緩沖區(qū)溢出攻擊一IIS的Printer Overflow 測試用例描述進行Printer Overflow攻擊 功能類型l
文件名稱IF—020—Overflow-Printer, cap
脆弱性ID: V02-1020
脆弱性值3
策略類型l
源IP: 192. 168. 1. 100
目的IP: 192. 168. 1. 20
另一個文件是網(wǎng)絡攻擊會話的數(shù)據(jù)文件,包括此次攻擊所需的全部網(wǎng)絡 會話數(shù)據(jù),所述會話數(shù)據(jù)按照網(wǎng)絡攻擊發(fā)生的時間順序存儲。數(shù)據(jù)文件是CAP 格式的網(wǎng)絡數(shù)據(jù)包文件,來自歷史網(wǎng)絡攻擊數(shù)據(jù)。所述歷史攻擊數(shù)據(jù)可以是 利用協(xié)議分析儀或嗅探器程序捕獲的實時的、真實的網(wǎng)絡攻擊數(shù)據(jù),也可以 是來自歷史攻擊數(shù)據(jù)庫中存儲的攻擊數(shù)據(jù)。
例如,緩沖區(qū)溢出攻擊一IIS的Printer Overf 1ow攻擊的CAP文件如附圖4所示。
所述網(wǎng)絡攻擊會話的環(huán)境描述文件和網(wǎng)絡攻擊會話的數(shù)據(jù)文件均存儲到 網(wǎng)絡攻擊腳本庫中。
網(wǎng)絡攻擊腳本庫模塊用于維護產(chǎn)生的各種網(wǎng)絡攻擊腳本。網(wǎng)絡攻擊腳 本庫是所有攻擊腳本的集合,它對應著兩類文件, 一是網(wǎng)絡攻擊會話的環(huán)境描述文件,二是該環(huán)境描述文件對應的網(wǎng)絡攻擊會話的數(shù)據(jù)文件。網(wǎng)絡攻擊
腳本庫模塊利用ACCESS數(shù)據(jù)庫對這些文件進行管理,腳本管理包括新腳本的
添加和腳本的升級更新操作。添加腳本時,該模塊會解析腳本,分析腳本對 應的環(huán)境描述文件,然后,系統(tǒng)將解析得到的測試用例信息、功能類型、數(shù)
據(jù)文件名稱、脆弱性ID、脆弱性值、策略類型、源IP和目的IP等信息錄入 到數(shù)據(jù)庫中;當用戶需要升級腳本時,該模塊還可以對數(shù)據(jù)庫進行編輯,升 級更新數(shù)據(jù)庫中的測試用例信息。
網(wǎng)絡攻擊腳本解析模塊用于對網(wǎng)絡攻擊腳本進行解析,為網(wǎng)絡攻擊會
話的重新產(chǎn)生做好準備。該模塊首先根據(jù)測試策略選擇相應的測試用例,然 后對該測試用例對應的環(huán)境描述文件和數(shù)據(jù)文件進行解析。對于環(huán)境描述文 件,解析得到源IP和目的IP地址,系統(tǒng)會根據(jù)IP地址來確定數(shù)據(jù)包的發(fā)送方 向,如果數(shù)據(jù)包的源IP與環(huán)境描述文件中的源IP相等,則系統(tǒng)會從客戶端發(fā)
送這個數(shù)據(jù)包,否則,系統(tǒng)會從服務端發(fā)送這個數(shù)據(jù)包;對于數(shù)據(jù)文件,由 于一個完整的網(wǎng)絡攻擊可能包含若干個數(shù)據(jù)包,因此需要順序解析出整個網(wǎng) 絡攻擊會話中的所有數(shù)據(jù)包,以及每個數(shù)據(jù)包對應的結(jié)構(gòu)信息,包括數(shù)據(jù)包 的源MAC地址、目的MAC地址、源IP、目的IP、源端口、目的端口、協(xié)議類型 (IP協(xié)議、TCP協(xié)議、UDP協(xié)議等)、序列號、數(shù)據(jù)長度、數(shù)據(jù)內(nèi)容等信息,根 據(jù)這些信息并結(jié)合真實的測試環(huán)境,系統(tǒng)就會構(gòu)建出新的網(wǎng)絡攻擊會話,包 括用測試環(huán)境中的客戶端和服務端IP地址、MAC地址來替換數(shù)據(jù)文件中的IP地 址和MAC地址。
網(wǎng)絡攻擊生成模塊用于根據(jù)解析的腳本信息產(chǎn)生網(wǎng)絡攻擊數(shù)據(jù),包括客戶端單元和服務端單元,客戶端單元和服務端單元本質(zhì)上是一個數(shù)據(jù)包發(fā) 送程序,而非真正的客戶機和服務器程序,客戶端模擬攻擊機,服務端模擬 IDS防護網(wǎng)段內(nèi)的一臺受攻擊的主機。該模塊首先根據(jù)網(wǎng)絡攻擊腳本模塊解析 出的源IP和目的IP判斷哪個數(shù)據(jù)包由客戶端發(fā)送,哪個數(shù)據(jù)包由服務端發(fā) 送。如果數(shù)據(jù)包由客戶端發(fā)送,則根據(jù)實際測試環(huán)境,修改數(shù)據(jù)包的包頭信
息,將源MAC、 IP地址替換為客戶端所對應網(wǎng)卡的MAC、 IP地址,將目的MAC、 IP地址替換為服務端所對應網(wǎng)卡的MAC、 IP地址,并重新計算數(shù)據(jù)包的校驗 和,然后將重組后的數(shù)據(jù)包通過客戶端所對應的網(wǎng)卡進行發(fā)送;如果數(shù)據(jù)包 由服務端發(fā)送,則也修改數(shù)據(jù)包中的包頭信息,將源MAC、 IP地址替換為服 務端所對應網(wǎng)卡的MAC、 IP地址,將目的MAC、 IP替換為客戶端所對應網(wǎng)卡 的MAC、 IP地址,并重新計算數(shù)據(jù)包的校驗和,并將重組后的數(shù)據(jù)包通過服 務端所對應的網(wǎng)卡進行發(fā)送。
網(wǎng)絡攻擊腳本解析模塊在解析完一個測試用例后,會將解析結(jié)果發(fā)送到 網(wǎng)絡攻擊生成模塊,由網(wǎng)絡攻擊生成模塊完成一次完整的網(wǎng)絡攻擊會話,然 后再根據(jù)測試策略繼續(xù)下一個測試用例,待測試策略中所有測試用例測試完 成后,此次測試完成。
從網(wǎng)絡傳輸?shù)囊暯强矗@些數(shù)據(jù)包是實時地按照順序產(chǎn)生的,并且是真 實的、完整的、有狀態(tài)的網(wǎng)絡攻擊會話。它們不是只包含攻擊特征與行為的 數(shù)據(jù)包,也不只是簡單的歷史數(shù)據(jù)重播,而是歷史真實網(wǎng)絡攻擊會話的重新 產(chǎn)生。
報告模塊用于測試完成后,基于IDS或IDS模塊對網(wǎng)絡攻擊的告警情況,產(chǎn)生以列表和圖形方式相結(jié)合的測試報告。報告內(nèi)容包括①IDS的入侵檢測 能力,如IDS能檢測什么類型的攻擊、能檢測到基準庫中的多少種攻擊;②IDS 的入侵檢測性能,如誤報率和漏報率等;③IDS的抗插入與規(guī)避攻擊能力,如 能檢測到哪些類型的插入與規(guī)避攻擊等。
報告以列表的方式列出IDS對測試用例的報警情況,分為"通過"和"不 通過"兩種情況,"通過"說明IDS能夠檢測到測試用例所對應的網(wǎng)絡攻擊,"不 通過"表示IDS不能夠檢測到測試用例所對應的網(wǎng)絡攻擊,并顯示測試用例的 編號、名稱和描述等信息。而且,該模塊還會統(tǒng)計"通過"和"不通過"測 試用例各自所占比例,并以餅狀圖和柱狀圖的形式來進行顯示,并可導出為 PDF或WORD格式的文檔。
本發(fā)明的用于測試IDS或IDS模塊的測試裝置的工作流程如下 首先,網(wǎng)絡攻擊腳本生成模塊通過對歷史攻擊數(shù)據(jù)進行分析,從中提取 出網(wǎng)絡攻擊的相關(guān)參數(shù),并按照網(wǎng)絡攻擊腳本庫確定的統(tǒng)一存儲結(jié)構(gòu)存儲到 網(wǎng)絡攻擊腳本庫中;其次,網(wǎng)絡攻擊腳本解析模塊根據(jù)用戶提交的測試策略, 如最小策略、推薦策略、最大策略或自定義策略,從網(wǎng)絡攻擊腳本庫中抽取 相應的腳本信息,并對腳本進行反解析,還原網(wǎng)絡攻擊會話關(guān)鍵參數(shù)與數(shù)據(jù); 再次,網(wǎng)絡攻擊生成模塊的客戶端單元將上述解析得到的攻擊數(shù)據(jù)包重新修 訂后發(fā)送到IDS所在網(wǎng)絡,服務端單元在接收到上述攻擊數(shù)據(jù)包后也將網(wǎng)絡 攻擊腳本解析模塊解析得到的應答數(shù)據(jù)包重新修訂后發(fā)送回客戶端,從而在 客戶端和服務端形成真實的、有狀態(tài)的網(wǎng)絡攻擊會話;待所有網(wǎng)絡攻擊測試 完成后,根據(jù)IDS對網(wǎng)絡攻擊的告警情況對IDS的入侵檢測能力、入侵檢測性能、抗插入與規(guī)避攻擊的能力進行評估,提交評估報告。
圖2是本發(fā)明的測試裝置在測試時的連接示意圖。測試裝置基于雙宿主機 平臺,可以是具有雙網(wǎng)網(wǎng)絡接口的筆記本電腦、PC主機或服務器;客戶端C和 服務端S是測試裝置的實時產(chǎn)生網(wǎng)絡攻擊會話的兩個通信實體,分別綁定在不
同的網(wǎng)絡接口上;端口1和端口2是指IDS或IDS模塊所監(jiān)測的路由器或交換機 上的兩個任意端口。
測試時,測試裝置的客戶端C和服務端S同時與IDS或IDS模塊引擎所監(jiān)測 的路由器或交換機上的兩個任意端口連接,分別模擬攻擊主機和受攻擊主機。 這樣,測試設備所產(chǎn)生的網(wǎng)絡攻擊會話將流經(jīng)IDS或IDS模塊引擎所監(jiān)測的路 由器或交換機。通過評估IDS或IDS模塊的控制臺是否有正確的告警信息,來 測試IDS或IDS模塊的攻擊檢測能力。作為測試儀器,測試系統(tǒng)的客戶端C和服 務端S沒有主機內(nèi)的數(shù)據(jù)轉(zhuǎn)發(fā),從而確保測試時不存在回路。
圖3是本發(fā)明的用于入侵檢測系統(tǒng)測試的方法的工作流程圖,該方法包 括以下步驟
1、生成網(wǎng)絡攻擊腳本首先從真實的歷史攻擊數(shù)據(jù)中提取一次完整的網(wǎng) 絡攻擊,然后通過對攻擊包進行分析,生成網(wǎng)絡攻擊會話的環(huán)境描述文件和 數(shù)據(jù)文件,并將上述兩個文件存儲到網(wǎng)絡攻擊腳本庫中。
環(huán)境描述文件包括測試用例的ID、名稱、描述、功能類型和數(shù)據(jù)文件名 稱,針對IDS的脆弱性ID和脆弱性值,策略類型,以及網(wǎng)絡攻擊的源IP和 目的IP等內(nèi)容;其中,測試用例的名稱、ID和描述是對測試用例的標識和描 述,用戶可自行定義,但必須確保ID的唯一性;功能類型用于對測試用例進行功能分類,共有三種類型的測試用例功能檢測類、安全性檢測類和升級 檢測類,功能檢測類用整形數(shù)1表示,這類測試用例用于測試IDS檢測攻擊
的能力;安全性檢測類用整形數(shù)2表示,這類測試用例用于測試IDS自身的 安全性,如針對IDS的插入規(guī)避攻擊;升級檢測類用整形數(shù)3表示,這類測 試用例用于對最新的攻擊進行測試,以判斷IDS最近是否進行了升級;脆弱 性值表示IDS自身的脆弱性程度,如果IDS不能檢測到某種攻擊,那么IDS 就存在著相應的脆弱性,我們可以使用這個脆弱性值對IDS進行安全風險評 估,這個脆弱性值不存在于數(shù)據(jù)包中,它是腳本的一個屬性,而且,脆弱性 值與這種攻擊的危害程度有關(guān),該攻擊的危害程度越高,則脆弱性值也越高, 脆弱性值由1到5這5個整形數(shù)來表示,1表示脆弱性低,2表示脆弱性較低, 3表示脆弱性為中,4表示脆弱性較高,5表示脆弱性高;策略類型包括CGI 腳本、WEB腳本、拒絕服務腳本、緩沖區(qū)溢出腳本、木馬后門腳本。
數(shù)據(jù)文件包括此次攻擊所需的全部網(wǎng)絡會話數(shù)據(jù),所述會話數(shù)據(jù)按照網(wǎng) 絡攻擊發(fā)生的時間順序存儲。
2、對網(wǎng)絡攻擊腳本進行解析根據(jù)測試策略從網(wǎng)絡攻擊腳本庫中選擇相 應的測試用例,并對該測試用例對應的環(huán)境描述文件和數(shù)據(jù)文件進行解析, 還原網(wǎng)絡攻擊會話關(guān)鍵參數(shù)與數(shù)據(jù)。對于環(huán)境描述文件,解析得到源IP和目 的IP地址,系統(tǒng)會根據(jù)IP地址來確定數(shù)據(jù)包的發(fā)送方向,如果數(shù)據(jù)包的源IP 與環(huán)境描述文件中的源IP相等,則系統(tǒng)會從客戶端發(fā)送這個數(shù)據(jù)包,否則, 系統(tǒng)會從服務端發(fā)送這個數(shù)據(jù)包;對于數(shù)據(jù)文件,首先解析出每個數(shù)據(jù)包在 數(shù)據(jù)文件中的偏移位置和每個數(shù)據(jù)包的長度,然后根據(jù)數(shù)據(jù)包在文件中的偏移位置和數(shù)據(jù)包的長度讀取到一個完整的數(shù)據(jù)包,接著根據(jù)IP/TCP/UDP等協(xié) 議規(guī)范,解析出數(shù)據(jù)包的包頭,包括源IP、源端口、目的IP、目的端口、校 驗和等信息,最后解析出數(shù)據(jù)包中除包頭外的其它部分。通過循環(huán)這一過程, 能夠解析出數(shù)據(jù)文件中的所有數(shù)據(jù)包,從而完成對攻擊腳本的解析。
3、 產(chǎn)生網(wǎng)絡攻擊會話構(gòu)建客戶端單元和服務端單元(本質(zhì)上是數(shù)據(jù)包 發(fā)送程序,而非真正的客戶機和服務器程序),用于分別發(fā)送攻擊機和被攻擊 機的攻擊數(shù)據(jù)和應答數(shù)據(jù)。首先,客戶端和服務端會重組數(shù)據(jù)文件中的每一
個數(shù)據(jù)包,包括修改源MAC地址、源IP、目的MAC地址和目的IP等字段, 并重新計算數(shù)據(jù)包的校驗和;然后,按照網(wǎng)絡攻擊順序來構(gòu)建整個網(wǎng)絡攻擊 會話;最后,根據(jù)數(shù)據(jù)包源IP和目的IP的不同,選擇從客戶端或服務端將數(shù) 據(jù)包按照順序發(fā)送出去,這些數(shù)據(jù)會在被測的網(wǎng)絡中形成真實的、有狀態(tài)的 網(wǎng)絡攻擊會話。這些網(wǎng)絡攻擊會話被IDS監(jiān)測到,并引起IDS的告警等響應。 這里,還可以定制網(wǎng)絡攻擊會話的產(chǎn)生頻率和次數(shù),從而能夠更靈活地對IDS 進行測試。
4、 測試結(jié)果評估待所有網(wǎng)絡攻擊測試完成后,根據(jù)IDS對網(wǎng)絡攻擊的 告警情況對IDS的入侵檢測能力、入侵檢測性能、抗插入與規(guī)避攻擊的能力 進行評估,提交評估報告。
18
權(quán)利要求
1. 一種用于測試入侵檢測系統(tǒng)的測試裝置,包括網(wǎng)絡攻擊腳本生成模塊,用于產(chǎn)生測試所需的網(wǎng)絡攻擊腳本,其首先從真實的歷史網(wǎng)絡攻擊數(shù)據(jù)中提取一次完整的網(wǎng)絡攻擊,然后通過對攻擊包進行分析,生成網(wǎng)絡攻擊會話的環(huán)境描述文件和數(shù)據(jù)文件,并將上述兩個文件存儲到網(wǎng)絡攻擊腳本庫中;網(wǎng)絡攻擊腳本庫模塊,用于維護網(wǎng)絡攻擊腳本,形成測試的基準庫;網(wǎng)絡攻擊腳本解析模塊,用于對網(wǎng)絡攻擊腳本進行解析,所述網(wǎng)絡攻擊腳本解析模塊首先根據(jù)測試策略選擇相應的測試用例,然后對該測試用例對應的環(huán)境描述文件和數(shù)據(jù)文件進行解析;網(wǎng)絡攻擊生成模塊,用于根據(jù)解析得到的腳本信息產(chǎn)生網(wǎng)絡攻擊會話。該模塊根據(jù)實際測試環(huán)境,對網(wǎng)絡攻擊腳本解析模塊解析得到的攻擊數(shù)據(jù)包相關(guān)參數(shù)進行重新配置并重新計算數(shù)據(jù)包校驗和后,產(chǎn)生真實的、有狀態(tài)的網(wǎng)絡攻擊會話;所述網(wǎng)絡攻擊腳本解析模塊在解析完一個測試用例后,會將解析結(jié)果發(fā)送到網(wǎng)絡攻擊生成模塊,由網(wǎng)絡攻擊生成模塊完成一次完整的網(wǎng)絡攻擊會話,然后再根據(jù)測試策略繼續(xù)下一個測試用例,待測試策略中所有測試用例測試完成以后,此次測試完成;報告模塊,用于根據(jù)測試結(jié)果生成測試報告。
2. 根據(jù)權(quán)利要求1所述的測試裝置,其特征在于,所述網(wǎng)絡攻擊會話的 環(huán)境描述文件包括測試用例的ID、名稱、描述、功能類型和文件名稱,針對IDS的脆弱性ID和脆弱性值,策略類型,以及網(wǎng)絡攻擊的源IP和目的IP。
3. 根據(jù)權(quán)利要求1所述的測試裝置,其特征在于,所述網(wǎng)絡攻擊會話的 數(shù)據(jù)文件,包括此次攻擊所需的全部網(wǎng)絡會話數(shù)據(jù),所述會話數(shù)據(jù)按照網(wǎng)絡 攻擊發(fā)生的時間順序存儲。
4. 根據(jù)權(quán)利要求2所述的測試裝置,其特征在于,所述策略類型包括CGI 腳本、WEB腳本、拒絕服務腳本、緩沖區(qū)溢出腳本和木馬后門腳本。
5. 根據(jù)權(quán)利要求1所述的測試裝置,其特征在于,所述網(wǎng)絡攻擊腳本庫 模塊的腳本管理包括腳本的添加、刪除和升級。
6. 根據(jù)權(quán)利要求1所述的測試裝置,其特征在于,所述網(wǎng)絡攻擊腳本解 析模塊對于環(huán)境描述文件,解析得到測試用例的ID、名稱、描述、功能類型 和文件名稱,針對IDS的脆弱性ID和脆弱性值,策略類型,以及網(wǎng)絡攻擊的 源IP和目的IP;對于數(shù)據(jù)文件,順序解析出整個網(wǎng)絡攻擊會話中的所有數(shù)據(jù) 包,以及每個數(shù)據(jù)包對應的結(jié)構(gòu)信息,包括數(shù)據(jù)包的源MAC地址、目的MAC 地址、源IP、目的IP、源端口、目的端口、協(xié)議類型、序列號、數(shù)據(jù)長度和 效據(jù)円谷。
7. 根據(jù)權(quán)利要求1所述的測試裝置,其特征在于,所述網(wǎng)絡攻擊生成模 塊首先構(gòu)建客戶端和服務端兩個數(shù)據(jù)包發(fā)送程序,分別模擬攻擊機和IDS防 護網(wǎng)段內(nèi)的一臺受攻擊的主機,然后根據(jù)網(wǎng)絡攻擊腳本模塊解析出的源IP和 目的IP判斷哪個數(shù)據(jù)包由客戶端發(fā)送,哪個數(shù)據(jù)包由服務端發(fā)送。如果數(shù)據(jù) 包由客戶端發(fā)送,則修改數(shù)據(jù)包的包頭信息,將源MAC、 IP地址替換為客戶 端所對應網(wǎng)卡的區(qū)C、 IP地址,將目的MAC、 IP地址替換為服務端所對應網(wǎng)卡的MAC、 IP地址,并重新計算數(shù)據(jù)包的校驗和,然后將重組后的數(shù)據(jù)包通 過客戶端所對應的網(wǎng)卡進行發(fā)送;如果數(shù)據(jù)包由服務端發(fā)送,則也修改數(shù)據(jù) 包中的包頭信息,將源MAC、 IP地址替換為服務端所對應網(wǎng)卡的MAC、 IP地 址,將目的MAC、 IP替換為客戶端所對應網(wǎng)卡的MAC、 IP地址,并重新計算 數(shù)據(jù)包的校驗和,并將重組后的數(shù)據(jù)包通過服務端所對應的網(wǎng)卡進行發(fā)送。
8. 根據(jù)權(quán)利要求1所述的測試裝置,其特征在于,所述測試裝置進一步 包括管理模塊,用于對測試過程和測試配置項進行管理。
9. 一種用于入侵檢測系統(tǒng)的測試方法,包括以下步驟(1) 生成網(wǎng)絡攻擊腳本首先從真實的歷史攻擊數(shù)據(jù)中提取一次完整的網(wǎng)絡攻擊,然后通過對攻擊包進行分析,生成網(wǎng)絡攻擊會話的環(huán)境描述文件和數(shù)據(jù)文件,并將上述兩個文件存儲到網(wǎng)絡攻擊腳本庫中;(2) 對網(wǎng)絡攻擊腳本進行解析根據(jù)測試策略從網(wǎng)絡攻擊腳本庫中選擇相應的測試用例,并對該測試用例對應的環(huán)境描述文件和數(shù)據(jù)文件進行解析,還原網(wǎng)絡攻擊會話關(guān)鍵參數(shù)與數(shù)據(jù);對于環(huán)境描述文件,解析得到源IP和目 的IP地址,系統(tǒng)會根據(jù)IP地址來確定數(shù)據(jù)包的發(fā)送方向,如果數(shù)據(jù)包的源IP 與環(huán)境描述文件中的源IP相等,則系統(tǒng)會從客戶端發(fā)送這個數(shù)據(jù)包,否則, 系統(tǒng)會從服務端發(fā)送這個數(shù)據(jù)包;對于數(shù)據(jù)文件,首先解析出每個數(shù)據(jù)包在 數(shù)據(jù)文件中的偏移位置和每個數(shù)據(jù)包的長度,然后根據(jù)數(shù)據(jù)包在文件中的偏 移位置和數(shù)據(jù)包的長度讀取到一個完整的數(shù)據(jù)包,接著根據(jù)IP/TCP/UDP等協(xié) 議規(guī)范,解析出數(shù)據(jù)包的包頭,包括源IP、源端口、目的IP、目的端口、校 驗和,最后解析出數(shù)據(jù)包中除包頭外的其它部分;通過循環(huán)這一過程,能夠解析出數(shù)據(jù)文件中的所有數(shù)據(jù)包,從而完成對攻擊腳本的解析;(3) 產(chǎn)生網(wǎng)絡攻擊會話首先構(gòu)建客戶端和服務端兩個數(shù)據(jù)包發(fā)送程序, 用于分別發(fā)送攻擊機和被攻擊機的攻擊數(shù)據(jù)和應答數(shù)據(jù),其次客戶端和服務 端重組數(shù)據(jù)文件中的每一個數(shù)據(jù)包,包括修改源MAC地址、源IP、目的MAC 地址和目的IP,并重新計算數(shù)據(jù)包的校驗和,然后按照網(wǎng)絡攻擊順序來構(gòu)建 整個網(wǎng)絡攻擊會話,最后根據(jù)數(shù)據(jù)包源IP和目的IP的不同,選擇從客戶端或 服務端將數(shù)據(jù)包按照順序發(fā)送出去;(4) 測試結(jié)果評估待所有網(wǎng)絡攻擊測試完成后,根據(jù)IDS對網(wǎng)絡攻擊 的告警情況對IDS進行評估。
全文摘要
本發(fā)明公開了一種用于測試入侵檢測系統(tǒng)的測試裝置及測試方法,該測試裝置包括網(wǎng)絡攻擊腳本生成模塊、網(wǎng)絡攻擊腳本庫模塊、網(wǎng)絡攻擊腳本解析模塊、網(wǎng)絡攻擊生成模塊和報告模塊。該測試方法包括以下步驟(a)生成網(wǎng)絡攻擊腳本,并存儲到網(wǎng)絡攻擊腳本庫中;(b)從網(wǎng)絡攻擊腳本庫中選擇指定腳本,并進行解析,獲取網(wǎng)絡攻擊的關(guān)鍵參數(shù)字段,為攻擊會話重新產(chǎn)生做好準備;(c)對步驟b解析得到的相關(guān)參數(shù)進行重新配置,并創(chuàng)建網(wǎng)絡攻擊會話;(d)根據(jù)IDS或IDS模塊對網(wǎng)絡攻擊的告警情況,生成測試報告。應用本發(fā)明,可實現(xiàn)對IDS或IDS模塊的測試,尤其是對采用了狀態(tài)協(xié)議分析技術(shù)的IDS或IDS模塊的測試,并能夠提高測試的效率和準確率。
文檔編號H04L29/06GK101447991SQ20081018100
公開日2009年6月3日 申請日期2008年11月19日 優(yōu)先權(quán)日2008年11月19日
發(fā)明者何金勇, 力 鐘 申請人:中國人民解放軍信息安全測評認證中心