李洋 王嘯原 肖雪露
摘要:針對海量加密流量的網絡環境下入侵檢測、流量審計等應用系統處理能力瓶頸,由于傳統分流設備由于不能適應高速網絡環境,導致處理效率和準確率不高。傳統設備的缺點一直制約著網絡流量分類技術研究的發展。本文設計并實現基于FPGA和機器學習的高速加密流量實時檢測平臺,有著高接入速率、高處理效率的分流系統,解決了傳統技術接入速率低、匹配準確性差的缺點,實現了高速網絡信號快速準確的分流過濾。
關鍵詞:FPGA;加密流量識別;快速分流;機器學習
網絡入侵檢測、流量審計等應用需要實時分析處理網絡流量,并且需要采用網絡流量分類技進行針對海量的加密流量[1],傳統入侵檢測、流量審計系統已無法完成實時線速處理,傳統設備由于不能適應高速網絡環境,導致處理效率和準確率不高。傳統設備的缺點一直制約著網絡流量分類技術研究的發展。因此,設計并實現高接入速率、高處理效率的分流系統迫在眉睫[2]。
一、基于FPGA的規則匹配
由于網絡數據流量較大,且模式集種類較多,每種模式串長短不一,因此傳統單模式匹配的方法已經無法滿足網絡數據內容過濾的要求。目前基于FPGA多模式匹配算法的研究主要以AC自動機、bloom filter、TCAM等高速可并行的硬件結構為基礎,根據不同的應用場景,選擇不同的算法,并對算法的缺陷進行優化,從而達到應用需求[3]。TCAM硬件平臺的缺點十分明顯,功耗大,價格昂貴,無法進行國產自主可控等多方面的不足,并且TCAM器件在國外也已經停產多年,因此根據網絡流量檢測的功能和性能要求,針對無法使用TCAM硬件平臺的現狀,本項目采用基于多步長AC自動機的并行高性能模式匹配,用于高速實時網絡流量檢測。
基于AC自動機多模式匹配算法是目前最主流的多模式匹配算法之一,并且在性能上也是最高的。但是目前的AC算法必須解決兩個關鍵的問題,一是AC算法每次只能識別一個字符,并且無法并行化處理,對于FPGA器件來說,即使在800MHZ的高速時鐘下運行,其理論速率也只有6.4GBPS(800MHZ×8bit);AC算法必須解決的另一個問題是需要大量的存儲空間來保持狀態轉移信息,這是因為基于AC的算法是采用AC-TRIE的跳轉算法,每一個當前狀態在輸入字符后都必需進行跳轉。針對傳統AC算法在性能和存儲空間上的局限性,本項目采用多步長AC自動機匹配算法設計AC多模式匹配引擎,通過調度的方式使用多個AC多模式匹配引擎,并行化處理數據內容,從而達到10Gbps的網絡流量分析功能。
二、基于FPGA的機器學習算法
BP神經網絡是按誤差逆向傳播方式進行訓練的多層前向網絡。由于其結構中有多層感知器網絡,屬于使用BP算法的多層感知器網絡。BP神經網絡的訓練學習程包括前傳播、誤差反向傳播、權值更新3個階段。BP神經網絡各層由多個節點組成,每個點就是一個神經元。并且節點的激勵函數一般情況下是非線性函數(輸出層的激勵數可選擇線性函數)。BP神經網絡梯度下降法作為基礎,信號前向傳遞,誤差反傳播。三、在室內設計課程中培養工匠精神的的策略
三、系統硬件平臺設計
基于FPGA和機器學習的高速加密流量實時檢測平臺設計關鍵在于如何適應高速網絡信號接入的高速率。其次,網絡中的信號是通過數據報文的形式進行傳輸的,對網絡信號進行分類主要是在流的基礎上進行,而流指的是在超時約束下,具有相同五元組(源IP目的IP,源端口號,目的端口號,IP層協議號)信息.基于以上信息,基于FPGA和機器學習的高速加密流量實時檢測平臺具體分為以下幾個模塊:網絡流量高速接入模塊、數據預處理模塊、流管理模塊和匹配模塊。
1.網絡流量高速接入模塊
該模塊采用集成化接口,將10Gb/s的網絡數據接入平臺,可應對10G WAN、10G GE和10G POS等流量的收發處理。
2.數據預處理模塊
基于FPGA和機器學習的高速加密流量實時檢測平臺會對大量的數據進行處理,通過增加數據預處理模塊,可以降低后續的數據分析規模,提高識別效率。
3.流量管理模塊
流管理模塊緩存處理好的數據流,并建立流表。在新報文接入時,提取該報文的五元組信息,利用五元組信息對現有流表使用HASH運算,判斷該報文是否屬于原緩存中的數據流。如果找到對應的流則將該報文添加到該流內;否則添加新流并更新流表。
4.匹配模塊
在完成數據接入、預處理和流量管理操作之后,將數據流送入匹配模塊根據表項進行匹配操作。
四、結論
本文設計并實現了一種基于FPGA和機器學習架構的高速加密流量識別平臺,該平臺通過測試可以滿足吞吐率等性能評價指標。該平臺的研制彌補了傳統加密流量識別系統接入帶寬低、處理效率低等缺點。下一步的研究方向是通過對分類規則的統計分析,得到匹配規則的最優設置,實現匹配條目的壓縮、分割,以及通過對多報文快速并行處理來提升系統平臺的整體性能。
參考文獻:
[1]汪立東,錢麗萍.網絡流量分類方法與實踐[M].北京:人民郵電出版社,2013.
[2]王建東,祝超,謝應科等.基于FPGA的萬兆流量并行實時處理系統研究[J].計算機研究與發展,2009,46(02):177-185.
[3]柳斌,李之棠,涂浩.基于半監督學習的應用層流量分類方法[J].微電子學與計算機,2008,25(10):113-116.
作者簡介:李洋(1986-),男,漢族,湖北武漢人,工程師,碩士,研究方向:通信與信息系統。