項(xiàng)目背景及可行性分析
項(xiàng)目名稱:基于SNORT規(guī)則集的高速網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)
應(yīng)用背景
誤用入侵檢測(cè)系統(tǒng)作為當(dāng)前主流的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng),有判斷準(zhǔn)確性高、誤報(bào)率低等特點(diǎn),此類系統(tǒng)是建立在對(duì)過去各種已知網(wǎng)絡(luò)入侵方法和系統(tǒng)缺陷知識(shí)的積累之上,根據(jù)對(duì)這些已知模式的檢測(cè)來達(dá)到保障安全的目的。因此,模式庫和模式匹配是誤用入侵檢測(cè)系統(tǒng)的核心。隨著網(wǎng)絡(luò)速度的迅速提高,誤用入侵檢測(cè)系統(tǒng)逐漸暴露其在性能上的致命缺陷:檢測(cè)速率低、資源消耗大。尤其當(dāng)入侵模式庫不斷增大時(shí),此類軟件系統(tǒng)更是難有較佳表現(xiàn)。因此,誤用入侵檢測(cè)系統(tǒng)在某些網(wǎng)絡(luò)負(fù)載高的環(huán)境下不得不放棄對(duì)一些網(wǎng)絡(luò)數(shù)據(jù)包的檢測(cè),這種策略嚴(yán)重影響了誤用入侵檢測(cè)系統(tǒng)在功能上的完整性。
誤用入侵檢測(cè)系統(tǒng)性能的主要瓶頸在于模式匹配引擎的效率上。模式匹配引擎根據(jù)入侵規(guī)則庫中的規(guī)則模式對(duì)來自網(wǎng)絡(luò)的數(shù)據(jù)包進(jìn)行字符串模式匹配。在許多誤用入侵檢測(cè)系統(tǒng)中(如Snort入侵檢測(cè)系統(tǒng)),這些用以描述入侵特征的字符串模式是以正則表達(dá)式形式給出的,將其作為判斷規(guī)則的一部分存放于入侵模式規(guī)則庫中。文獻(xiàn)[1]指出在誤用入侵檢測(cè)系統(tǒng)的模式匹配中,正則表達(dá)式匹配占了CPU計(jì)算時(shí)間的90%以上。因此,本項(xiàng)目主要設(shè)計(jì)實(shí)現(xiàn)一個(gè)軟硬結(jié)合的基于SNORT規(guī)則集的高速網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)。
研究現(xiàn)狀
軟件模式匹配引擎為達(dá)到較高的匹配效率,通常采用一些多模式匹配算法,文獻(xiàn)[2]中作者指出,目前絕大多數(shù)的正則表達(dá)式匹配算法都是由GAC(Generalization of the Aho-Corasick)算法改進(jìn)而來。文獻(xiàn)[3]中給出了GAC算法設(shè)計(jì)細(xì)節(jié)。此類軟件多模式匹配算法在由NFA(Nondeterministic Finite Automata)構(gòu)建DFA(Deterministic Finite Automata)的過程中,狀態(tài)機(jī)的狀態(tài)數(shù)成指數(shù)級(jí)增長,因此增大了對(duì)內(nèi)存等硬件資源的消耗,其結(jié)果是制約了此類系統(tǒng)所能匹配的正則表達(dá)式的規(guī)模,并且在無法增大規(guī)模的同時(shí)也降低了系統(tǒng)的性能。
在硬件模式匹配引擎的設(shè)計(jì)上,目前主要采用NFA和DFA兩類模式匹配的方法,文獻(xiàn)[4]中,作者應(yīng)用DFA理論提出了一種新的結(jié)構(gòu),并通過壓縮編碼的方式來提高密度;文獻(xiàn)[5]的作者依據(jù)圖論算法對(duì)多狀態(tài)轉(zhuǎn)移進(jìn)行合并,將DFA轉(zhuǎn)化成,從而減小了95%的存儲(chǔ)器占用。但這些利用DFA理論的方法都不可避免面臨著硬件資源有限的難題,由于相對(duì)NFA來說,DFA實(shí)現(xiàn)中的狀態(tài)數(shù)成指數(shù)級(jí)增長,這使得目前現(xiàn)有的FPGA硬件很難滿足大規(guī)模正則表達(dá)式匹配的任務(wù)。文獻(xiàn)[6]首次提出了一種利用NFA機(jī)制實(shí)現(xiàn)的基于FPGA硬件的正則表達(dá)式匹配引擎,該引擎可以每周期匹配一個(gè)字符,并采用模塊化設(shè)計(jì)思想給出了幾種基本模塊的設(shè)計(jì)方法。本項(xiàng)目中的基于SNORT規(guī)則集中的正則表達(dá)式規(guī)則模式匹配引擎(硬件加速)部分,參考了此篇文章的思想并對(duì)其改進(jìn),采用模塊化設(shè)計(jì)方法,設(shè)計(jì)實(shí)現(xiàn)一款數(shù)據(jù)流驅(qū)動(dòng)的高速的硬件匹配引擎,解決了NFA引擎中的數(shù)據(jù)回溯問題。
主要內(nèi)容
本項(xiàng)目針對(duì)傳統(tǒng)軟件入侵檢測(cè)系統(tǒng)中存在正則表達(dá)式模式檢測(cè)這一系統(tǒng)瓶頸問題,設(shè)計(jì)實(shí)現(xiàn)一個(gè)軟硬結(jié)合的基于SNORT規(guī)則集的高速網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)。此系統(tǒng)主要由三部分組成,即基于SNORT規(guī)則集中的正則表達(dá)式規(guī)則模式匹配引擎(硬件入侵檢測(cè)模式加速器)、底層硬件傳輸平臺(tái)及軟件(驅(qū)動(dòng)和應(yīng)用程序)的設(shè)計(jì)與實(shí)現(xiàn)。
關(guān)鍵技術(shù)和創(chuàng)新點(diǎn)
(1)面向正則表達(dá)式的多模式匹配硬件引擎的設(shè)計(jì);
(2)基于PCI-E的CPU與FPGA的通信平臺(tái)的設(shè)計(jì);
(3)基于硬件的網(wǎng)絡(luò)數(shù)據(jù)包的抓取;
(4)軟件驅(qū)動(dòng)程序的設(shè)計(jì)。
-
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7514瀏覽量
88625 -
入侵檢測(cè)
+關(guān)注
關(guān)注
0文章
57瀏覽量
14091
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論