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