專利名稱:一種可實現(xiàn)序列攻擊事件檢測的入侵檢測方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)設(shè)備的安全保護,具體涉及一種在網(wǎng)絡(luò)檢測設(shè)備上對入侵檢測進 行檢測的方法。
背景技術(shù):
網(wǎng)絡(luò)系統(tǒng)中的網(wǎng)絡(luò)安全設(shè)備是網(wǎng)絡(luò)安全系統(tǒng)中的關(guān)鍵設(shè)備,常見的如入侵檢測系 統(tǒng)、入侵防御系統(tǒng)和防火墻。這些設(shè)備進行檢測時,通常使用系統(tǒng)啟動初始化時所生成的匹 配規(guī)則的組織方式。它們不能感知檢測環(huán)境和網(wǎng)絡(luò)數(shù)據(jù)的動態(tài)變化,所以無法根據(jù)部署環(huán) 境的變化及時調(diào)整規(guī)則的組織方式,導(dǎo)致檢測效率不高。入侵檢測系統(tǒng)根據(jù)檢測機制可以分為誤用檢測和異常檢測。誤用檢測是指將已知 的攻擊方式以某種形式存儲在知識庫中,然后通過判斷知識庫中的入侵模式是否出現(xiàn)來檢 測攻擊,如果出現(xiàn)該入侵模式,說明發(fā)生了入侵。異常檢測是指將用戶正常的習(xí)慣行為特征 存儲在數(shù)據(jù)庫中,然后將用戶當前的行為特征與特征數(shù)據(jù)庫中的習(xí)慣行為特征進行比較, 如果兩者的偏差足夠大,則說明發(fā)生了異常??紤]到檢測效率和機制方面的原因,目前大多數(shù)的商用入侵檢測系統(tǒng)采用誤用檢 測機制。這就需要將知識庫映射成內(nèi)存中相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。然后通過匹配數(shù)據(jù)流與知識庫 中的入侵模式來判斷是否發(fā)生入侵。對規(guī)則庫的組織方式和匹配算法是決定入侵檢測系統(tǒng) 性能的最重要的兩個方面。網(wǎng)絡(luò)攻擊事件的發(fā)生是一個序列的過程,某些前導(dǎo)網(wǎng)絡(luò)攻擊事件發(fā)生后其后續(xù)網(wǎng) 絡(luò)攻擊事件發(fā)生的概率會增高,并且這些序列中的攻擊事件如果都發(fā)生的話,其危險程度 會相應(yīng)提高。但是,目前對序列攻擊事件的檢測仍然是獨立的規(guī)則去匹配,這樣不能夠準確 地反映當前攻擊的危險程度。另一方面,目前網(wǎng)絡(luò)檢測設(shè)備在檢測過程中使用原始的規(guī)則匹配樹,不能夠根據(jù) 網(wǎng)絡(luò)環(huán)境動態(tài)調(diào)整規(guī)則匹配樹,造成低效率和不能自適應(yīng)的問題。因此也不能利用序列事 件之間的關(guān)聯(lián)性,來提高檢測的效率。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種可實現(xiàn)序列攻擊事件檢測的入侵檢測方法。為了解決上述問題,本發(fā)明提供了一種可實現(xiàn)序列攻擊事件檢測的入侵檢測方 法,包括根據(jù)需檢測的每一序列攻擊事件,將規(guī)則庫中用于檢測該序列攻擊事件中前導(dǎo)事 件的規(guī)則配置為基礎(chǔ)規(guī)則,將用于檢測該序列攻擊事件中后續(xù)事件的規(guī)則配置為該基礎(chǔ)規(guī) 則的一組關(guān)聯(lián)規(guī)則,將所述后續(xù)事件發(fā)生的先后順序記錄為所述關(guān)聯(lián)規(guī)則的關(guān)聯(lián)順序;對某數(shù)據(jù)報文進行入侵檢測時,如該數(shù)據(jù)報文匹配到一個或多個基礎(chǔ)規(guī)則,則優(yōu) 先使用匹配到的基礎(chǔ)規(guī)則的關(guān)聯(lián)規(guī)則,按關(guān)聯(lián)順序與該數(shù)據(jù)報文的后續(xù)數(shù)據(jù)報文逐一匹 配,如果某個基礎(chǔ)規(guī)則的一組關(guān)聯(lián)規(guī)則均匹配成功,則檢測到對應(yīng)的序列攻擊事件,按該序
4列攻擊事件的告警級別進行告警。進一步地,上述入侵檢測方法還可具有以下特點檢測到序列攻擊事件時的告警級別高于檢測到該序列攻擊事件中前導(dǎo)事件時的
告警級別。進一步地,上述入侵檢測方法還可具有以下特點對每一基礎(chǔ)規(guī)則,配置了單個攻擊事件檢測所需的基本信息、表示本規(guī)則是基礎(chǔ) 規(guī)則的規(guī)則類型標記,以及序列攻擊事件檢測所需的附加信息,該附加信息包括該基礎(chǔ)規(guī) 則的一組或多組關(guān)聯(lián)規(guī)則的標識、數(shù)目及其關(guān)聯(lián)順序信息,該基礎(chǔ)規(guī)則對應(yīng)的一個或多個 序列攻擊事件的告警級別信息;對每一關(guān)聯(lián)規(guī)則,配置了單個攻擊事件檢測所需的基本信息,以及表示本規(guī)則非 基礎(chǔ)規(guī)則的規(guī)則類型標記;某規(guī)則即作為基礎(chǔ)規(guī)則又作為其他基礎(chǔ)規(guī)則的關(guān)聯(lián)規(guī)則時,按基礎(chǔ)規(guī)則的配置方 式進行配置。進一步地,上述入侵檢測方法還可具有以下特點初始化時,創(chuàng)建用于入侵檢測的一匹配樹,將所有要使用的規(guī)則的描述結(jié)構(gòu)掛載 到該匹配樹上,每一規(guī)則的描述結(jié)構(gòu)中包含了該規(guī)則的基本信息,而在基礎(chǔ)規(guī)則的描述結(jié) 構(gòu)中還包含了該基礎(chǔ)規(guī)則用于檢測序列攻擊事件的所述附加信息,且在每一關(guān)聯(lián)規(guī)則的標 識后添加了該關(guān)聯(lián)規(guī)則在該匹配樹中的地址信息。進一步地,上述入侵檢測方法還可具有以下特點所述優(yōu)先使用匹配到的基礎(chǔ)規(guī)則的關(guān)聯(lián)規(guī)則,按關(guān)聯(lián)順序與該數(shù)據(jù)報文的后續(xù)數(shù) 據(jù)報文逐一匹配是指對某數(shù)據(jù)報文進行入侵檢測時,如該數(shù)據(jù)報文匹配到一個或多個基礎(chǔ)規(guī)則,則創(chuàng) 建一個或多個以該數(shù)據(jù)報文的報文來源標識信息為索引的動態(tài)規(guī)則緩存結(jié)構(gòu),將所匹配到 的每一基礎(chǔ)規(guī)則的一組或多組關(guān)聯(lián)規(guī)則的標識和地址保存到相應(yīng)的動態(tài)規(guī)則緩存結(jié)構(gòu)中, 同組關(guān)聯(lián)規(guī)則之間按其關(guān)聯(lián)順序排列;對該數(shù)據(jù)報文的后續(xù)數(shù)據(jù)報文,如查找到以該后續(xù)數(shù)據(jù)報文的報文來源標識信息 為索引的一個或多個動態(tài)規(guī)則緩存結(jié)構(gòu),則對查找到的每一動態(tài)規(guī)則緩存結(jié)構(gòu)的每組關(guān)聯(lián) 規(guī)則,用其中還未匹配成功的第一個關(guān)聯(lián)規(guī)則與該后續(xù)數(shù)據(jù)報文匹配,如匹配成功且該組 關(guān)聯(lián)規(guī)則中已無余下的關(guān)聯(lián)規(guī)則,則判定檢測到對應(yīng)的序列攻擊事件。進一步地,上述入侵檢測方法還可具有以下特點對該后續(xù)數(shù)據(jù)報文,如沒有查找到以該后續(xù)數(shù)據(jù)報文的報文來源標識信息為索引 的動態(tài)規(guī)則緩存結(jié)構(gòu),或者在對查找到的每一動態(tài)規(guī)則緩存結(jié)構(gòu)的每組關(guān)聯(lián)規(guī)則,用其中 還未匹配成功的第一個關(guān)聯(lián)規(guī)則與該后續(xù)數(shù)據(jù)報文匹配但均匹配失敗,則將該后續(xù)數(shù)據(jù)報 文從匹配樹的根節(jié)點開始逐個匹配,如匹配到基礎(chǔ)規(guī)則,仍需創(chuàng)建匹配到的基礎(chǔ)規(guī)則的動 態(tài)規(guī)則緩存結(jié)構(gòu)。進一步地,上述入侵檢測方法還可具有以下特點某個數(shù)據(jù)報文匹配到該匹配樹上的某個基礎(chǔ)規(guī)則或關(guān)聯(lián)規(guī)則時,根據(jù)該基礎(chǔ)規(guī)則 或關(guān)聯(lián)規(guī)則檢測到單個攻擊事件時的告警級別進行告警。進一步地,上述入侵檢測方法還可具有以下特點
在所述動態(tài)規(guī)則緩存結(jié)構(gòu)中,在每組關(guān)聯(lián)規(guī)則之前均設(shè)置一當前配置位置信息, 初始值為1 ;使用某組關(guān)聯(lián)規(guī)則與數(shù)據(jù)報文匹配時,根據(jù)該組關(guān)聯(lián)規(guī)則的當前配置位置信息直 接找到還未匹配成功的第一個關(guān)聯(lián)規(guī)則,如該第一個關(guān)聯(lián)規(guī)則匹配成功,將該當前配置位 置加1。進一步地,上述入侵檢測方法還可具有以下特點某個動態(tài)規(guī)則緩存結(jié)構(gòu)中的每組關(guān)聯(lián)規(guī)則均已全部匹配成功時,或某個動態(tài)規(guī)則 緩存結(jié)構(gòu)的有效時間已超過時,刪除該動態(tài)規(guī)則緩存結(jié)構(gòu)。進一步地,上述入侵檢測方法還可具有以下特點所述數(shù)據(jù)報文的報文來源標識信息為該數(shù)據(jù)報文的五元組;在檢測到序列攻擊事件后,還將該序列攻擊事件的事件標識、告警級別以及數(shù)據(jù) 報文的五元組、協(xié)議類型和匹配到的特征信息輸出到日志系統(tǒng)或者數(shù)據(jù)庫,其中,該序列攻 擊事件的事件標識是由每一個事件的事件標識合并得到的。上述方法根據(jù)序列攻擊事件的關(guān)聯(lián)性,在驗證了前導(dǎo)事件后,在后續(xù)的數(shù)據(jù)報文 處理中優(yōu)先檢測這些后續(xù)網(wǎng)絡(luò)攻擊事件,如果后續(xù)網(wǎng)絡(luò)攻擊事件得到了驗證,就輸出較高 級別的警告。此外,通過將序列事件相關(guān)的入侵檢測的規(guī)則關(guān)聯(lián)起來,在檢測時對規(guī)則的組織 方式進行動態(tài)調(diào)整,克服了網(wǎng)絡(luò)檢測設(shè)備在檢測過程中使用原始的規(guī)則匹配樹,不能夠根 據(jù)網(wǎng)絡(luò)環(huán)境動態(tài)調(diào)整規(guī)則匹配樹所造成的低效率和不能自適應(yīng)的問題,并且能夠在不影響 原有檢測方式以及數(shù)據(jù)處理能力的情況下對規(guī)則進行調(diào)整,應(yīng)用及時調(diào)整的結(jié)果,提高檢 測效率。
圖1為本發(fā)明實施例方法的總體流程圖;圖2為本發(fā)明實施例規(guī)則描述結(jié)構(gòu)的示意圖;圖3為圖1中對網(wǎng)絡(luò)數(shù)據(jù)報文進行入侵檢測的流程圖;圖4為圖3中使用的動態(tài)規(guī)則緩存結(jié)構(gòu)的示意圖。
具體實施例方式由于序列攻擊事件的關(guān)聯(lián)性,在驗證了前導(dǎo)事件后,在后續(xù)的數(shù)據(jù)報文處理中可 以優(yōu)先檢測這些后續(xù)網(wǎng)絡(luò)攻擊事件,如果后續(xù)網(wǎng)絡(luò)攻擊事件得到了驗證,就可以輸出較高 級別的警告。另外,將序列事件相關(guān)的入侵檢測的規(guī)則關(guān)聯(lián)起來,在檢測時對規(guī)則順序進行 動態(tài)調(diào)整,能夠提高檢測效率。下面結(jié)合附圖對本發(fā)明的具體實施方式
進行詳細描述?;谛蛄泄羰录奶攸c,本實施例將用于檢測序列攻擊事件的前導(dǎo)事件即第一 個攻擊事件的規(guī)則定義為基礎(chǔ)規(guī)則,將用于檢測序列攻擊事件的后續(xù)事件的規(guī)則定義為關(guān) 聯(lián)規(guī)則。用于檢測某一前導(dǎo)事件的基礎(chǔ)規(guī)則可以有多個如在不同的協(xié)議層,而同一個規(guī)則 即可以作為基礎(chǔ)規(guī)則也可以作為關(guān)聯(lián)規(guī)則,并且還可以同時作為多個序列攻擊事件的基礎(chǔ) 規(guī)則。
6
要實現(xiàn)序列攻擊事件檢測,需事先根據(jù)要檢測的序列攻擊事件,定義每條基礎(chǔ)規(guī) 則所關(guān)聯(lián)的一組或多組關(guān)聯(lián)規(guī)則以及這些關(guān)聯(lián)規(guī)則之間的關(guān)聯(lián)順序。另外,還要定義序列 攻擊事件檢測成功后的告警級別,該告警級別應(yīng)高于該基礎(chǔ)事件的告警級別。圖1是本實施例可實現(xiàn)序列攻擊事件檢測的入侵檢測方法的流程圖,包括步驟100,根據(jù)知識庫構(gòu)建入侵檢測的規(guī)則庫,為該規(guī)則庫中的規(guī)則配置單個攻擊 事件檢測所需的基本信息,用于表示本規(guī)則是否基礎(chǔ)規(guī)則的規(guī)則類型標記,對基礎(chǔ)規(guī)則還 配置有序列攻擊事件檢測所需的附加信息;基礎(chǔ)規(guī)則和關(guān)聯(lián)規(guī)則均配置有單個攻擊事件檢測所需的基本信息,包括規(guī)則 ID(標識)、協(xié)議信息、第一告警級別、告警信息和事件特征等。其中協(xié)議信息表示規(guī)則匹 配的數(shù)據(jù)報文的協(xié)議類型;第一告警級別表示該規(guī)則被觸發(fā)之后的危險系數(shù);告警信息表 示告警時的提示信息等;事件特征表示匹配到該規(guī)則的網(wǎng)絡(luò)攻擊事件的特征信息。一個規(guī)則即作為基礎(chǔ)規(guī)則又作為其他基礎(chǔ)規(guī)則的關(guān)聯(lián)規(guī)則時,應(yīng)標記為基礎(chǔ)規(guī) 則,按基礎(chǔ)規(guī)則的配置方式進行配置。為基礎(chǔ)規(guī)則配置的該附加信息包括第二告警級別、關(guān)聯(lián)深度以及一組或多組關(guān)聯(lián) 規(guī)則標識。其中,第二告警級別表示以該基礎(chǔ)規(guī)則檢測的攻擊事件為前導(dǎo)事件的序列攻擊 事件的告警級別;關(guān)聯(lián)深度表示該基礎(chǔ)規(guī)則為前導(dǎo)的序列攻擊事件可觸發(fā)的關(guān)聯(lián)規(guī)則條 數(shù),也即其關(guān)聯(lián)規(guī)則的數(shù)目。因為一個基礎(chǔ)規(guī)則檢測的攻擊事件可以同時作為多個序列攻擊事件的前導(dǎo)事件, 因此一個基礎(chǔ)規(guī)則可以關(guān)聯(lián)到多組的關(guān)聯(lián)規(guī)則。此時,應(yīng)為該基礎(chǔ)規(guī)則配置多組關(guān)聯(lián)規(guī)則 標識,每一組關(guān)聯(lián)規(guī)則標識包括該基礎(chǔ)規(guī)則在一序列攻擊事件中關(guān)聯(lián)到的各個關(guān)聯(lián)規(guī)則的 標識,且同組中的關(guān)聯(lián)規(guī)則按各自檢測的序列攻擊事件中后續(xù)事件的先后順序也稱之為關(guān) 聯(lián)規(guī)則的關(guān)聯(lián)順序排列。另每一組關(guān)聯(lián)規(guī)則應(yīng)配置一第二告警級別和一關(guān)聯(lián)深度。另外,在配置文件中還可以配置表示該規(guī)則是否啟用的啟用標記,默認為啟用。步驟200,初始化時,將定義好的規(guī)則庫讀入檢測設(shè)備,創(chuàng)建用于入侵檢測的一匹 配樹,創(chuàng)建所有要使用的規(guī)則的描述結(jié)構(gòu)并掛載到該匹配樹的對應(yīng)位置;本實施例中,還創(chuàng)建一全局的動態(tài)規(guī)則暫存器頭,用于作為各數(shù)據(jù)報文的動態(tài)規(guī) 則緩存結(jié)構(gòu)構(gòu)成的鏈表的表頭,以管理檢測過程中生成的動態(tài)規(guī)則緩存結(jié)構(gòu),迅速地查找 到數(shù)據(jù)報文對應(yīng)的動態(tài)規(guī)則。應(yīng)說明的是,動態(tài)規(guī)則緩存結(jié)構(gòu)的數(shù)據(jù)組織方式可以有很多 種不同的選擇,除鏈表方式外,也可以對各數(shù)據(jù)報文的五元組(或其他可以標識數(shù)據(jù)報文 的來源的特征信息)進行哈希運算,用得到的哈希值作為各數(shù)據(jù)報文的動態(tài)規(guī)則緩存結(jié)構(gòu) 的索引,同樣可以達到快速查找的效果。規(guī)則的描述結(jié)構(gòu)是利用規(guī)則的配置信息填充得到的。圖2示出了基礎(chǔ)規(guī)則的描述 結(jié)構(gòu),包括了基礎(chǔ)規(guī)則的基本信息和與序列攻擊事件檢測相關(guān)的附加信息,這里不再一一 列舉。在匹配樹創(chuàng)建完成后,需要把關(guān)聯(lián)規(guī)則在該匹配樹上的地址添加到相應(yīng)基礎(chǔ)規(guī)則的 動態(tài)規(guī)則記錄域中,與相應(yīng)的關(guān)聯(lián)規(guī)則標識構(gòu)成關(guān)聯(lián)規(guī)則標識_地址對。至于單純的關(guān)聯(lián) 規(guī)則的描述結(jié)構(gòu),可以只包括基本信息和規(guī)則類型標記。匹配樹的創(chuàng)建和規(guī)則的掛載可采用已有技術(shù)中的內(nèi)容,如針對每種協(xié)議,按告警 級別由高到低的順序創(chuàng)建一告警級別鏈表。按照規(guī)則的協(xié)議信息和告警級別將規(guī)則的描述 結(jié)構(gòu)掛載到相應(yīng)位置即可,這樣相同告警級別和相同協(xié)議的規(guī)則就被掛載到匹配樹的同一
7個分支。如何創(chuàng)建匹配樹和掛載規(guī)則有方式很多,但并不影響后續(xù)對序列攻擊事件的檢測。步驟300,對某個數(shù)據(jù)報文進行入侵檢測時,如該數(shù)據(jù)報文匹配到一個或多個基礎(chǔ) 規(guī)則,則優(yōu)先使用所述基礎(chǔ)規(guī)則的關(guān)聯(lián)規(guī)則,按照關(guān)聯(lián)順序與該數(shù)據(jù)報文的后續(xù)數(shù)據(jù)報文 逐一匹配,如果某個基礎(chǔ)規(guī)則的所有關(guān)聯(lián)規(guī)則都匹配成功,則檢測到序列攻擊事件,按該序 列攻擊事件的告警級別告警。如果檢測到規(guī)則定義的攻擊事件或序列攻擊事件,檢測設(shè)備的輸出系統(tǒng)將檢測到 的事件ID,告警級別,數(shù)據(jù)報文的五元組,協(xié)議類型,匹配到的特征信息等以一定的格式輸 出到日志系統(tǒng)或者數(shù)據(jù)庫以便事后分析使用。對于序列攻擊事件,需要將該序列攻擊事件 中每一個事件的事件ID合并,得到序列攻擊事件的事件ID。下面對步驟300展開描述,如圖3所示,可分為以下步驟步驟301,對捕獲的網(wǎng)絡(luò)數(shù)據(jù)報文進行解碼和預(yù)處理;通過該步可以使網(wǎng)絡(luò)數(shù)據(jù)標準化,提取出的協(xié)議變量,以便能夠直接將數(shù)據(jù)報文 和規(guī)則庫中定義的特征信息直接進行比較。步驟302,對某數(shù)據(jù)報文進行入侵檢測時,先查找已有的動態(tài)規(guī)則緩存結(jié)構(gòu),判斷 是否有記錄了該數(shù)據(jù)報文五元組的緩存結(jié)構(gòu),如果有,執(zhí)行步驟303,否則,執(zhí)行步驟308 ;動態(tài)規(guī)則緩存結(jié)構(gòu)中的信息可以保存在相應(yīng)的動態(tài)規(guī)則暫存器中。兩個數(shù)據(jù)報文 具有相同的五元組,說明兩者是同源的數(shù)據(jù)報文,當然檢測數(shù)據(jù)報文是否同源也可以使用 其他方法。步驟303,找到所有記錄了該數(shù)據(jù)報文五元組的動態(tài)規(guī)則緩存結(jié)構(gòu),假定找到一 個,將該數(shù)據(jù)報文與該動態(tài)規(guī)則緩存結(jié)構(gòu)中還未匹配成功的第一條關(guān)聯(lián)規(guī)則進行匹配;根據(jù)動態(tài)規(guī)則緩存結(jié)構(gòu)中當前匹配位置的值可以直接找到還未匹配成功的第一 條關(guān)聯(lián)規(guī)則的ID和地址對,從而調(diào)用該條關(guān)聯(lián)規(guī)則。步驟304,判斷是否匹配成功,如果是,執(zhí)行步驟305,否則,執(zhí)行步驟308 ;步驟305,判斷該匹配成功的規(guī)則是否第η條關(guān)聯(lián)規(guī)則,η為關(guān)聯(lián)深度,即判斷動態(tài) 規(guī)則緩存結(jié)構(gòu)中的η項規(guī)則均已匹配成功,如果是,執(zhí)行步驟306,否則,執(zhí)行步驟307 ;步驟306,刪除該動態(tài)規(guī)則緩存結(jié)構(gòu),將告警級別提高到該動態(tài)規(guī)則緩存結(jié)構(gòu)中指 定的序列攻擊事件的告警級別,執(zhí)行步驟313 ;步驟307,將當前匹配位置的值加1,執(zhí)行步驟313 ;該步如轉(zhuǎn)入執(zhí)行步驟313時應(yīng)按關(guān)聯(lián)規(guī)則檢測到單個攻擊事件的告警級別進行 告警。該步驟也可以直接返回執(zhí)行步驟301,即不進行報警。如果步驟303中找到多個記錄了該數(shù)據(jù)報文五元組的動態(tài)規(guī)則緩存結(jié)構(gòu),對每個 動態(tài)規(guī)則緩存結(jié)構(gòu),均按步驟303 307的方式處理即可。如果一個動態(tài)規(guī)則緩存結(jié)構(gòu)中 包括多組關(guān)聯(lián)規(guī)則,對每一組關(guān)聯(lián)規(guī)則,均按步驟303 307的方式處理,且在步驟306中 只能刪除已全部匹配成功的一組關(guān)聯(lián)規(guī)則,只有動態(tài)規(guī)則緩存結(jié)構(gòu)中所有的關(guān)聯(lián)規(guī)則組均 被刪后,才刪除該動態(tài)規(guī)則緩存結(jié)構(gòu)中的數(shù)據(jù)報文五元組。如果動態(tài)規(guī)則緩存結(jié)構(gòu)中關(guān)聯(lián)規(guī)則一直沒有匹配成功,可以在一設(shè)定的有效時間 超時后自動刪除該緩存結(jié)構(gòu)中的內(nèi)容。步驟308,將該數(shù)據(jù)報文從匹配樹的根節(jié)點開始逐個匹配;步驟309,判斷是否匹配到規(guī)則,如果匹配到,執(zhí)行步驟310,如果沒有匹配到,執(zhí)
8行步驟312 ;步驟310,判斷該規(guī)則是否為基礎(chǔ)規(guī)則且關(guān)聯(lián)深度η不等于0,如果是,執(zhí)行步驟 311,否則,置告警級別為第一告警級別,執(zhí)行步驟313 ;步驟311,按該基礎(chǔ)規(guī)則的告警級別告警,并為該基礎(chǔ)規(guī)則創(chuàng)建一動態(tài)規(guī)則緩存結(jié) 構(gòu)并插入動態(tài)規(guī)則緩存結(jié)構(gòu)的鏈表中;如圖4所示,該動態(tài)規(guī)則緩存結(jié)構(gòu)記錄有該數(shù)據(jù)報文的五元組、該基礎(chǔ)規(guī)則的第 二告警級別、該基礎(chǔ)規(guī)則描述結(jié)構(gòu)中的前η項關(guān)聯(lián)規(guī)則標識_地址對,且在該η項關(guān)聯(lián)規(guī)則 標識-地址對之前還記錄一當前匹配位置,其初始值為1,每成功匹配到一關(guān)聯(lián)規(guī)則加1 ;如 某該基礎(chǔ)規(guī)則有多組關(guān)聯(lián)規(guī)則,則為每組關(guān)聯(lián)規(guī)則設(shè)置連續(xù)存放的一第二告警級別、一當 前匹配位置信息和按關(guān)聯(lián)順序存放的一對或多對關(guān)聯(lián)規(guī)則標識_地址對。步驟312,判斷該數(shù)據(jù)報文是否在匹配樹上完成匹配,如果是,返回步驟301,否 則,返回步驟308 ;步驟313,進行告警,返回步驟301。
權(quán)利要求
一種可實現(xiàn)序列攻擊事件檢測的入侵檢測方法,包括根據(jù)需檢測的每一序列攻擊事件,將規(guī)則庫中用于檢測該序列攻擊事件中前導(dǎo)事件的規(guī)則配置為基礎(chǔ)規(guī)則,將用于檢測該序列攻擊事件中后續(xù)事件的規(guī)則配置為該基礎(chǔ)規(guī)則的一組關(guān)聯(lián)規(guī)則,將所述后續(xù)事件發(fā)生的先后順序記錄為所述關(guān)聯(lián)規(guī)則的關(guān)聯(lián)順序;對某數(shù)據(jù)報文進行入侵檢測時,如該數(shù)據(jù)報文匹配到一個或多個基礎(chǔ)規(guī)則,則優(yōu)先使用匹配到的基礎(chǔ)規(guī)則的關(guān)聯(lián)規(guī)則,按關(guān)聯(lián)順序與該數(shù)據(jù)報文的后續(xù)數(shù)據(jù)報文逐一匹配,如果某個基礎(chǔ)規(guī)則的一組關(guān)聯(lián)規(guī)則均匹配成功,則檢測到對應(yīng)的序列攻擊事件,按該序列攻擊事件的告警級別進行告警。
2.如權(quán)利要求1所述的入侵檢測方法,其特征在于檢測到序列攻擊事件時的告警級別高于檢測到該序列攻擊事件中前導(dǎo)事件時的告警 級別。
3.如權(quán)利要求1所述的入侵檢測方法,其特征在于對每一基礎(chǔ)規(guī)則,配置了單個攻擊事件檢測所需的基本信息、表示本規(guī)則是基礎(chǔ)規(guī)則 的規(guī)則類型標記,以及序列攻擊事件檢測所需的附加信息,該附加信息包括該基礎(chǔ)規(guī)則的 一組或多組關(guān)聯(lián)規(guī)則的標識、數(shù)目及其關(guān)聯(lián)順序信息,該基礎(chǔ)規(guī)則對應(yīng)的一個或多個序列 攻擊事件的告警級別信息;對每一關(guān)聯(lián)規(guī)則,配置了單個攻擊事件檢測所需的基本信息,以及表示本規(guī)則非基礎(chǔ) 規(guī)則的規(guī)則類型標記;某規(guī)則即作為基礎(chǔ)規(guī)則又作為其他基礎(chǔ)規(guī)則的關(guān)聯(lián)規(guī)則時,按基礎(chǔ)規(guī)則的配置方式進 行配置。
4.如權(quán)利要求3所述的入侵檢測方法,其特征在于初始化時,創(chuàng)建用于入侵檢測的一匹配樹,將所有要使用的規(guī)則的描述結(jié)構(gòu)掛載到該 匹配樹上,每一規(guī)則的描述結(jié)構(gòu)中包含了該規(guī)則的基本信息,而在基礎(chǔ)規(guī)則的描述結(jié)構(gòu)中 還包含了該基礎(chǔ)規(guī)則用于檢測序列攻擊事件的所述附加信息,且在每一關(guān)聯(lián)規(guī)則的標識后 添加了該關(guān)聯(lián)規(guī)則在該匹配樹中的地址信息。
5.如權(quán)利要求3或4所述的入侵檢測方法,其特征在于所述優(yōu)先使用匹配到的基礎(chǔ)規(guī)則的關(guān)聯(lián)規(guī)則,按關(guān)聯(lián)順序與該數(shù)據(jù)報文的后續(xù)數(shù)據(jù)報 文逐一匹配是指對某數(shù)據(jù)報文進行入侵檢測時,如該數(shù)據(jù)報文匹配到一個或多個基礎(chǔ)規(guī)則,則創(chuàng)建一 個或多個以該數(shù)據(jù)報文的報文來源標識信息為索引的動態(tài)規(guī)則緩存結(jié)構(gòu),將所匹配到的每 一基礎(chǔ)規(guī)則的一組或多組關(guān)聯(lián)規(guī)則的標識和地址保存到相應(yīng)的動態(tài)規(guī)則緩存結(jié)構(gòu)中,同組 關(guān)聯(lián)規(guī)則之間按其關(guān)聯(lián)順序排列;對該數(shù)據(jù)報文的后續(xù)數(shù)據(jù)報文,如查找到以該后續(xù)數(shù)據(jù)報文的報文來源標識信息為 索引的一個或多個動態(tài)規(guī)則緩存結(jié)構(gòu),則對查找到的每一動態(tài)規(guī)則緩存結(jié)構(gòu)的每組關(guān)聯(lián)規(guī) 則,用其中還未匹配成功的第一個關(guān)聯(lián)規(guī)則與該后續(xù)數(shù)據(jù)報文匹配,如匹配成功且該組關(guān) 聯(lián)規(guī)則中已無余下的關(guān)聯(lián)規(guī)則,則判定檢測到對應(yīng)的序列攻擊事件。
6.如權(quán)利要求5所述的入侵檢測方法,其特征在于對該后續(xù)數(shù)據(jù)報文,如沒有查找到以該后續(xù)數(shù)據(jù)報文的報文來源標識信息為索引的動 態(tài)規(guī)則緩存結(jié)構(gòu),或者在對查找到的每一動態(tài)規(guī)則緩存結(jié)構(gòu)的每組關(guān)聯(lián)規(guī)則,用其中還未匹配成功的第一個關(guān)聯(lián)規(guī)則與該后續(xù)數(shù)據(jù)報文匹配但均匹配失敗,則將該后續(xù)數(shù)據(jù)報文從 匹配樹的根節(jié)點開始逐個匹配,如匹配到基礎(chǔ)規(guī)則,仍需創(chuàng)建匹配到的基礎(chǔ)規(guī)則的動態(tài)規(guī) 則緩存結(jié)構(gòu)。
7.如權(quán)利要求6所述的入侵檢測方法,其特征在于某個數(shù)據(jù)報文匹配到該匹配樹上的某個基礎(chǔ)規(guī)則或關(guān)聯(lián)規(guī)則時,根據(jù)該基礎(chǔ)規(guī)則或關(guān) 聯(lián)規(guī)則檢測到單個攻擊事件時的告警級別進行告警。
8.如權(quán)利要求5所述的入侵檢測方法,其特征在于在所述動態(tài)規(guī)則緩存結(jié)構(gòu)中,在每組關(guān)聯(lián)規(guī)則之前均設(shè)置一當前配置位置信息,初始 值為1;使用某組關(guān)聯(lián)規(guī)則與數(shù)據(jù)報文匹配時,根據(jù)該組關(guān)聯(lián)規(guī)則的當前配置位置信息直接找 到還未匹配成功的第一個關(guān)聯(lián)規(guī)則,如該第一個關(guān)聯(lián)規(guī)則匹配成功,將該當前配置位置加 1。
9.如權(quán)利要求5所述的入侵檢測方法,其特征在于某個動態(tài)規(guī)則緩存結(jié)構(gòu)中的每組關(guān)聯(lián)規(guī)則均已全部匹配成功時,或某個動態(tài)規(guī)則緩存 結(jié)構(gòu)的有效時間已超過時,刪除該動態(tài)規(guī)則緩存結(jié)構(gòu)。
10.如權(quán)利要求5所述的入侵檢測方法,其特征在于所述數(shù)據(jù)報文的報文來源標識信息為該數(shù)據(jù)報文的五元組;在檢測到序列攻擊事件后,還將該序列攻擊事件的事件標識、告警級別以及數(shù)據(jù)報文 的五元組、協(xié)議類型和匹配到的特征信息輸出到日志系統(tǒng)或者數(shù)據(jù)庫,其中,該序列攻擊事 件的事件標識是由每一個事件的事件標識合并得到的。
全文摘要
一種可實現(xiàn)序列攻擊事件檢測的入侵檢測方法,包括根據(jù)需檢測的每一序列攻擊事件,將規(guī)則庫中用于檢測該序列攻擊事件中前導(dǎo)事件的規(guī)則配置為基礎(chǔ)規(guī)則,將用于檢測該序列攻擊事件中后續(xù)事件的規(guī)則配置為該基礎(chǔ)規(guī)則的一組關(guān)聯(lián)規(guī)則,將所述后續(xù)事件發(fā)生的先后順序記錄為所述關(guān)聯(lián)規(guī)則的關(guān)聯(lián)順序;對某數(shù)據(jù)報文進行入侵檢測時,如該數(shù)據(jù)報文匹配到一個或多個基礎(chǔ)規(guī)則,則優(yōu)先使用匹配到的基礎(chǔ)規(guī)則的關(guān)聯(lián)規(guī)則,按關(guān)聯(lián)順序與該數(shù)據(jù)報文的后續(xù)數(shù)據(jù)報文逐一匹配,如果某個基礎(chǔ)規(guī)則的一組關(guān)聯(lián)規(guī)則均匹配成功,則檢測到對應(yīng)的序列攻擊事件,按該序列攻擊事件的告警級別進行告警。本發(fā)明能夠?qū)崿F(xiàn)對序列攻擊事件的檢測,提高檢測效率。
文檔編號H04L12/24GK101902441SQ200910085069
公開日2010年12月1日 申請日期2009年5月31日 優(yōu)先權(quán)日2009年5月31日
發(fā)明者張在峰, 張峰, 王雷章, 趙東賓, 鄧煒, 黃長權(quán) 申請人:北京啟明星辰信息技術(shù)股份有限公司;北京啟明星辰信息安全技術(shù)有限公司