王璐
摘 ? 要:文章綜合分析了已有的網(wǎng)絡(luò)業(yè)務(wù)識別技術(shù)的特點(diǎn)并進(jìn)行綜合對比,同時結(jié)合DPI和機(jī)器學(xué)習(xí)技術(shù),提出了基于DPI以及人工智能的業(yè)務(wù)識別系統(tǒng),并通過實驗結(jié)果驗證此系統(tǒng)在識別業(yè)務(wù)的正確性上優(yōu)于現(xiàn)有的業(yè)務(wù)識別系統(tǒng)。
關(guān)鍵詞:深度報文監(jiān)測技術(shù);機(jī)器學(xué)習(xí);人工智能;業(yè)務(wù)識別
在互聯(lián)網(wǎng)飛速發(fā)展的背景下,根據(jù)網(wǎng)絡(luò)流量識別網(wǎng)絡(luò)業(yè)務(wù),逐漸成為網(wǎng)絡(luò)技術(shù)研究的重要課題。為了提供更好的網(wǎng)絡(luò)服務(wù),識別互聯(lián)網(wǎng)中各種業(yè)務(wù)流量,也成了互聯(lián)網(wǎng)中運(yùn)營商和服務(wù)商面臨的新挑戰(zhàn)。通過業(yè)務(wù)識別系統(tǒng),互聯(lián)網(wǎng)中的運(yùn)營商以及服務(wù)提供商能夠采集與分析互聯(lián)網(wǎng)中各種應(yīng)用產(chǎn)生的流量,識別不同的業(yè)務(wù)流量類型并進(jìn)行分類,進(jìn)而根據(jù)不同的業(yè)務(wù)類型提供不同的業(yè)務(wù)和服務(wù)保障。
隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)業(yè)務(wù)的種類多種多樣,特別是近10年移動互聯(lián)網(wǎng)的發(fā)展日新月異,隨之海量的移動APP業(yè)務(wù)應(yīng)用遍地而生,于是對于網(wǎng)絡(luò)流量協(xié)議的識別近幾年備受關(guān)注,原因如下:(1)網(wǎng)絡(luò)業(yè)務(wù)的識別,有助于網(wǎng)絡(luò)管理者對網(wǎng)絡(luò)進(jìn)行監(jiān)控管理,企業(yè)可以借助流量識別來控制用戶對相關(guān)應(yīng)用的訪問。(2)網(wǎng)絡(luò)安全狀況的復(fù)雜性使得互聯(lián)網(wǎng)急需管理和維護(hù),防火墻以及防御入侵系統(tǒng)非常迫切地需要識別網(wǎng)絡(luò)上的惡意流量。(3)運(yùn)營商以及相關(guān)網(wǎng)絡(luò)服務(wù)商可以通過網(wǎng)絡(luò)流量分析識別和推測用戶信息與行為,為精準(zhǔn)營銷做市場準(zhǔn)備。因此,通過流量識別技術(shù)去識別業(yè)務(wù)在網(wǎng)絡(luò)監(jiān)控管理、用戶行為分析、網(wǎng)絡(luò)信息安全方面有著重大的意義。
本文對目前國內(nèi)外已有的業(yè)務(wù)識別方法進(jìn)行了綜合對比和分析,總結(jié)傳統(tǒng)識別方法的優(yōu)劣,并結(jié)合大部分企業(yè)正在應(yīng)用的基于深度報文監(jiān)測技術(shù)(Deep Packet Inspection,DPI)的業(yè)務(wù)識別技術(shù)以及少量企業(yè)初步實踐的基于機(jī)器學(xué)習(xí)的業(yè)務(wù)識別技術(shù),提出了一種綜合的業(yè)務(wù)識別方法,該方法結(jié)合了兩種技術(shù)的優(yōu)點(diǎn),目前在運(yùn)營商中已經(jīng)有了很好的推廣和應(yīng)用。
1 ? ?傳統(tǒng)業(yè)務(wù)識別方法
傳統(tǒng)的業(yè)務(wù)識別方法主要包括3種:(1)基于端口號的業(yè)務(wù)識別。(2)基于DPI的業(yè)務(wù)識別。(3)新興的基于機(jī)器學(xué)習(xí)的業(yè)務(wù)識別。目前,基于端口號的流量識別系統(tǒng)在傳統(tǒng)的網(wǎng)絡(luò)環(huán)境中得到了廣泛的應(yīng)用,隨著互聯(lián)網(wǎng)的發(fā)展,逐漸被基于DPI的業(yè)務(wù)識別系統(tǒng)所替代,基于機(jī)器學(xué)習(xí)的人工智能系統(tǒng)已經(jīng)逐漸在行業(yè)中占據(jù)一席之地,在識別準(zhǔn)確率以及識別效率上都有所提高。
1.1 ?通過端口號進(jìn)行業(yè)務(wù)識別
在流量識別技術(shù)發(fā)展的初期,使用端口約定的方法對網(wǎng)絡(luò)上的各種應(yīng)用和協(xié)議進(jìn)行分類,因此研究者也同樣可以使用端口映射的方法對網(wǎng)絡(luò)流量進(jìn)行識別分類。
所謂端口映射,就是假設(shè)存在一個映射,定義域為網(wǎng)絡(luò)端口號的集合,值域為網(wǎng)絡(luò)應(yīng)用軟件或網(wǎng)絡(luò)協(xié)議所組成的類型的集合,這個映射就是網(wǎng)絡(luò)端口與網(wǎng)絡(luò)應(yīng)用協(xié)議的映射,可以看作是基于網(wǎng)絡(luò)端口的識別方法的定義[1]。
互聯(lián)網(wǎng)地址編碼分配機(jī)構(gòu)IANA[2]例如基于HTTP協(xié)議的Web應(yīng)用,使用的服務(wù)器端口號是80,基于文件傳輸協(xié)議(File Transfer Protocol,F(xiàn)TP)協(xié)議的文件傳輸應(yīng)用則是使用20與21端口,telnet遠(yuǎn)程訪問終端協(xié)議使用23端口。
通過端口號進(jìn)行業(yè)務(wù)識別采用的規(guī)則簡單且易于實現(xiàn),在傳統(tǒng)網(wǎng)絡(luò)中識別率和準(zhǔn)確率都較高。但是隨著互聯(lián)網(wǎng)的發(fā)展,各種層出不窮的應(yīng)用越來越多,大多數(shù)應(yīng)用為了躲避網(wǎng)絡(luò)擁堵或繞過防火墻檢測,逐漸采用動態(tài)端口或端口偽裝技術(shù),例如一些Web服務(wù)器和FTP服務(wù)器在搭建過程中均可以手工指定服務(wù)器端口,而不是使用傳統(tǒng)的80和20,21端口。這樣做提高了服務(wù)器的靈活性,而且也為服務(wù)器的多用途和單應(yīng)用復(fù)用提供了可能,但這使得這種原始的流量識別技術(shù)逐漸失效。
1.2 ?通過DPI進(jìn)行業(yè)務(wù)識別
DPI是一種對應(yīng)用層的數(shù)據(jù)包進(jìn)行流量監(jiān)測及控制的技術(shù),主要包括業(yè)務(wù)識別、業(yè)務(wù)控制和業(yè)務(wù)統(tǒng)計3大功能[3]。
本文主要研究業(yè)務(wù)識別功能,基于DPI的業(yè)務(wù)識別主要對業(yè)務(wù)類型、業(yè)務(wù)分布及業(yè)務(wù)流量流向進(jìn)行深度分析,通過查找特征字段判斷業(yè)務(wù)流的具體應(yīng)用類型,其基本原理如下:
在分析數(shù)據(jù)包報文頭部信息的基礎(chǔ)上,也對數(shù)據(jù)包的應(yīng)用層協(xié)議進(jìn)行分析,當(dāng)數(shù)據(jù)流經(jīng)過基于DPI技術(shù)的網(wǎng)絡(luò)系統(tǒng)時,系統(tǒng)檢測引擎通過讀取IP數(shù)據(jù)包載荷的內(nèi)容來對報文應(yīng)用層信息進(jìn)行識別,從而區(qū)分出具體應(yīng)用層協(xié)議并執(zhí)行相應(yīng)的控制策略。在這個過程中,數(shù)據(jù)包載荷的內(nèi)容識別,主要應(yīng)用了特征分析與提取方法,分析數(shù)據(jù)流經(jīng)過網(wǎng)絡(luò)通信時,數(shù)據(jù)包負(fù)載內(nèi)容的特征,將其提取為特征碼。這些特征碼可以是負(fù)載中某些特定位的二進(jìn)制數(shù)據(jù),可以是某些特征字符串,也可以是負(fù)載通過哈希變換后的數(shù)字簽名[4]。系統(tǒng)開發(fā)時,基于各種類型的特征碼建立一個特征規(guī)則庫,并隨著網(wǎng)絡(luò)數(shù)據(jù)流的變化逐漸進(jìn)行人工維護(hù)與更新。當(dāng)流量產(chǎn)生的數(shù)據(jù)包通過識別系統(tǒng)檢查數(shù)據(jù)包中是否攜帶知識庫中的特征碼,如果是則表示該流量與該特征碼匹配,根據(jù)匹配的特征碼即可識別流量類型。
基于特征碼的DPI業(yè)務(wù)識別方法,對互聯(lián)網(wǎng)絕大部分流量識別的準(zhǔn)確度相對較高,是一種有效的流量識別方法。但是DPI知識特征庫的維護(hù)與更新對人工操作依賴較強(qiáng),新特征碼的提取以及納庫是否及時,直接決定了該方法對于新的網(wǎng)絡(luò)流量類型的識別準(zhǔn)確性與有效性。
1.3 ?通過機(jī)器學(xué)習(xí)進(jìn)行業(yè)務(wù)識別
機(jī)器學(xué)習(xí)(Machine Learning,ML)是近年來興起的一門融合多個領(lǐng)域的交叉學(xué)科,其目標(biāo)是通過學(xué)習(xí)已有的先驗知識構(gòu)建學(xué)習(xí)模型,同時,使用該學(xué)習(xí)模型對未知的數(shù)據(jù)進(jìn)行分類或者預(yù)測,并在這一過程中通過自我學(xué)習(xí)不斷完善已構(gòu)建的學(xué)習(xí)模型,進(jìn)而提高學(xué)習(xí)模型的分類性能。
機(jī)器學(xué)習(xí)方法的原理:首先,系統(tǒng)提取網(wǎng)絡(luò)流量統(tǒng)計特征,構(gòu)建多樣本數(shù)據(jù)集(包含流量類別標(biāo)簽);其次,作為機(jī)器學(xué)習(xí)的先驗知識,機(jī)器學(xué)習(xí)通過學(xué)習(xí)這一先驗知識構(gòu)建出一個分類模型,使用已構(gòu)建的分類模型達(dá)到對未知類型流量的分類。
機(jī)器學(xué)習(xí)的流量識別方法如下:
第一步,需要獲取大量的流量數(shù)據(jù)。當(dāng)前使用的數(shù)據(jù)集有兩種來源:(1)使用各種抓包工具本地收集流量。(2)使用相關(guān)組織或研究公開的數(shù)據(jù)集[5]。
第二步,特征提取與處理。Moore等[6](2005)總結(jié)出248種流量統(tǒng)計特征。Shi等[7](2017)提出基于wavelet leaders的多重分形建模技術(shù)提取流量的非線性特征。無論是哪種特征提取方法,都是基于流量特征的統(tǒng)計工作進(jìn)行的,只是分類的對象和角度不同。
第三步,建立機(jī)器學(xué)習(xí)模型。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是基于深度學(xué)習(xí)理論的人工神經(jīng)網(wǎng)絡(luò),提供了一種端到端的學(xué)習(xí)模型,模型中的參數(shù)可通過傳統(tǒng)梯度下降方法進(jìn)行訓(xùn)練。經(jīng)過訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)原始數(shù)據(jù)中的特征,并且完成對數(shù)據(jù)特征的提取與分類[8]。卷積神經(jīng)網(wǎng)絡(luò)算法能自動提取原始數(shù)據(jù)中的特征,從而有效解決了識別率依賴于人為特征選擇的不足。
1.4 ?傳統(tǒng)業(yè)務(wù)識別方法對比
綜合上文分析的已有業(yè)務(wù)識別方法,從不同角度對各種方法進(jìn)行對比,具體如表1所示。
可見,DPI和機(jī)器學(xué)習(xí)方法在識別業(yè)務(wù)的準(zhǔn)確率有很大的優(yōu)勢,但是從其他角度對比卻各有利弊,所以可以結(jié)合兩種業(yè)務(wù)識別方法優(yōu)點(diǎn),提出一種綜合業(yè)務(wù)識別方案。
2 ? ?基于DPI及人工智能的智能業(yè)務(wù)識別方法
基于DPI及機(jī)器學(xué)習(xí)的智能業(yè)務(wù)識別系統(tǒng)主要由業(yè)務(wù)識別服務(wù)器、深度學(xué)習(xí)訓(xùn)練服務(wù)器、DPI服務(wù)器3部分組成。
2.1 ?業(yè)務(wù)識別服務(wù)器
業(yè)務(wù)識別服務(wù)器與DPI服務(wù)器和模型訓(xùn)練器相連接,負(fù)責(zé)接收按照接口要求初步預(yù)處理的數(shù)據(jù),根據(jù)DPI的規(guī)則庫進(jìn)行模式匹配,以及根據(jù)機(jī)器學(xué)習(xí)訓(xùn)練模型進(jìn)行匹配,最終返回業(yè)務(wù)識別結(jié)果。
2.2 ?DPI服務(wù)器
DPI服務(wù)器負(fù)責(zé)根據(jù)網(wǎng)絡(luò)報文數(shù)據(jù)包中載荷的報文特征,定期維護(hù)特征規(guī)則庫,對于簡單報文數(shù)據(jù),提取報文特征值根據(jù)規(guī)則進(jìn)行匹配,進(jìn)行高效的業(yè)務(wù)識別。
2.3 ?深度學(xué)習(xí)訓(xùn)練服務(wù)器
深度學(xué)習(xí)訓(xùn)練服務(wù)器負(fù)責(zé)每周訓(xùn)練新的業(yè)務(wù)識別深度學(xué)習(xí)模型,每周可以及時自動更新最新的訓(xùn)練模型。網(wǎng)絡(luò)業(yè)務(wù)識別的流程如圖1所示。
通過爬蟲和自動點(diǎn)擊系統(tǒng),獲得帶有業(yè)務(wù)真實類別標(biāo)簽的PCAP包作為訓(xùn)練數(shù)據(jù)。將目前確定的500余種熱門應(yīng)用加入APP列表,APP爬蟲系統(tǒng)可以自動根據(jù)APP列表的應(yīng)用名稱,下載安裝包并自動安裝,自動點(diǎn)擊系統(tǒng)模擬人的點(diǎn)擊操作在后臺進(jìn)行抓包,即可得到客戶端與服務(wù)器交互的PCAP包文件。深度學(xué)習(xí)模型以APP名稱以及PCAP數(shù)據(jù)包為輸入,即可進(jìn)入模型訓(xùn)練。
人工智能的機(jī)器學(xué)習(xí)模塊是以卷積神經(jīng)網(wǎng)絡(luò)為核心的深度學(xué)習(xí)模型,如圖2所示。
3 ? ?對比分析
與傳統(tǒng)的DPI業(yè)務(wù)識別模式以及單獨(dú)的機(jī)器學(xué)習(xí)模式相比,基于DPI及人工智能的業(yè)務(wù)識別系統(tǒng)在業(yè)務(wù)識別的準(zhǔn)確性、模型更新周期以及人力成本上有很大的優(yōu)勢,如表2所示。
在互聯(lián)網(wǎng)中測試90款主流APP,將業(yè)務(wù)識別系統(tǒng)生成的外部數(shù)據(jù)表示法與真實的答案進(jìn)行對比尋求業(yè)務(wù)識別的正確率,基于IDP+人工智能方案的整體正確率達(dá)到81.3%(機(jī)器學(xué)習(xí)達(dá)79.7%),對于熱點(diǎn)業(yè)務(wù)的預(yù)測正確率達(dá)74.3%(與機(jī)器學(xué)習(xí)持平),新業(yè)務(wù)預(yù)測的正確率達(dá)88.4%(機(jī)器學(xué)習(xí)達(dá)82.5%)。總體來說,基于IDP+人工智能方案的識別正確率優(yōu)于機(jī)器學(xué)習(xí)的業(yè)務(wù)識別方案。
4 ? ?結(jié)語
本文綜合分析了當(dāng)前國內(nèi)外已有的業(yè)務(wù)識別方法,總結(jié)傳統(tǒng)的幾種識別方法的優(yōu)劣,并結(jié)合基于DPI以及機(jī)器學(xué)習(xí)的業(yè)務(wù)識別技術(shù),提出了一種綜合的業(yè)務(wù)識別方法,該方法結(jié)合了兩種技術(shù)的優(yōu)點(diǎn),對90款主流APP的網(wǎng)絡(luò)流量進(jìn)行采集測試,其業(yè)務(wù)識別的整體正確率、對熱點(diǎn)業(yè)務(wù)預(yù)測的正確率,以及對新業(yè)務(wù)預(yù)測的正確率均優(yōu)于現(xiàn)有的傳統(tǒng)業(yè)務(wù)識別方案。
[參考文獻(xiàn)]
[1]陳乾熙.網(wǎng)絡(luò)流量識別方法及比較研究[J].今日科苑,2015(8):106.
[2]彭立志.基于機(jī)器學(xué)習(xí)的流量識別關(guān)鍵技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2015.
[3]楊揚(yáng).淺談DPI技術(shù)在IP城域網(wǎng)中的應(yīng)用實踐[J].信息通信,2018(9):268-269.
[4]彭立志.互聯(lián)網(wǎng)流量識別研究綜述[J].濟(jì)南大學(xué)學(xué)報(自然科學(xué)版),2016(2):95-104.
[5]SALGARELI L,GRINGOLI F,KARAGIANNIS T.Comparing trafic clasifiers[J].Computer Communication Review,2007(3):65-68.
[6]MOORE A,ZUEV D,CROGAN M.Discriminators for use in flow-based clasification[C].Cambridge:Intel Research,2005.
[7]SHI H T,LI H P,ZHANG D,et al.Eficient and robust feature extraction and selection for trafic clasification[J].Computer Networks,2017(C):1-16.
[8]PHAMTH,NGUYEN H H.Payload and power consumption analysis of IEEE 802.15.6 based WBAN with CSMA/CA[C].Nanjing:In-ternational Conference on Advanced Technologies for Communica-tion,2014.