董浩 李燁
摘要 通信中的流量識別工作將直接影響網(wǎng)絡管理整體效率。針對復雜網(wǎng)絡中的加密流量識別問題,結合網(wǎng)絡流量與文本結構相似性,提出一種基于卷積神經(jīng)網(wǎng)絡的優(yōu)化識別模型。綜合考慮數(shù)據(jù)包的多樣性,對原始網(wǎng)絡數(shù)據(jù)進行預處理,以保證算法輸入數(shù)據(jù)結構的一致性。同時,算法增加卷積操作,以提高模型特征提取效率。仿真結果表明,提出的卷積神經(jīng)網(wǎng)絡模型在復雜網(wǎng)絡環(huán)境中,加密流量的服務識別與應用識別都有較高準確率。
關鍵詞
流量識別;復雜網(wǎng)絡;加密;卷積神經(jīng)網(wǎng)絡;預處理;特征提取
DOIDOI:10.11907/rjdk.182192
中圖分類號:TP309.7
文獻標識碼:A文章編號文章編號:16727800(2018)009020305
英文標題Encrypted Traffic Classification in Complex Network
Based on Convolution Neural Network
——副標題
英文作者DONG Hao,LI Ye
英文作者單位(School of Opticalelectrical Information and Computer Engineering, University of Shanghai
for Science and Technology, Shanghai 200093, China)
英文摘要Abstract:In network communication, the traffic classification directly affects the overall efficiency of network management. To solve the problem of encrypted traffic classification in complex network, a classification model based on convolution neural network is proposed according to the structure similarity of network traffic and text. In order to avoid the influence of packets diversity, data preprocessing is carried out in original network data to ensure the consistency of the algorithm input data. And the algorithm model adds convolution operation to increase the efficiency of feature extraction. Simulation results show that the classification model with high accuracy could be achieved through convolution neural network algorithm in both service classification and application classification of encrypted traffic in complex network environment.
英文關鍵詞Key Words:traffic classification;complex network;encryption;convolution neural network;preprocessing;feature extraction
0引言
隨著通信技術的發(fā)展與用戶需求的不斷提升,網(wǎng)絡流量及相關業(yè)務服務持續(xù)增加,網(wǎng)絡規(guī)模也逐漸擴大,并且從提供單一功能的簡單網(wǎng)絡轉變?yōu)槟軌蛲瑫r提供多種功能的復雜網(wǎng)絡[12]。同時,加密技術的進步與人們加密意識的增強導致網(wǎng)絡中的加密流量比例快速增長,從而使網(wǎng)絡管理工作日益困難[34]。流量識別作為網(wǎng)絡管理的關鍵技術之一,是提升網(wǎng)絡管理水平、改善服務質量(QoS)的基礎,如何在復雜網(wǎng)絡中識別加密流量是網(wǎng)絡發(fā)展過程中一個亟待解決的問題。
目前,網(wǎng)絡中的加密流量識別技術研究已取得了不少成果。不同于未加密流量識別,加密流量識別的研究對象不再是流量內容的有效信息。文獻[5]通過分析數(shù)據(jù)分組得到的有效負載識別加密流量,但因為需要解析數(shù)據(jù)分組負載,可能涉及觸犯隱私等問題,實際應用性很差;文獻[6]通過分析數(shù)組分組大小分布,從而識別出加密流量中的不同業(yè)務類型;文獻[7]利用加密流量的隨機性對負載進行累計與檢驗,并根據(jù)報文長度進行加權綜合,最終實現(xiàn)在線識別。由于加密技術只對載荷信息進行加密,而不對流統(tǒng)計特征進行處理,文獻[8]-[10]提出基于流統(tǒng)計特征的機器學習識別方法,該方法準確率高,可以較好地適用于不同網(wǎng)絡環(huán)境,但其對流的統(tǒng)計特征工作提出了很高要求;文獻[11]、[12]從主機角度分析不同業(yè)務行為特征,對加密流量進行粗粒度識別;此外,文獻[13]、[14]集成了多種方法,高效實現(xiàn)了加密流量識別。
上述加密流量識別方法實際是在通信過程中對各種類型的加密流量特征進行識別,如行為特征、統(tǒng)計特征等。特征選取質量對識別方法的準確率影響很大。目前,深度學習發(fā)展迅速,其中卷積神經(jīng)網(wǎng)絡算法能自動提取原始數(shù)據(jù)中的特征,從而有效解決了識別率依賴于人為特征選擇的不足[1516]。
1相關工作
1.1卷積神經(jīng)網(wǎng)絡
卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN)是基于深度學習理論的人工神經(jīng)網(wǎng)絡,提供了一種端到端的學習模型,模型中的參數(shù)可通過傳統(tǒng)梯度下降方法進行訓練。經(jīng)過訓練的卷積神經(jīng)網(wǎng)絡能夠學習原始數(shù)據(jù)中的特征,并且完成對數(shù)據(jù)特征的提取與分類[1718]。作為神經(jīng)網(wǎng)絡領域的一個重要研究分支,卷積神經(jīng)網(wǎng)絡的特點在于其每一層特征都由上一層局部區(qū)域通過共享權值的卷積核激勵得到[1920]。該特點使卷積神經(jīng)網(wǎng)絡相比于其它神經(jīng)網(wǎng)絡方法,更適合應用于數(shù)據(jù)特征學習中。
1.2復雜網(wǎng)絡
復雜網(wǎng)絡中整合了多種不同網(wǎng)絡功能與服務業(yè)務,廣泛采用分布式技術與負載均衡技術,以提高服務效率,并采用多種網(wǎng)絡協(xié)議,從而保證數(shù)據(jù)傳輸?shù)母咝耘c安全性。然而,復雜網(wǎng)絡的應用在提高用戶使用便捷性的同時,也為網(wǎng)絡運營商帶來了很多管理問題。其中面對多源、異構、海量的網(wǎng)絡流量數(shù)據(jù),現(xiàn)有流量分類技術面臨數(shù)據(jù)結構不一致、不能共享及重用現(xiàn)有分類知識效率低等問題,造成流量分類為決策分析提供的資源信息受限[2122]。因此,迫切需要一種高效、可擴展的網(wǎng)絡流量數(shù)據(jù)描述及管理方法,以支持更深層次的流量分類,并適應高速發(fā)展的大規(guī)模復雜網(wǎng)絡環(huán)境。
1.3加密流量
加密流量是由加密算法生成的流量,其與未加密流量識別的本質區(qū)別在于,其因加密使得用于區(qū)分的特征發(fā)生改變,如明文變?yōu)槊芪?,統(tǒng)計特性與特征發(fā)生改變等。目前,虛擬專用網(wǎng)(VPN)、安全套接字層(SSL)、安全外殼協(xié)議(SSH)以及匿名通信(Tor)[23]等加密技術逐漸發(fā)展成熟,并且加密協(xié)議由于具有良好的兼容性與可擴張性[24],使加密流量在網(wǎng)絡中的應用越來越廣,從而使傳統(tǒng)識別方法如基于端口與應用層負載的方法很難或根本無法適用于加密流量識別[8]??紤]到復雜網(wǎng)絡中業(yè)務流種類的多樣性與加密流量的復雜度,兼容性更廣、穩(wěn)健性更好的識別模型才能滿足當前的網(wǎng)絡管理要求。
2卷積神經(jīng)網(wǎng)絡加密流量識別算法
2.1模型構造
考慮到網(wǎng)絡通信中產(chǎn)生的網(wǎng)絡流量本質上是連續(xù)數(shù)據(jù),網(wǎng)絡流的層次結構定義了其數(shù)據(jù)格式是一維字節(jié)流。相比于網(wǎng)絡流中的字節(jié),數(shù)據(jù)包與業(yè)務流的結構非常類似于字、句子與文章。近年來,由于CNN在文本分類等自然語言處理領域的成功應用,本文綜合考慮采用一維度CNN進行復雜網(wǎng)絡的加密流量識別模型訓練。
2.2數(shù)據(jù)預處理
預處理作用是將網(wǎng)絡中捕獲的數(shù)據(jù)包轉換成結構一致的CNN模型輸入格式??紤]到加密字節(jié)信息、傳輸協(xié)議選擇、數(shù)據(jù)包捕獲位置與數(shù)據(jù)包大小的影響,數(shù)據(jù)預處理包括4個步驟:
(1)加密干擾消除。刪除地址信息字節(jié)(如IP地址、端口號)。加密數(shù)據(jù)包的地址信息是隨機產(chǎn)生的,且同一網(wǎng)絡發(fā)送的數(shù)據(jù)包即使不加密也會有相同地址信息,這都會對模型識別產(chǎn)生干擾。
(2)路徑干擾消除。刪除網(wǎng)絡頭部信息字節(jié),如數(shù)據(jù)鏈路層捕獲的數(shù)據(jù)包包含了以太網(wǎng)頭部,其中的媒體訪問控制(MAC)地址用來轉發(fā)網(wǎng)絡中的幀。這些字節(jié)信息描述的是網(wǎng)絡而不是數(shù)據(jù)特征,需要刪除。
(3)傳輸協(xié)議統(tǒng)一。傳輸層協(xié)議TCP與UDP的報頭字節(jié)長度不同,則會破壞數(shù)據(jù)結構。本文通過在UDP報頭后增加空白字節(jié),以保證數(shù)據(jù)內容中傳輸層不同協(xié)議占有的字節(jié)數(shù)一致。
(4)模型輸入統(tǒng)一。網(wǎng)絡中捕獲的數(shù)據(jù)包大小不一,考慮到CNN模型需要固定大小的數(shù)據(jù)輸入,因此需修剪數(shù)據(jù)包。本文CNN模型的輸入為784字節(jié)(28*28),數(shù)據(jù)包經(jīng)過前3步預處理后,若多于784字節(jié),則刪除784字節(jié)之后的內容,若少于784字節(jié),則用空白字節(jié)填補。
2.3卷積神經(jīng)網(wǎng)絡
CNN分為5部分:輸入層、卷積層、池化層、全連接層與輸出層。
(1)輸入層。本文選取經(jīng)過預處理的數(shù)據(jù)組成一幅1@28×28的灰度圖像,“1”表示圖像通道數(shù),由矩陣Rqn×n表示,其中q∈[0,m],m為模型輸入個數(shù),n×n表示矩陣結構與大小。
(2)卷積層。卷積層通過指定不同窗口值提取數(shù)據(jù)矩陣Rqn×n的不同特征信息,并通過不同卷積核提取數(shù)據(jù)中的不同特征Hi。
Hi=f(Hi-1Wi+bi) (1)
其中,Hi表示第i層的特征圖(H0=Rn×n),Wi表示第i層卷積核的權值向量,運算符號“”表示卷積核與第i-1層圖像或特征圖進行卷積操作,bi為偏移向量,f(x)是非線性激勵函數(shù)。
(3)池化層。為了對特征圖進行降維,在一定程度上保持特征的尺度不變特性,池化層依據(jù)一定池化規(guī)則對特征圖Hi進行池化操作,提取特征映射中的重要特征Hi+1。
Hi+1=pooling(Hi) (2)
其中,pooling(x)表示池化規(guī)則,主要分為最大池化與均值池化兩種。
(4)全連接層。全連接層中每個神經(jīng)元與其前一層的所有神經(jīng)元進行全連接,其可以整合卷積層或池化層中具有類別區(qū)分性的局部信息。
yl=g(yl-1·(wldl)+bl)(3)
其中,yl表示第l層全連接層的神經(jīng)元向量,y0是由最后一個池化層所得特征圖Hn平鋪得到的,wl表示第l層全連接層的權值向量,dl是屏蔽向量,運算符號“”表示元素相乘,bl為偏移向量,g(x)是神經(jīng)元激勵函數(shù)。(wldl)表示采用正則化方法——丟失數(shù)據(jù)(dropout)技術,通過一定概率屏蔽神經(jīng)網(wǎng)絡單元,從而避免過擬合。
(5)輸出層。CNN依靠全連接網(wǎng)絡對提取特征進行分類。最后一層全連接層的輸出值yζ被傳遞給輸出層,可以采用softmax邏輯回歸進行分類。
Y=softmax(yζ) (4)
其中,Y表示每個分類標簽的概率分布。
CNN本質上是使輸入矩陣Rn×n經(jīng)過多層的數(shù)據(jù)變換與降維,映射到一個新的特征表達P的數(shù)學模型。
Y(j)=P(X=Lj∣Rn×n;(W,b);(w,b,d)) (5)
其中,X表示輸入矩陣Rn×n被預測的標簽類別,Lj表示第j個標簽類別。
本文選取經(jīng)過預處理的數(shù)據(jù)組成一幅1@28*28的灰度圖像。通過結合前期模型結構不斷實驗嘗試,本文改進了經(jīng)典卷積神經(jīng)網(wǎng)絡結構,通過在卷積層之后增加一層卷積層,以更有效地提取數(shù)據(jù)包特征。模型參數(shù)設置見表1。
2.4模型訓練
本文模型屬于有監(jiān)督模型,模型根據(jù)輸出結果計算殘差并更新模型參數(shù),最小化模型的損失函數(shù)為L(θ)。訓練采用均方誤差(Mean Squared Error, MSE)函數(shù),并引入權重衰減 (weight decay)對參數(shù)進行正則化。
L(θ)=1m∑mk(P(Xk∣Rkn×n,θ)-P)2+λ2∑mk∑qsθ2 (6)
其中,P(Xk∣Rkn×n,θ)為預測概率值;P為輸入數(shù)據(jù)Rkn×n的正確標簽;θ表示當前網(wǎng)絡權值構成的向量空間,包括(Wi,bi,wl,bl);q表示θ的數(shù)量;λ為正則化系數(shù),可控制過擬合作用強度。
訓練過程中采用梯度下降法,即殘差通過梯度下降進行方向傳播,更新可訓練參數(shù)θ。
θs=θs-ηL(θ)θs (7)
其中,η表示學習速率,用于控制殘差方向傳播強度。
3實驗
3.1實驗環(huán)境
本文實驗環(huán)境及其配置如表2所示。
3.2實驗數(shù)據(jù)集
本文模型處理復雜網(wǎng)絡中加密流量的業(yè)務識別,屬于有監(jiān)督的深度學習模型,需要較多高質量且類型多樣的訓練數(shù)據(jù)才能保證模型有效性。本文采用UNB大學公開的ISCX數(shù)據(jù)集[25],標簽中主要包括2種加密狀態(tài)、7個服務種類與17種應用類型。然而,數(shù)據(jù)集中存在標簽模糊(如“Facebook_video.pcap”既屬于網(wǎng)頁流量又屬于視頻流量)、樣本數(shù)量過少(如應用類型中的 “ICQ”,樣本數(shù)量不足其它類型的110)及缺少加密與未加密對照數(shù)據(jù)(如應用類型中的“TOR”沒有加密數(shù)據(jù))等問題。結合復雜網(wǎng)絡的實際流量情況,本文實驗分為兩個層次:流量的服務識別與應用識別。采用的實驗數(shù)據(jù)內容包括2種加密狀態(tài)、6種服務種類與13種應用類型。其中各數(shù)據(jù)比例如表3、表4所示。
3.3實驗結果分析
在機器學習、模型分類問題中,評估是一個重要環(huán)節(jié),評價指標通常采用查準率(Pc)、查全率(Rc)與綜合評價指標(F1),分別定義為:
Pc=TPtTPt+FPt(8)
Rc=TPtTPt+FNt (9)
F1=2Pc·RcPc+Rc (10)
其中,t是樣本類型,TP是實際類型為t的樣本中被正確標記的樣本數(shù),F(xiàn)P是實際類型為非t樣本中被誤標記為t的樣本數(shù),TN是實際類型為t的樣本中被誤標識為其它類型樣本數(shù),TN是實際類型為非t樣本中被標識為非t的樣本數(shù)。查準率與查全率體現(xiàn)了識別模型在每個單獨類型上的識別效果,特別是當樣本類別分布不均勻時,能夠準確獲知每個類別分類情況。綜合評價指標越高,表明算法對各類型的分類性能越好。
為了比較本文提出算法模型的有效性與數(shù)據(jù)預處理的可靠性,服務識別實驗分為兩組。第一組使用隨機森林(RF),數(shù)據(jù)使用ISCX數(shù)據(jù)集中與數(shù)據(jù)包數(shù)據(jù)對應的流特征數(shù)據(jù),第二組使用改進卷積神經(jīng)網(wǎng)絡。實驗各類別的樣本比例相同,如表 3所示。服務識別檢測結果如表5所示。
由表 5可以看出,本文算法以經(jīng)過預處理的原始網(wǎng)絡數(shù)據(jù)作為輸入,通過卷積神經(jīng)網(wǎng)絡提取特征,對復雜網(wǎng)絡環(huán)境中的加密流量具有較好的服務分類效果。相比于傳統(tǒng)機器學習算法RF,網(wǎng)絡流量服務識別的查準率、查全率及綜合評價指標明顯提高,且每種服務類型都具有很好的識別效果,各項指標都超過了95%,整體的服務識別準確率為98.5%,相比RF提高了14.1%。該結果證明了卷積神經(jīng)網(wǎng)絡在加密流量識別中的實用性與有效性。
表6是本文改進卷積神經(jīng)網(wǎng)絡(CNN1)與經(jīng)典卷積神經(jīng)網(wǎng)絡(CNN2)的應用識別結果對比。在復雜網(wǎng)絡加密流量應用識別中,機器學習算法效率較低,部分類型識別準確率低于50%,無法滿足網(wǎng)絡管理需求,而本文改進的卷積神經(jīng)網(wǎng)絡算法識別率依然很高,對13種流量應用類型的識別率都超過86%,整體準確率達到93.4%,相比經(jīng)典卷積神經(jīng)網(wǎng)絡提高了3.5%,有效證明了本文算法對特征提取的改進能提高識別準確率,并能很好地完成對復雜網(wǎng)絡中加密流量的識別任務。
3.4模型效果分析
在算法模型上,考慮到將經(jīng)過預處理的原始數(shù)據(jù)作為輸入,本文改進了傳統(tǒng)的卷積神經(jīng)網(wǎng)絡模型。為了驗證改進模型效率,本文在相同的兩個層面實驗上分別增加卷積神經(jīng)網(wǎng)絡模型訓練迭代過程對比。
由圖1可以看出,本文改進的卷積神經(jīng)網(wǎng)絡模型(CNN1)在處理復雜網(wǎng)絡加密業(yè)務流識別問題上,因為有特征的二次提取,相比于經(jīng)典卷積神經(jīng)網(wǎng)絡(CNN2)具有更快的收斂速度,且在識別加密流應用類型方面提高了準確率,說明本文算法模型能更有效地處理復雜網(wǎng)絡業(yè)務流識別任務。
4結語
針對復雜網(wǎng)絡管理中加密業(yè)務流識別問題,本文根據(jù)自然語言處理中字、單詞、句子、文章與流量識別中字節(jié)、數(shù)據(jù)包、業(yè)務流及網(wǎng)絡流量的結構相似性,以及網(wǎng)絡通信中加密技術只對負載信息進行加密的特點,提出基于卷積神經(jīng)網(wǎng)絡的加密流量識別方法。對輸入的原數(shù)據(jù)進行預處理以減少加密信息干擾,且改進了經(jīng)典卷積神經(jīng)網(wǎng)絡模型,以增強算法對輸入數(shù)據(jù)的特征提取能力。實驗中調整了原數(shù)據(jù)集,以適應復雜網(wǎng)絡中流量大、種類雜的特點。實驗結果顯示,本文提出的識別模型能很好地適應復雜網(wǎng)絡環(huán)境,且提高了加密業(yè)務流的識別率與識別效率,為下一步復雜網(wǎng)絡中加密業(yè)務流的在線識別奠定了基礎。
參考文獻參考文獻:
[1]張洛什,王大偉,薛一波. 基于流感知的復雜網(wǎng)絡應用識別模型[J]. 通信學報,2015(3):188196.
[2]馬佳艷,王萍,夏偉,等.復雜網(wǎng)絡下的網(wǎng)絡流量預測和預警研究[J]. 計算機與現(xiàn)代化,2018(1):102106.
[3]PARK B,HONG W K,WON Y J. Toward finegrained traffic classification[J]. Communications Magazine IEEE,2011,49(7):104111.
[4]BERNAILLE L,TEIXEIRA R,AKODKENOU I,et al. Traffic classification on the fly[J]. Acm Sigcomm Computer Communication Review,2006,36(2):2326.
[5]FINSTERBUSCH M,RICHTER C,ROCHA E,et al. A survey of payloadbased traffic classification approaches[J]. IEEE Communications Surveys & Tutorials,2014,16(2):11351156.
[6]QIN T,WANG L,LIU Z,et al. Robust application identification methods for P2P and VoIP traffic classification in backbone networks[J]. KnowledgeBased Systems,2015,82(C):152162.
[7]趙博,郭虹,劉勤讓,等. 基于加權累積和檢驗的加密流量盲識別算法[J]. 軟件學報,2013(6):13341345.
[8]ALSHAMMARI R,ZINCIRHEYWOOD A N. Can encrypted traffic be identified without port numbers,IP addresses and payload inspection[J]. Computer Networks,2011,55(6):13261350.
[9]OKADA Y,ATA S,NAKAMURA N,et al. Comparisons of machine learning algorithms for application identification of encrypted traffic[C].International Conference on Machine Learning and Applications and Workshops. IEEE Computer Society,2011:358361.
[10]HE G,YANG M,LUO J,et al. A novel application classification attack against Tor[J]. Concurrency & Computation Practice & Experience,2015,27(18):56405661.
[11]LI B,MA M,JIN Z. A VoIP traffic identification scheme based on host and flow behavior analysis[J]. Journal of Network & Systems Management,2011,19(1):111129.
[12]HURLEY J,GARCIAPALACIOS E,SEZER S. Hostbased P2P flow identification and use in realtime[M]. ACM,2011.
[13]SUN G L,XUE Y,DONG Y,et al. An novel hybrid method for effectively classifying encrypted traffic[C].Global Telecommunications Conference. IEEE,2010:15.
[14]CALLADO A,KELNER J,SADOK D,et al. Better network traffic identification through the independent combination of techniques[J]. Journal of Network & Computer Applications,2010,33(4):433446.
[15]周飛燕,金林鵬,董軍.卷積神經(jīng)網(wǎng)絡研究綜述[J].計算機學報,2017,40(6):12291251.
[16]GAO L,CHEN P Y,YU S. Demonstration of convolution kernel operation on resistive crosspoint array[J]. IEEE Electron Device Letters,2016,37(7):870873.
[17]趙志宏,楊紹普,馬增強. 基于卷積神經(jīng)網(wǎng)絡LeNet5的車牌字符識別研究[J]. 系統(tǒng)仿真學報,2010,22(3):638641.
[18]HE K,ZHANG X,REN S,et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2015,37(9):19041916.
[19]GU J,WANG Z,KUEN J,et al. Recent advances in convolutional neural networks[J]. Computer Science,2015.
[20]HUANG G B,LEE H,LEARNEDMILLER E G. Learning hierarchical representations for face verification[C]. IEEE Conference on Computer Vision and Pattern Recognition,2012:25182525.
[21]潘吳斌,程光,郭曉軍,等. 網(wǎng)絡加密流量識別研究綜述及展望[J]. 通信學報,2016,37(9):154167.
[22]JOO V GOMES,PEREIRA M,MONTEIRO P P. Detection and classification of peertopeer traffic: a survey[J]. Acm Computing Surveys,2013,45(3):140.
[23]DINGLEDINE R,MATHEWSON N,SYVERSON P. Tor: the secondgeneration onion router[J]. Journal of the Franklin Institute,2004,239(2):135139.
[24]ZHANG X B,LAM S S,LEE D Y,et al. Protocol design for scalable and reliable group rekeying[J]. IEEE/ACM Transactions on Networking,2003,11(6):908922.
[25]Canadian Institute for Cybersecurity[EB/OL].http://unb.ca/cic/research/datasets/CICIDS2017.html.
責任編輯(責任編輯:黃?。?/p>