白惠文,馬雪婧,劉偉偉,劉光杰
(1. 南京理工大學(xué)自動(dòng)化學(xué)院,江蘇 南京 210094;2. 中國(guó)船舶重工集團(tuán)第八研究院,江蘇 南京 211153)
網(wǎng)絡(luò)流量分類(lèi)與識(shí)別技術(shù)是有效的網(wǎng)絡(luò)規(guī)劃、基于策略的流量管理、應(yīng)用程序先驗(yàn)化和安全控制的前提和基礎(chǔ)。近年來(lái)出現(xiàn)了一種新的混淆方式,該方式使用特殊的加密手段,隱藏自己的密鑰協(xié)商和身份認(rèn)證過(guò)程,無(wú)法獲取其協(xié)議類(lèi)型,把這種類(lèi)型的流量稱(chēng)作全程加密流量,該流量在傳輸層就可以表現(xiàn)出近乎完全隨機(jī)的字節(jié)特性,這種類(lèi)型的協(xié)議無(wú)法通過(guò)類(lèi)似于SSL的明文握手過(guò)程來(lái)進(jìn)行識(shí)別,它們的TCP數(shù)據(jù)流是全密文的形式,普通的流量識(shí)別手段無(wú)法獲取用戶(hù)的任何行為信息,甚至協(xié)議類(lèi)型都無(wú)從得知,稱(chēng)這一類(lèi)型的協(xié)議為匿名協(xié)議,針對(duì)具有這種類(lèi)型的典型應(yīng)用,即Tor、Tunsafe和Psiphon3進(jìn)行了研究,并使用深度神經(jīng)網(wǎng)絡(luò)對(duì)它們產(chǎn)生的流量類(lèi)型進(jìn)行了識(shí)別。
由于隨機(jī)端口以及全程加密的手段,傳統(tǒng)的基于端口[1-3]和深度包檢測(cè)[4-7]的方法已經(jīng)失效。ML(機(jī)器學(xué)習(xí))的方法被已經(jīng)廣發(fā)的應(yīng)用到網(wǎng)絡(luò)流量分析中,但是其準(zhǔn)確度依賴(lài)于所提取的特征,而基于深度學(xué)習(xí)的方法則不需要人為的提取特征,并且已經(jīng)被陸續(xù)應(yīng)用到加密流量的識(shí)別技術(shù)中并且取得了一定的研究成果。Aceto[8]等將許多深度學(xué)習(xí)方法與隨機(jī)森林(RF)算法進(jìn)行了比較,以顯示性能上的差距。他們使用3個(gè)帶有不同數(shù)量標(biāo)簽的移動(dòng)數(shù)據(jù)集,這些深度學(xué)習(xí)方法在兩個(gè)數(shù)據(jù)集上都優(yōu)于RF。Wang[9]提出使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型,他們將數(shù)據(jù)包中的字節(jié)進(jìn)行標(biāo)準(zhǔn)化,使用前784個(gè)字節(jié)作為輸入,并使用一個(gè)包含12種加密應(yīng)用程序的數(shù)據(jù)集對(duì)模型進(jìn)行了評(píng)估,并與使用時(shí)間和長(zhǎng)度統(tǒng)計(jì)特特征的C4.5決策樹(shù)方法作了比較,結(jié)果顯示有較為明顯的改進(jìn)。Chen等[10]使用具有2個(gè)卷積、2個(gè)池和3個(gè)全連接層的CNN模型來(lái)完成協(xié)議和應(yīng)用程序分類(lèi)任務(wù)。他們利用核希爾伯特空間(RKHS)的重生成嵌入,將早期的時(shí)間序列數(shù)據(jù)轉(zhuǎn)換為二維圖像。他們的CNN模型在協(xié)議和應(yīng)用分類(lèi)任務(wù)上優(yōu)于經(jīng)典的機(jī)器學(xué)習(xí)方法。Rezaei[11]等使用時(shí)間序列結(jié)合基于一維CNN的半監(jiān)督方法對(duì)5個(gè)應(yīng)用程序進(jìn)行分類(lèi)。他們使用帶有大量未標(biāo)記數(shù)據(jù)包的數(shù)據(jù)集進(jìn)行模型的訓(xùn)練,隨后使用該模型對(duì)帶有標(biāo)記的數(shù)據(jù)集進(jìn)行應(yīng)用程序分類(lèi),實(shí)驗(yàn)表明該模型可以應(yīng)用于高帶寬業(yè)務(wù)網(wǎng)絡(luò)。為了同時(shí)捕捉流的時(shí)空特征,Wang[12]和Lopez-Martin[13]分別使用了CNN和RNN進(jìn)行應(yīng)用的識(shí)別。除了微小的差異,兩項(xiàng)研究都將前6-30個(gè)數(shù)據(jù)包的內(nèi)容作為模型的輸入。雖然輸入特征、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和數(shù)據(jù)集是不同的,但它們都具有較高的準(zhǔn)確性。Lotfollahi[14]利用頭部和載荷數(shù)據(jù),在ISCX數(shù)據(jù)集中使用VPN和非VPN數(shù)據(jù)訓(xùn)練一維CNN和SAE模型。兩種模型都顯示出較高的精度,但CNN模型的性能略?xún)?yōu)于SAE模型。
由于以上研究成果主要集中在已知的標(biāo)準(zhǔn)加密協(xié)議或隧道中,對(duì)于傳輸層中使用了特有的協(xié)議進(jìn)行加密的流量缺乏相應(yīng)的研究工作,針對(duì)這種問(wèn)題,提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的傳輸層全程加密流量的識(shí)別方法,并與多種經(jīng)典的機(jī)器學(xué)習(xí)方法做了對(duì)比實(shí)驗(yàn),結(jié)果表明深度學(xué)習(xí)方法對(duì)于這種全程加密的流量具有較好的識(shí)別效果,該方法可以有效地對(duì)混淆為全密文的TCP流量進(jìn)行識(shí)別。
幾乎所有的加密協(xié)議都可以分為兩個(gè)主要階段:連接的初始化和加密數(shù)據(jù)的傳輸。第一階段可以進(jìn)一步劃分為初始化握手、身份驗(yàn)證和共享加密秘密。在第一階段,通常交換算法套件,驗(yàn)證通信方,并交換密鑰。然后,這些密鑰用于加密第二階段傳輸?shù)臄?shù)據(jù)。圖1描述了這種通用協(xié)議方案,比如加密網(wǎng)站最常使用的TLS協(xié)議,應(yīng)用層的加密安全協(xié)議SSH,在VPN中常用的IPsec,以及BitTorrent和Skype等應(yīng)用都具有類(lèi)似的過(guò)程。私有加密協(xié)議一般也會(huì)有這些或者部分過(guò)程,匿名協(xié)議的產(chǎn)生一般有兩種實(shí)現(xiàn)方法:1)通過(guò)加入一個(gè)混淆過(guò)程將常用加密協(xié)議(如SSL或SSH等)的初始化連接過(guò)程加密;2)使用靜態(tài)密碼省去密鑰協(xié)商過(guò)程。這里將針對(duì)基于基于混淆SSH協(xié)議的Psiphon 、基于Ofbs4的Tor、基于加密TCP的Tundafe進(jìn)行介紹。
圖1 加密協(xié)議通用過(guò)程
Psiphon產(chǎn)生的匿名流量是由混淆過(guò)的SSH協(xié)議產(chǎn)生的,它使用Obfuscated-OpenSSH加密了SSH協(xié)議加密初始化過(guò)程,使SSH流量變?yōu)槟涿髁?。Obfuscated-OpenSSH協(xié)議是著名的SSH混淆協(xié)議實(shí)現(xiàn),開(kāi)源代碼托管于網(wǎng)站github。Obfuscated-OpenSSH協(xié)議基本實(shí)現(xiàn)原理如圖2所示。
圖2 Obfuscated-OpenSSH協(xié)議實(shí)現(xiàn)原理圖
Obfuscated-OpenSSH在TCP連接建立以后,SSH連接建立以前,客戶(hù)端和服務(wù)器交互若干個(gè)負(fù)載內(nèi)容隨機(jī)的數(shù)據(jù)包,交換混淆加密參數(shù),用于推出兩端的混淆加密密鑰;然后,服務(wù)器和客戶(hù)端分別對(duì)對(duì)方身份進(jìn)行驗(yàn)證;隨后,進(jìn)行SSH協(xié)議連接建立過(guò)程,該過(guò)程使用混淆密鑰進(jìn)行加密。SSH協(xié)議數(shù)據(jù)交互階段是加密的,Obfuscated-OpenSSH增加了混淆后使得整個(gè)SSH會(huì)話(huà)是加密的,難以通過(guò)DPI的方式進(jìn)行解析分析。這種混淆方式一定程度上增加了通信的隱私效果。
Obfs4是Obfs系列的最新一代匿名插件,它仍然主要圍繞為現(xiàn)有的經(jīng)過(guò)身份驗(yàn)證的協(xié)議(如SSH或TLS)提供一層混淆來(lái)設(shè)計(jì),但obfs4嘗試提供身份驗(yàn)證和數(shù)據(jù)完整性。該協(xié)議有兩個(gè)階段:密鑰交換和加密數(shù)據(jù)傳輸。Obfs4繼承了Obfs的特點(diǎn),抹除了Tor的數(shù)據(jù)包的標(biāo)識(shí),并通過(guò)隨機(jī)橢圓加密算法對(duì)數(shù)據(jù)重新進(jìn)行了加密。由于Obfs4并未使用常見(jiàn)的加密協(xié)議而是使用了私有的加密協(xié)議,這就使得其數(shù)據(jù)包看起來(lái)像是一般的攜帶數(shù)據(jù)負(fù)載的tcp協(xié)議,這樣便給數(shù)據(jù)流過(guò)濾造成了一定的困難。同時(shí),為了彌補(bǔ)Obfs3的不足,Obfs4沿用了ScreambleSuit的可以通過(guò)在負(fù)載部分進(jìn)行隨機(jī)填充,混淆了數(shù)據(jù)包的負(fù)載和間隔時(shí)間的特征的方式;同時(shí),在數(shù)據(jù)通訊前,Obfs4進(jìn)行了多重認(rèn)證機(jī)制,一旦任何一次認(rèn)證出現(xiàn)問(wèn)題,Obfs4將立刻停止繼續(xù)通信,這種多重認(rèn)證使得其的匿名性和反探測(cè)能力得到了很大的提升。
Tunsafe是一款基于WireGuard協(xié)議的VPN應(yīng)用。WireGuard是一個(gè)非常簡(jiǎn)單但快速和現(xiàn)代的VPN協(xié)議,利用了最先進(jìn)的加密技術(shù)。它的目標(biāo)是比IPsec更快、更簡(jiǎn)單、更精簡(jiǎn)、更有用,同時(shí)避免了大量的麻煩。它目前正在進(jìn)行大量的開(kāi)發(fā),但它可能已經(jīng)被認(rèn)為是業(yè)界最安全、最容易使用和最簡(jiǎn)單的VPN解決方案。WireGuard是基于UDP協(xié)議設(shè)計(jì)的輕量級(jí)的安全VPN協(xié)議,官方并未支持TCP協(xié)議的混淆模式,但是已經(jīng)被第三方進(jìn)行開(kāi)發(fā),增加了無(wú)狀態(tài)加密TCP和TLS的混淆方式。本文針對(duì)其TCP混淆模式進(jìn)行了研究,發(fā)現(xiàn)其表現(xiàn)出了匿名協(xié)議的特性,整個(gè)會(huì)話(huà)過(guò)程不包含任何明文特征。
基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)流量識(shí)別需要借助人工分析適合的特征,特征的好壞決定了最終的識(shí)別效果。卷積神經(jīng)網(wǎng)絡(luò)識(shí)別技術(shù)繞過(guò)了特征提取,直接從訓(xùn)練數(shù)據(jù)中進(jìn)行深度學(xué)習(xí),自動(dòng)得到不同網(wǎng)絡(luò)流量的特征模型,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)流量識(shí)別的目的。為了充分利用流量中的統(tǒng)計(jì)特征,提出了一種數(shù)據(jù)包序列轉(zhuǎn)換為圖像的方法,過(guò)程如圖3所示。
圖3 數(shù)據(jù)包序列到圖像的轉(zhuǎn)換
本文設(shè)置了一個(gè)窗口,每個(gè)窗口中包含同一條流中連續(xù)的23個(gè)數(shù)據(jù)包,即可得到一個(gè)數(shù)據(jù)包序列,每個(gè)數(shù)據(jù)包序列可以表示為
Xn={x1,x2,…,xk}
(1)
其中,X表示數(shù)據(jù)包向量,x為數(shù)據(jù)包對(duì)象,k=23。用每個(gè)數(shù)據(jù)包的長(zhǎng)度、方向以及TCP的6個(gè)標(biāo)記位來(lái)代替數(shù)據(jù)包對(duì)象,則一個(gè)數(shù)據(jù)包可以表示為
xn={y1,y2,…,yk}T
(2)
其中1≤n≤23,y1…y16分別表示兩字節(jié)數(shù)據(jù)包長(zhǎng)度的每一位上面的值,y17…y23則表示方向以及數(shù)據(jù)包中TCP層的標(biāo)記位,這23個(gè)元素取值均為0或1。最終,每個(gè)窗口中的數(shù)據(jù)包可以表示為:
(3)
這樣,每個(gè)數(shù)據(jù)包序列對(duì)象就可以被表示為一個(gè)二維的向量,將這個(gè)向量的值放大255倍,轉(zhuǎn)換為一個(gè)通道數(shù)為1的圖像進(jìn)行處理,作為卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)。卷積神經(jīng)網(wǎng)絡(luò)通過(guò)局部感知和權(quán)值共享對(duì)原始流量灰度圖進(jìn)行卷積,將網(wǎng)絡(luò)流量信息的特征提取出來(lái),再用池化操作對(duì)特征值進(jìn)行降維,經(jīng)多層提取,最終抽取出對(duì)應(yīng)網(wǎng)絡(luò)流信息的多項(xiàng)抽象特征。本文卷積神經(jīng)網(wǎng)絡(luò)參考經(jīng)典的卷積網(wǎng)絡(luò)結(jié)構(gòu)LeNet構(gòu)造訓(xùn)練網(wǎng)絡(luò),各層卷積核個(gè)數(shù)分別為6,12和120,最終提取了網(wǎng)絡(luò)流量灰度圖的抽象特征,然后用多分類(lèi)Softmax分類(lèi)器實(shí)現(xiàn)網(wǎng)絡(luò)流量的歸類(lèi)。
本文構(gòu)建了一個(gè)7層的卷積神經(jīng)網(wǎng)絡(luò),如圖4所示。
圖4 卷積神經(jīng)網(wǎng)絡(luò)模型
模型由7層CNN(不包含輸入層)組成,上圖中輸入的原始圖像大小是28*28像素,卷積層用Ci表示,子采樣層(pooling,即池化)用Si表示,全連接層用Fi表示。
C1層(卷積層):6*28*28,該層使用了6個(gè)卷積核,每個(gè)卷積核的大小為5*5,每個(gè)卷積核(5*5)與原始的輸入圖像(28*28)進(jìn)行卷積,這樣就得到了6個(gè)feature map(特征圖)。由于參數(shù)(權(quán)值)共享的原因,對(duì)于同個(gè)卷積核每個(gè)神經(jīng)元均使用相同的參數(shù),因此,參數(shù)個(gè)數(shù)為(5*5+1)*6=156,其中5*5為卷積核參數(shù),1為偏置參數(shù)。卷積后的圖像大小為28*28,因此每個(gè)特征圖有28*28個(gè)神經(jīng)元,每個(gè)卷積核參數(shù)為(5*5+1)*6,該層的連接數(shù)為(5*5+1)*6*28*28=122304。
S2層(下采樣層,也稱(chēng)池化層):6*14*14,這一層主要是做池化或者特征映射(特征降維),池化單元為2*2,因此,6個(gè)特征圖的大小經(jīng)池化后即變?yōu)?4*14。S2層需要2*6=12個(gè)參數(shù)。下采樣之后的圖像大小為14*14,因此S2層的每個(gè)特征圖有14*14個(gè)神經(jīng)元,每個(gè)池化單元連接數(shù)為2*2+1(1為偏置量),因此,該層的連接數(shù)為(2*2+1)*14*14*6=5880。
C3層(卷積層):16*10*10,C3層有16個(gè)卷積核,卷積模板大小為5*5。與C1層的分析類(lèi)似,C3層的特征圖大小為(14-5+1)*(14-5+1)=10*10。此處,C3與S2并不是全連接而是部分連接,有些是C3連接到S2三層、有些四層、甚至達(dá)到6層,通過(guò)這種方式提取更多特征。C3層的參數(shù)數(shù)目為(5*5*3+1)*6+(5*5*4+1)*9+5*5*6+1=1516。卷積后的特征圖大小為10*10,參數(shù)數(shù)量為1516,因此連接數(shù)為1516*10*10=151600。
S4(下采樣層,也稱(chēng)池化層):16*5*5,池化單元大小為2*2,因此,該層與C3一樣共有16個(gè)特征圖,每個(gè)特征圖的大小為5*5。所需要參數(shù)個(gè)數(shù)為16*2=32,連接數(shù)為(2*2+1)*5*5*16=2000
C5層(卷積層),該層有120個(gè)卷積核,每個(gè)卷積核的大小仍為5*5,因此有120個(gè)特征圖。由于S4層的大小為5*5,而該層的卷積核大小也是5*5,因此特征圖大小為(5-5+1)*(5-5+1)=1*1。這樣該層就剛好變成了全連接。本層的參數(shù)數(shù)目為120*(5*5*16+1)=48120。由于該層的特征圖大小剛好為1*1,因此連接數(shù)為48120*1*1=48120。
F6層(全連接層), F6層有84個(gè)單元,該層有84個(gè)特征圖,特征圖大小與C5一樣都是1*1,與C5層全連接。參數(shù)數(shù)量為(120+1)*84=10164, 由于是全連接,連接數(shù)與參數(shù)數(shù)量一樣,也是10164。
Output層也是全連接層,共有4個(gè)節(jié)點(diǎn),代表四種類(lèi)型的流量,分別為0-背景流量(Ground,Gnd)、1-Tor、2-Psi、3-Tun流量。由于是全連接,參數(shù)個(gè)數(shù)為84*10=840,連接數(shù)與參數(shù)個(gè)數(shù)一樣,也是840。
為了評(píng)估本文提出的針對(duì)匿名協(xié)議的加密流量識(shí)別模型的準(zhǔn)確率,在實(shí)際網(wǎng)絡(luò)環(huán)境中分別使用Tor、Psiphon和Wireguard軟件產(chǎn)生實(shí)際的網(wǎng)絡(luò)流量,并使用WireShark捕獲數(shù)據(jù)包。為了符合實(shí)際網(wǎng)絡(luò)環(huán)境中的流量情況,使用大量的正常流量作為背景流量進(jìn)行實(shí)驗(yàn),數(shù)據(jù)集的情況如表1所示。
表1 匿名協(xié)議和背景流量數(shù)據(jù)集
將以8:1:1的比將數(shù)據(jù)集分為3各部分,分別為訓(xùn)練集(train set)、驗(yàn)證集(validation set)和測(cè)試集(test set)。訓(xùn)練集用于學(xué)習(xí)樣本數(shù)據(jù),通過(guò)匹配一些參數(shù)來(lái)建立一個(gè)分類(lèi)器;驗(yàn)證集用于調(diào)整分類(lèi)器的參數(shù);測(cè)試集用來(lái)測(cè)試訓(xùn)練好的模型的分辨能力(識(shí)別率等)。
使用測(cè)試集的數(shù)據(jù)一般會(huì)得到四類(lèi)結(jié)果,分別是:
1)真正類(lèi)(True Positive,TP):正確肯定的匹配數(shù)目(自身屬于類(lèi)別A被分類(lèi)成類(lèi)別A)。
2)假正類(lèi)(False Positive,F(xiàn)P):誤分,給出的匹配是不正確的(自身不屬于類(lèi)別A被分類(lèi)為類(lèi)別A)。
3)假負(fù)類(lèi)(False Negative,F(xiàn)N):漏分,沒(méi)有正確找到的匹配的數(shù)目(自身屬于類(lèi)別A卻被分類(lèi)為非類(lèi)別A)。
4)真負(fù)類(lèi)(True Negative,TN):正確拒絕的非匹配數(shù)目(自身不屬于類(lèi)別A被分類(lèi)為非類(lèi)別A)。
使用機(jī)器分類(lèi)中的一般評(píng)價(jià)指標(biāo)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)估,它們分別是:準(zhǔn)確率(Accuracy)、精確率(Precision)和查全率(Recall)。
準(zhǔn)確率代表被正確分類(lèi)的樣本占樣本總數(shù)的比例,如式(4)所示。精確率代表被正確分類(lèi)的本類(lèi)樣本占所有被分到該類(lèi)樣本數(shù)量的比例,如式(5)所示。查全率代表被正確分類(lèi)的樣本占所有應(yīng)該被正確分類(lèi)的樣本的比例,如式(6)所示
(4)
(5)
(6)
可以看出,精確率和查全率反映了分類(lèi)器性能的兩個(gè)方面,單一依靠某個(gè)指標(biāo)并不能較為全面地評(píng)估分類(lèi)器的性能。因此還需要精確率和查全率的綜合指標(biāo)F-score來(lái)評(píng)估性能,F(xiàn)-score的計(jì)算方法如式(7)所示
(7)
可以看出F-score是精確率和查全率的加權(quán)調(diào)和平均,當(dāng)F-score較高時(shí)可以說(shuō)明分類(lèi)性能較好。取參數(shù)β=1,即認(rèn)為精確率和查全率同等重要。
設(shè)置步長(zhǎng)為16,即每次取出訓(xùn)練集中的16組數(shù)據(jù)并將順序進(jìn)行置亂,然后進(jìn)行模型參數(shù)的訓(xùn)練,迭代200次以后,使用驗(yàn)證集的全部數(shù)據(jù)對(duì)得到的模型進(jìn)行驗(yàn)證,隨著迭代次數(shù)的不斷增加,模型的準(zhǔn)確率會(huì)不斷增加并趨于穩(wěn)定,同時(shí),交叉熵?fù)p失(Loss,用來(lái)表示目標(biāo)與預(yù)測(cè)值之間的差距)會(huì)逐漸變小并趨于穩(wěn)定。為了得到最優(yōu)的模型,將迭代次數(shù)設(shè)置為10000。訓(xùn)練過(guò)程的模型Loss值和Accuracy的變化過(guò)程如圖4所示。
最終,使用訓(xùn)練過(guò)程得到的最優(yōu)模型對(duì)測(cè)試集進(jìn)行分類(lèi),得到圖7所示的混淆矩陣。
圖6 混淆矩陣
使用混淆矩陣可以計(jì)算得到如圖7所示的各項(xiàng)評(píng)價(jià)指標(biāo)。
圖7 模型性能評(píng)估
其中,模型對(duì)于Wgd的識(shí)別效果最好,準(zhǔn)確率達(dá)到了99.63%,F(xiàn)-score為98.87%,精確率和召回率分別為99.59%和98.16%;對(duì)于Psi,識(shí)別準(zhǔn)確率為99.27%,F(xiàn)-score為95.42%,精確率和召回率分別為97.10%和93.80%;對(duì)于Tor,準(zhǔn)確率為96.82%,F(xiàn)-score為89.11%,精確率和召回率分別為87.15%和91.17%,各項(xiàng)指標(biāo)在三種流量中是最差的,說(shuō)明Tor在背景流量中更不容易被識(shí)別出來(lái)。模型的總體準(zhǔn)確率使用式(8)進(jìn)行計(jì)算,最終得到總體的準(zhǔn)確率為96.16%。
(8)
為了充分體現(xiàn)本文所提使用卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)越性,同樣以23為窗口,提取了窗口內(nèi)數(shù)據(jù)包的統(tǒng)計(jì)特征(如表3所示),利用決策樹(shù)、SVM和隨機(jī)森林的機(jī)器學(xué)習(xí)方法與本文得到的結(jié)果進(jìn)行對(duì)比。
表2 統(tǒng)計(jì)特征
表3所示為各種識(shí)別方法的平均評(píng)價(jià)指標(biāo),從對(duì)比實(shí)驗(yàn)的結(jié)果可以看出,本文提出的將數(shù)據(jù)包序列轉(zhuǎn)換為序列,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)的方法,對(duì)匿名協(xié)議的加密流量具有很好的識(shí)別效果。無(wú)論從準(zhǔn)確率,還是漏檢率和誤檢率,性能都要優(yōu)于普通的機(jī)器學(xué)習(xí)方法的檢測(cè)結(jié)果。
表3 對(duì)比實(shí)驗(yàn)結(jié)果
本文針對(duì)網(wǎng)絡(luò)中的特殊加密流量——基于匿名協(xié)議的加密流量進(jìn)行檢測(cè)和識(shí)別,首先提出一種將數(shù)據(jù)包序列轉(zhuǎn)為圖像的方法,并利用卷積神經(jīng)網(wǎng)絡(luò)在圖像識(shí)別方面的優(yōu)勢(shì),自動(dòng)提取窗口中數(shù)據(jù)包的特征,并進(jìn)行模型的訓(xùn)練。經(jīng)過(guò)實(shí)驗(yàn)證明,這種方法可以有效地從大的背景流量中有效的檢測(cè)出匿名協(xié)議的加密流量。本文在較為理想的情況下討論了在一個(gè)固定窗口中對(duì)流量進(jìn)行檢測(cè)的方法,但在真實(shí)環(huán)境中存在數(shù)據(jù)包缺失、亂序、單向數(shù)據(jù)流等多種復(fù)雜環(huán)境,窗口機(jī)制可能效果會(huì)有所下降,后續(xù)的工作將以單個(gè)數(shù)據(jù)包為單位進(jìn)行加密流量的分析。