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