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