使用高度平行演算法加速開源的網路入侵偵測系統SNORT

研究計畫: 政府部門科技部計畫

專案詳細資料

說明

目前網路入侵偵測系統大多採用多重樣式字串比對的方式,是否含有網路攻擊與異常的封包,透過比對數以千計的攻擊特徵來偵測封包內容。隨著大數據時代的來臨,網路速度與攻擊活動的增加,多重樣式字串比對面臨效能與吞吐量的不足,導致許多封包沒有處理且遺失。為了改善網路入侵偵測系統的效能與吞吐量,本計畫提出階層式平行架構,利用多張圖形處理器(Multi-GPU)與三種不同層面的平行技術加速網路入侵偵測系統。 階層式平行架構由三層不同的平行技術所組成,從上至下來看,第一層實現資料平行(Data Parallelism)於多張圖形處理器;第二層將管線化排程(Pipeline Schedule)實現於個別圖形處理器中,屬於任務平行(Task Parallelism);第三層則是採用資料平行的技術,優化 Aho-Corasick 演算法。本計畫實驗結果顯示,採用四張圖形處理器 Nvidia Titan X 實現於階層式平行架構,總系統吞吐量可高達 70 Gbps,與傳統使用於Snort 中的 Aho-Corasick 演算法相比,可高達四十倍的改善倍率。當圖形處理器的數量增加,總系統的吞吐量也會隨之增加。除此之外,本計畫採用完美雜湊(Perfect Hashing)的方法,壓縮傳統 Aho-Corasick 的狀態機,減少在Snort 中99.2%多重樣式字串比對的記憶體使用量,最後本計畫文將提出的階層式平行架構實現於開源網路入侵偵測系統 Snort。
狀態已完成
有效的開始/結束日期2017/08/012018/07/31

Keywords

  • 網路入侵偵測系統
  • 圖形處理器
  • 多重樣式字串比對
  • Aho-Corasick 演算法

指紋

探索此專案觸及的研究主題。這些標籤是根據基礎獎勵/補助款而產生。共同形成了獨特的指紋。