王璐


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