冷 濤
(1.四川警察學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系,四川 瀘州 646000;2.刑事檢驗(yàn)四川省高校重點(diǎn)實(shí)驗(yàn)室(四川警察學(xué)院),四川 瀘州 646000)
網(wǎng)絡(luò)流量識(shí)別和分類是網(wǎng)絡(luò)行為分析、異常檢測(cè)等領(lǐng)域研究的重點(diǎn)[1]。為保護(hù)用戶數(shù)據(jù)隱私,互聯(lián)網(wǎng)上的很多流量被加密。以往基于深度包檢測(cè)、機(jī)器學(xué)習(xí)的方法在面對(duì)加密流量時(shí),準(zhǔn)確率大幅下降,網(wǎng)絡(luò)流量負(fù)載內(nèi)容被加密后,無(wú)法通過(guò)解析包的內(nèi)容進(jìn)行分析。深度學(xué)習(xí)采用端到端學(xué)習(xí)技術(shù),可自動(dòng)提取特征,并且網(wǎng)絡(luò)流可視為圖片從而采用卷積神經(jīng)網(wǎng)絡(luò)算法,也可將網(wǎng)絡(luò)流視為字節(jié)序列從而采用遞歸神經(jīng)網(wǎng)絡(luò)算法。近年來(lái)學(xué)者們探索利用深度學(xué)習(xí)自動(dòng)提取流量特征與分類加密流量取得大量的研究成果。本文主要的研究工作如下:1)結(jié)合流量來(lái)源和目標(biāo)進(jìn)行分類;2)綜述數(shù)據(jù)處理的多種技術(shù),包含數(shù)據(jù)預(yù)處理、數(shù)據(jù)集不平衡處理、數(shù)據(jù)標(biāo)簽的處理等問(wèn)題;3)總結(jié)基于深度學(xué)習(xí)的加密流量分類模型,對(duì)比各類網(wǎng)絡(luò)結(jié)構(gòu);4)簡(jiǎn)述評(píng)估方案和發(fā)展方向。
為了保護(hù)個(gè)人隱私,越來(lái)越多的網(wǎng)絡(luò)應(yīng)用采用加密協(xié)議進(jìn)行傳輸,這給網(wǎng)絡(luò)流量的分類帶來(lái)挑戰(zhàn)。本章主要對(duì)加密流量的定義、加密流量的分類進(jìn)行介紹。
根據(jù)ISO協(xié)議層的不同,流量加密分為應(yīng)用層加密、傳輸層加密、網(wǎng)絡(luò)層加密和網(wǎng)絡(luò)接口層加密。應(yīng)用層加密是網(wǎng)絡(luò)應(yīng)用實(shí)現(xiàn)專用的加密傳輸協(xié)議,例如SSH、Skype。傳輸層加密以TLS為代表,網(wǎng)絡(luò)層加密采用IPSec,傳輸層和網(wǎng)絡(luò)層加密都會(huì)對(duì)其上層所有數(shù)據(jù)進(jìn)行加密,網(wǎng)絡(luò)接口層加密如L2TP,VPN隧道技術(shù)就采用了上述加密技術(shù)[2-3]。
產(chǎn)生加密流量的終端主要有電腦、手機(jī)、物聯(lián)網(wǎng)設(shè)備等。當(dāng)前學(xué)術(shù)界針對(duì)加密流量的分類研究,主要有常規(guī)加密流量識(shí)別與分類(判斷流量是否加密;識(shí)別加密協(xié)議;識(shí)別常規(guī)流量、VPN、Tor流量[4]等);網(wǎng)站應(yīng)用程序分類(服務(wù)類型,如視頻服務(wù)、瀏覽網(wǎng)頁(yè)、下載文件;網(wǎng)站指紋,訪問(wèn)不同的網(wǎng)站;細(xì)粒度網(wǎng)頁(yè)指紋分類等);移動(dòng)應(yīng)用程序分類(App分類;用戶行為分類;用戶身份識(shí)別,如移動(dòng)電話、應(yīng)用賬戶、郵箱用戶等信息);惡意流量檢測(cè)(二分類識(shí)別惡意流量、多分類識(shí)別惡意流量類型);IoT流量分類(智能設(shè)備識(shí)別,識(shí)別iPhone、iPad、TV Box的流量;惡意流量檢測(cè)),如圖1所示。
圖1 加密流量分類
隨著加密流量分類研究的深入發(fā)展,目前及未來(lái)一段時(shí)間主要聚焦網(wǎng)站指紋識(shí)別[5-7]、更細(xì)粒度的網(wǎng)頁(yè)指紋識(shí)別[8]、APP應(yīng)用識(shí)別[9-12]、IoT設(shè)備識(shí)別與異常監(jiān)控[13-15]、惡意流量檢測(cè)[16-19]。特別是基于商業(yè)用戶推薦的網(wǎng)頁(yè)指紋識(shí)別、在網(wǎng)絡(luò)安全監(jiān)控中的APP應(yīng)用識(shí)別和用戶身份分析、APT攻擊惡意流量、IoT設(shè)備異常流量檢測(cè)等,以及以隱私保護(hù)為目的,對(duì)抗加密流量分類分析、逃逸深度學(xué)習(xí)模型檢測(cè)的研究將是未來(lái)的研究重點(diǎn)。
本章主要介紹數(shù)據(jù)集來(lái)源、預(yù)處理技術(shù)、不平衡數(shù)據(jù)集的處理,以及半監(jiān)督和無(wú)監(jiān)督學(xué)習(xí)在未知標(biāo)簽的應(yīng)用。
2.1.1 開(kāi)源數(shù)據(jù)集
PC端網(wǎng)絡(luò)流量分類中常采用的數(shù)據(jù)集有ISCX-VPN2016、ISCX2012、UNSW-NB15。其中ISCX-VPN2016共有14種流量類別,常用于VPN流量識(shí)別以及VPN和non-VPN的流量細(xì)分類等。ISCX2012數(shù)據(jù)集是目前使用比較廣泛的入侵檢測(cè)數(shù)據(jù)集,包含正常流量(SSH)和4種攻擊流量(DDOS、HttpDos、Infiltrating、Brute Force),攻擊形式貼近實(shí)際情況,并且攻擊流量的比例(約2.8%)符合實(shí)際情況中的統(tǒng)計(jì)結(jié)果[20]。UNSW-NB15由澳大利亞中心網(wǎng)絡(luò)范圍實(shí)驗(yàn)室的IXIAPer-fectStorm工具生成。該數(shù)據(jù)集由100 GB原始網(wǎng)絡(luò)流量組成。數(shù)據(jù)集的訓(xùn)練部分包括175,341條記錄,而測(cè)試集涉及82,332條記錄。訓(xùn)練集和測(cè)試集均由攻擊類型和正常記錄組成,涉及Backdoors、DoS、Exploits等9種攻擊類型[21]。N-BaIOT和Alaiz-Moteton.H是IoT環(huán)境的網(wǎng)絡(luò)流量數(shù)據(jù)集。N-BaIOT是從9個(gè)IoT設(shè)備收集的實(shí)時(shí)流量數(shù)據(jù),用于檢測(cè)物聯(lián)網(wǎng)僵尸網(wǎng)絡(luò)攻擊。Alaiz-Moteton.H創(chuàng)建了一個(gè)針對(duì)IoT系統(tǒng)的攻擊數(shù)據(jù)集,包括DoS、MitM、Intrusion這3種攻擊[22]。移動(dòng)平臺(tái)的流量數(shù)據(jù)集中,Andrubis包含103萬(wàn)個(gè)Android APP的帶標(biāo)注的流量數(shù)據(jù),可用于惡意APP分類和檢測(cè)。
2.1.2 直接收集法
直接收集法利用Wireshark、Tcpdump、Sniffer等抓包工具進(jìn)行實(shí)網(wǎng)流量抓包用于驗(yàn)證模型。移動(dòng)端常用抓包工具有tPack-etCapture,可生成pcap形式的數(shù)據(jù)包,但該工具采用VPN形式抓包,因此不能捕獲利用VPN上網(wǎng)的APP數(shù)據(jù)包,如果要獲取APP通過(guò)VPN上網(wǎng)的流量包,可在同一網(wǎng)段采用Wireshark監(jiān)聽(tīng)抓包。
2.1.3 腳本生成法
模擬攻擊流量常利用腳本或虛擬網(wǎng)絡(luò)產(chǎn)生,如模擬APT攻擊、IOT攻擊、內(nèi)網(wǎng)滲透等攻擊流量。
2.1.4 混合生成法
混合生成法常利用開(kāi)源數(shù)據(jù)集,或?qū)㈤_(kāi)源數(shù)據(jù)集與個(gè)人實(shí)驗(yàn)捕獲數(shù)據(jù)集進(jìn)行組合。王偉[20]基于已有CTU數(shù)據(jù)集中選取的10種惡意流量和使用IXIABPS設(shè)備新采集的10種正常流量構(gòu)建了USTC-TFC2016數(shù)據(jù)集,數(shù)據(jù)格式為pcap,總大小為3.71 GB。
網(wǎng)絡(luò)流量按流、會(huì)話、服務(wù)、主機(jī)等進(jìn)行切分,主要包括基于特征分類算法的數(shù)據(jù)預(yù)處理和基于源數(shù)據(jù)分類算法的數(shù)據(jù)預(yù)處理。
2.2.1 基于特征分類算法的數(shù)據(jù)預(yù)處理
Lopez-Martin等[23]提取了每個(gè)包的源端口、目的端口、包方向、字節(jié)負(fù)載、內(nèi)部時(shí)間、窗口大小,每條流選擇前20個(gè)包進(jìn)行特征提取。
常見(jiàn)特征提取包括基本特征、統(tǒng)計(jì)特征、時(shí)間序列特征?;咎卣靼炊丝?、目的端口、源IP、目的IP、協(xié)議、協(xié)議版本號(hào)、加密算法、證書(shū)有效性、證書(shū)自簽名等信息。統(tǒng)計(jì)特征包含源包數(shù)、源字節(jié)數(shù)、目的包數(shù)、目的字節(jié)數(shù)、包長(zhǎng)、包的長(zhǎng)度等信息。時(shí)間序列特征包括包持續(xù)時(shí)間、到達(dá)時(shí)間、流持續(xù)時(shí)間、流到達(dá)時(shí)間等。還有基于原始特征生成的新特征。
2.2.2 基于源數(shù)據(jù)分類算法的數(shù)據(jù)預(yù)處理
采用原始流量數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行截?cái)嗷蜓a(bǔ)0處理,經(jīng)歸一化后送入神經(jīng)網(wǎng)絡(luò)模型進(jìn)行學(xué)習(xí)。一般對(duì)原始數(shù)據(jù)按流分,每條流選擇前m個(gè)包,每個(gè)包選取前n個(gè)字節(jié),有的以每個(gè)數(shù)據(jù)包前n個(gè)字節(jié)作為樣本輸入(向量、矩陣、張量)[24],也有根據(jù)一條流的前m個(gè)包和n個(gè)字節(jié)構(gòu)造成矩陣[25],經(jīng)歸一化預(yù)處理后送入模型訓(xùn)練。
2.3.1 欠采樣
欠采樣主要有隨機(jī)欠采樣、EasyEnsemble和BalanceCascade、NearMiss等。隨機(jī)欠采樣是從多數(shù)類樣本中隨機(jī)選取一些剔除掉,這種方法可能使得被剔除的樣本包含一些重要信息,導(dǎo)致學(xué)習(xí)出來(lái)的模型效果不佳。EasyEnsemble和BalanceCascade采用集成學(xué)習(xí)機(jī)制規(guī)避信息丟失問(wèn)題。NearMiss采用啟發(fā)式的規(guī)則從多數(shù)類樣本中選取最具代表性的樣本用于訓(xùn)練以緩解信息丟失問(wèn)題。還有采用Tomek Link的數(shù)據(jù)清洗技術(shù)通過(guò)清洗重疊的數(shù)據(jù)來(lái)完成欠采樣。
2.3.2 過(guò)采樣
過(guò)采樣是通過(guò)增加一些正例使得正、反例數(shù)目均衡,主要包括隨機(jī)過(guò)采樣、SMOTE、Borderline SMOTE、ADASYN這4種方法。隨機(jī)過(guò)采樣是從樣本少的類別中隨機(jī)抽樣添加到數(shù)據(jù)集中,但會(huì)導(dǎo)致過(guò)擬合。SMOTE采用在少數(shù)類樣本之間進(jìn)行插值來(lái)產(chǎn)生額外的樣本達(dá)到樣本均衡。Borderline SMOTE只對(duì)那些靠近“邊界”的少數(shù)類樣本進(jìn)行人工合成樣本,比SMOTE算法生成的樣本質(zhì)量更高。ADASYN為自適應(yīng)合成抽樣,采用某種機(jī)制自動(dòng)決定每個(gè)少數(shù)類樣本需要產(chǎn)生多少合成樣本,而不像SMOTE那樣對(duì)每個(gè)少數(shù)類樣本合成同數(shù)量的樣本。還有結(jié)合欠采樣和過(guò)采樣生成樣本,如使用SMOTE結(jié)合Tomek Links對(duì)數(shù)據(jù)過(guò)采樣,雖然這些技術(shù)直接改變了每個(gè)樣本的數(shù)量,但并不總是有助于生成一個(gè)平衡的語(yǔ)料庫(kù),因?yàn)檫x定的樣本可能包含太多獨(dú)特的詞或很少的詞。Kamarudin等[26]使用混合特征選擇,選取具有更大區(qū)分能力的特征來(lái)強(qiáng)化少數(shù)類所起到的作用。Mimura[27]從惡意和良性單詞中計(jì)算單詞重要性分?jǐn)?shù),并提取前N個(gè)重要單詞來(lái)總結(jié)語(yǔ)料庫(kù),有效地緩解了類不平衡問(wèn)題。
2.3.3 生成對(duì)抗網(wǎng)絡(luò)
Generative Adversarial Network(GAN)是無(wú)監(jiān)督學(xué)習(xí)模型,它通過(guò)生成器與判別器的對(duì)抗訓(xùn)練過(guò)程,依據(jù)真實(shí)的數(shù)據(jù)分布,生成人造數(shù)據(jù)。針對(duì)數(shù)據(jù)集不平衡的問(wèn)題,Wang等[28]采用條件生成對(duì)抗網(wǎng)絡(luò)(PacketGAN)控制生成的數(shù)據(jù)模式,以應(yīng)用程序類型的輸入條件來(lái)生成指定的樣本,從而實(shí)現(xiàn)數(shù)據(jù)平衡,并在公共數(shù)據(jù)集上對(duì)比了隨機(jī)過(guò)采樣(ROS)、SMOTE、vanilla GAN和PacketCGAN這4種方法,表明了PacketCGAN的優(yōu)勢(shì)。Vu等[29]提出了AC-GAN,實(shí)驗(yàn)表明該方法具有較好的效能。
Rezaei等[30]提出了一種半監(jiān)督的方法,避免了對(duì)大型數(shù)據(jù)集進(jìn)行標(biāo)記。首先在一個(gè)大的未標(biāo)記數(shù)據(jù)集上預(yù)訓(xùn)練模型,其中輸入是一些抽樣數(shù)據(jù)包的時(shí)間序列特征。然后將已學(xué)習(xí)的權(quán)重轉(zhuǎn)移到一個(gè)新模型上,該模型在一個(gè)小的標(biāo)記數(shù)據(jù)集上進(jìn)行重新訓(xùn)練,證明半監(jiān)督方法實(shí)現(xiàn)了和全監(jiān)督方法相同的準(zhǔn)確率,盡管每個(gè)類只使用20個(gè)樣本,在基于QUIC協(xié)議生成的數(shù)據(jù)集上獲得98%的準(zhǔn)確率。為了驗(yàn)證它的有效性,研究者還測(cè)試了2個(gè)公共數(shù)據(jù)集,并表明了從流的任意部分足以進(jìn)行分類。
雖然針對(duì)網(wǎng)絡(luò)流量分類做了很多研究,但開(kāi)源數(shù)據(jù)集較少,新的應(yīng)用和攻擊不斷出現(xiàn),不同類型的數(shù)據(jù)集的構(gòu)建值得深入研究,樣本不平衡的問(wèn)題始終存在,雖然嘗試采用欠采樣、過(guò)采樣、GAN等方法,依然沒(méi)有最優(yōu)方案。數(shù)據(jù)的預(yù)處理方案中,多采用前m條流,每條流的前n個(gè)包,或?qū)⒚織l數(shù)據(jù)包處理為不同表示形式,其信息表達(dá)準(zhǔn)確率依然值得探索。
基于深度學(xué)習(xí)的加密流量的分類檢測(cè)研究在近幾年成為研究熱點(diǎn),主要采取基于數(shù)據(jù)特征的深度學(xué)習(xí)檢測(cè)算法和基于特征自學(xué)習(xí)的深度學(xué)習(xí)檢測(cè)算法?;跀?shù)據(jù)特征的深度學(xué)習(xí)檢測(cè)算法,首先對(duì)源數(shù)據(jù)進(jìn)行處理、提取和總結(jié)特征。Dong等[31]提出了基于流量分析和統(tǒng)計(jì)特征的綜合分析方法,并在ISCXVPN2016數(shù)據(jù)集上做了測(cè)試,可以同時(shí)實(shí)現(xiàn)高精度和魯棒的泛化性能?;谔卣髯詫W(xué)習(xí)的深度學(xué)習(xí)檢測(cè)算法,則是直接將原始流量經(jīng)過(guò)預(yù)處理后輸入模型,通過(guò)模型自動(dòng)學(xué)習(xí)特征的方法。深度學(xué)習(xí)模型主要采用MLP、1D-CNN、2D-CNN、ResNet、InceptionCNN、LSTM、GRU、AE(SAE、VAE、DAE)等模型及其模型的綜合利用。表1列出了近幾年文獻(xiàn)中較多采用的深度學(xué)習(xí)模型[9,23,28-29,31-44]。
表1 加密流量分類神經(jīng)網(wǎng)絡(luò)模型表
2015年,Wang[36]第一次嘗試將深度學(xué)習(xí)用于流量分類,他使用了MLP模型(在該文中稱為ANN模型),該模型被用于流量協(xié)議分類,實(shí)驗(yàn)結(jié)果顯示,精度和召回率都在90%以上,可識(shí)別出25種協(xié)議類型。Wang[28]基于PacketCGAN解決樣本不平衡問(wèn)題,并在公共數(shù)據(jù)集上分別利用CNN、MLP、SAE這3種深度學(xué)習(xí)方法進(jìn)行測(cè)試[45]。
3.2.1 1D-CNN
Lotfollahi等[43]提出1D-CNN和EAV框架,將原始數(shù)據(jù)包長(zhǎng)度修剪為相同大小,然后除以255進(jìn)行歸一化,輸入EAV進(jìn)行分類,得到召回率為98%。Rezaei等[30]提出了一種半監(jiān)督檢測(cè)模型,首先在大型未標(biāo)記數(shù)據(jù)集上訓(xùn)練,然后使用少量標(biāo)記數(shù)據(jù)集重新訓(xùn)練模型。模型采用1D-CNN進(jìn)行分類,取得較高的精度,但這種方法除需要標(biāo)記數(shù)據(jù)外,還要考慮數(shù)據(jù)集成的問(wèn)題,即原始數(shù)據(jù)集與標(biāo)記數(shù)據(jù)集之間匹配的問(wèn)題。不同數(shù)據(jù)集特征不盡相同,可能導(dǎo)致模型精度降低。所以,模型的不可移植影響了此類方法在實(shí)際檢測(cè)中的應(yīng)用。
3.2.2 2D-CNN
Wang等[41]采用基于一維CNN的端到端的加密流量分類方法,將流量數(shù)據(jù)截為784 Byte的等長(zhǎng)數(shù)據(jù),輸入CNN進(jìn)行分類,實(shí)驗(yàn)表明采用1D-CNN效果好于2D-CNN。
3.2.3 3D-CNN
Zhang等[24]提出了3D-CNN的加密流量分類方法,并對(duì)比1D-CNN和2D-CNN的分類效果。在1D-CNN中使用數(shù)據(jù)包的前1456 Byte,處理為1×1456的向量。2D-CNN中,將一維數(shù)據(jù)包向量重置為39×39,視為灰度圖。3D-CNN將一維數(shù)據(jù)包向量重置為22×22×3的張量。作者對(duì)比了MLP和這3種方法在處理已知流量和未知流量分類的效果。
3.2.4 Inception-CNN
薛文龍等[37]首次提出了一種基于特征融合的輕量級(jí)網(wǎng)絡(luò)模型Inception-CNN,用于端到端加密流量的分類,在顯著提高分類結(jié)果準(zhǔn)確性的同時(shí),大大降低了網(wǎng)絡(luò)計(jì)算復(fù)雜度。
3.2.5 Resnet
Lim等[46]將ResNet用于流量分類,取得了很好的效果。范聶霏[38]受到此啟發(fā),使用更復(fù)雜的WideResnet提取流量數(shù)據(jù)集中更抽象的特征,以進(jìn)一步提高分類準(zhǔn)確率。
3.2.6 CapsNet
Cui等[35]使用膠囊神經(jīng)網(wǎng)絡(luò)(CapsNet)建立功能模型,引入了兩次細(xì)分機(jī)制,以稀釋干擾流量并增加有效流量的權(quán)重。然后使用CapsNet自主學(xué)習(xí)加密流量的空間特征,并通過(guò)Softmax分類器輸出加密流量分類的結(jié)果,在ISCX VPN-nonVPN數(shù)據(jù)集上評(píng)估加密流量分類模型。實(shí)驗(yàn)結(jié)果表明其性能優(yōu)于最新的加密流量分類方法。
CNN對(duì)二維圖像具有出色的學(xué)習(xí)能力,而RNN對(duì)文本序列數(shù)據(jù)具有優(yōu)秀的學(xué)習(xí)能力。RNN的變種包括LSTM、GRU。Lopez-Martin等[23]提出了一種基于時(shí)間序列流特征分類方法,主要利用數(shù)據(jù)包層級(jí)的功能,例如源端口和目標(biāo)端口、有效載荷字節(jié)、TCP窗口大小、數(shù)據(jù)包到達(dá)時(shí)間和數(shù)據(jù)包方向等特征,再利用LSTM進(jìn)行訓(xùn)練。Hasibi等[47]提出了一種新的基于LSTM的數(shù)據(jù)增強(qiáng)方法來(lái)生成流量的流模式,以此改善不平衡的問(wèn)題。Liu等[33]提出GRU+Autoencoder的方法。
Auto-Encoder(AE)是一種無(wú)監(jiān)督學(xué)習(xí)算法,通過(guò)這種方法實(shí)現(xiàn)無(wú)標(biāo)簽特征的自動(dòng)學(xué)習(xí),常用于降維和特征提取。AE作為一種基本架構(gòu),擁有多種變體,例如SAE(Stacked Auto-Encoder)、Variational Auto-Encoder(VAE)、Denoizing Auto-Encoder(DAE)。Wang[36]指出了流量識(shí)別的關(guān)鍵在于尋找到流量數(shù)據(jù)中的關(guān)鍵特征,并結(jié)合神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)提出了一種SAE架構(gòu),可以自動(dòng)對(duì)數(shù)據(jù)流量進(jìn)行分類。在實(shí)驗(yàn)中還分別檢測(cè)了有效載荷中對(duì)分類最有用的前25 Byte、前100 Byte和最無(wú)用的300 Byte都做了實(shí)驗(yàn)比對(duì),結(jié)果表明可以減少在識(shí)別分類時(shí)對(duì)有效載荷的使用。和其他AE相比,VAE學(xué)習(xí)的潛在特征服從概率分布,而不是特定的值。因此,它可以減少參數(shù)的約束,提高容錯(cuò)能力。Li等[48]通過(guò)兩階段學(xué)習(xí)來(lái)識(shí)別流量,包括無(wú)監(jiān)督特征提取和監(jiān)督類別映射。在第一階段,VAE從大量的未標(biāo)記樣本中提取潛在特征,并將這些特征映射到小尺度的標(biāo)記樣本中,實(shí)驗(yàn)表明該方法具有良好的性能。DAE在計(jì)算損失函數(shù)時(shí),將輸出值與原始輸入進(jìn)行比較,而不是與損壞的輸入進(jìn)行比較,但DAE用于流量檢測(cè)的文章很少,有一些工作將DAE用于IDS和網(wǎng)絡(luò)異常檢測(cè)中[49-50]。
Zeng等[51]提出一種DFR模型,按照900 Byte將原始數(shù)據(jù)切片,轉(zhuǎn)換為30×30的二維數(shù)據(jù)。而后使用CNN、LSTM、SAE三層結(jié)構(gòu)進(jìn)行流量識(shí)別。實(shí)驗(yàn)結(jié)果表明,該方法在F1分?jǐn)?shù)上平均超越現(xiàn)有先進(jìn)方法的12.15%。Liu等[33]提出的FS-Net采用了多層編碼器-解碼器結(jié)構(gòu),可以深入挖掘流的潛在順序特征,并導(dǎo)入可以增強(qiáng)特征有效性的重構(gòu)機(jī)制。在18個(gè)應(yīng)用程序的真實(shí)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)表明,F(xiàn)S-Net具有出色的性能(TPR=99.14%,F(xiàn)PR=0.05%)。
Zhao等[25]提出了一種基于原型(Prototype-based)的惡意流量分類系統(tǒng)。該系統(tǒng)的優(yōu)點(diǎn)是能夠檢測(cè)出在訓(xùn)練過(guò)程中未出現(xiàn)過(guò)的類別,并且提出了一個(gè)新的目標(biāo)函數(shù),該目標(biāo)函數(shù)可以使得類內(nèi)距離更短,類間區(qū)分更明顯。從實(shí)驗(yàn)也可以看出,該系統(tǒng)不但比已有的檢測(cè)系統(tǒng)取得更高的準(zhǔn)確度,而且還能識(shí)別出未在訓(xùn)練階段中出現(xiàn)的新的類別。作者定義了一個(gè)基于交叉熵的距離函數(shù),還有一個(gè)度量正規(guī)化函數(shù),該函數(shù)可以使得CNN的網(wǎng)絡(luò)模型中的特征區(qū)分度更加明顯,即類之間的距離更明顯,類內(nèi)部之間距離更短。
Shen等[9]提出了一種稱為“流量交互圖(TIG)”的圖結(jié)構(gòu),基于GNN分類器,識(shí)別去中心化應(yīng)用程序(DApp)。該文采用圖來(lái)表征流量交互特征,將流量按流劃分,每條流包含一系列數(shù)據(jù)包,每個(gè)包以五元組(源/目的IP,源/目的端口,協(xié)議)表示。從用戶角度看,將上行流數(shù)據(jù)包長(zhǎng)度設(shè)為負(fù)數(shù),將下行流數(shù)據(jù)包長(zhǎng)度設(shè)為正數(shù)。圖2中灰色表示握手階段,白色塊表示記錄傳輸。
圖2 DApp包級(jí)別客戶端-服務(wù)器交互[9]
TIG中對(duì)應(yīng)的每個(gè)頂點(diǎn)表示流中的一個(gè)數(shù)據(jù)包,每個(gè)頂點(diǎn)為帶符號(hào)的值。邊的連接分2種情況:一種是同一上行或下行流中數(shù)據(jù)包的傳送,如(-118,-140,-330)為客戶端發(fā)送到服務(wù)器的3個(gè)數(shù)據(jù)包,以2條邊連接;另一種邊是上行和下行交互,從開(kāi)始到結(jié)束,分別連接邊,如(-571,1514)和(-571,1142),如圖3所示。
圖3 流量交互圖[9]
基于深度學(xué)習(xí)的加密流量檢測(cè)模型主要根據(jù)數(shù)據(jù)預(yù)處理特征進(jìn)行分類,有基于預(yù)處理為圖片的CNN模型及其變種,也有基于序列的RNN模型及其變種2大類別,還包括兩者在不同階段的結(jié)合等。其中,數(shù)據(jù)切片取多少字節(jié)合適并沒(méi)有依據(jù),只是憑經(jīng)驗(yàn)取舍;切片數(shù)據(jù)長(zhǎng)度不能太長(zhǎng),切片過(guò)長(zhǎng)可能影響計(jì)算性能,進(jìn)而影響訓(xùn)練的效率;訓(xùn)練過(guò)程可解釋性相對(duì)較低,訓(xùn)練比較困難,容易引起檢測(cè)性能不穩(wěn)定。此外探索圖結(jié)構(gòu)表示流量特征是一種新的嘗試。模型和損失函數(shù)的優(yōu)化還有空間,實(shí)時(shí)處理的準(zhǔn)確率和性能值得進(jìn)一步研究。
實(shí)驗(yàn)評(píng)估主要考慮準(zhǔn)確性、查準(zhǔn)率、查全率、F1值、AUC、ROC等指標(biāo)。查準(zhǔn)率和查全率體現(xiàn)識(shí)別效果。針對(duì)樣本類別分布不均勻時(shí),查全率和查準(zhǔn)率可以獲知每個(gè)類別的分類情況。準(zhǔn)確率反映總體識(shí)別性能。F1是綜合查準(zhǔn)率和查全率得到的評(píng)價(jià)指標(biāo),F(xiàn)1值越高表明算法在各個(gè)類型的分類性能越好。表2對(duì)比了針對(duì)ISCX-VPN2016數(shù)據(jù)集的相關(guān)深度學(xué)習(xí)模型的準(zhǔn)確率、召回率和F1值。
表2 ISCX VPN-nonVPN分類對(duì)比[35]
性能指標(biāo)方面考慮實(shí)時(shí)性、計(jì)算復(fù)雜度、處理速度、帶寬、運(yùn)行時(shí)間等。實(shí)時(shí)性指在線、快速識(shí)別的能力,為了及時(shí)識(shí)別加密流量,可以只提取部分?jǐn)?shù)據(jù)包的特征就能識(shí)別。計(jì)算復(fù)雜度反映耗費(fèi)的存儲(chǔ)空間和計(jì)算能力。表3反映了Zhang等[24]基于ISCX VPN-nonVPN數(shù)據(jù)集在利用MLP、1D-CNN、2D-CNN、3D-CNN共4種模型在面對(duì)3種場(chǎng)景下針對(duì)已知流量和未知流量分類的結(jié)果和性能。
表3 ISCX VPN-nonVPN性能評(píng)估[24]
由于缺乏公開(kāi)可信的數(shù)據(jù)集,大多數(shù)研究人員根據(jù)需要收集數(shù)據(jù),這導(dǎo)致了大量的繁瑣和重復(fù)性工作,特別是在應(yīng)用程序識(shí)別中,不同的應(yīng)用程序執(zhí)行不同的操作,在不同版本的不同設(shè)備上會(huì)有所不同,但研究人員通常會(huì)在特定的設(shè)備和應(yīng)用程序版本中進(jìn)行實(shí)驗(yàn)。因此,有必要開(kāi)發(fā)一種自動(dòng)化的數(shù)據(jù)集收集器/生成器,這是后續(xù)分析的基礎(chǔ)。隨著網(wǎng)絡(luò)用戶和傳輸速率的增加,網(wǎng)絡(luò)實(shí)時(shí)業(yè)務(wù)規(guī)模不斷擴(kuò)大,如何有效地識(shí)別和實(shí)時(shí)監(jiān)控流量已成為研究的難點(diǎn)之一。為滿足流量分析和網(wǎng)絡(luò)管理的需要,需要對(duì)加密網(wǎng)絡(luò)應(yīng)用和自主定義的協(xié)議進(jìn)行精細(xì)化識(shí)別。此外,針對(duì)網(wǎng)絡(luò)攻擊者利用加密混淆技術(shù)繞過(guò)入侵檢測(cè)系統(tǒng)等情況,需要研究如何準(zhǔn)確及時(shí)地在加密流量中發(fā)現(xiàn)異常與攻擊。傳統(tǒng)僅通過(guò)IP地址定位用戶已不能滿足需求,利用流量識(shí)別特定用戶具有現(xiàn)實(shí)意義。流量之間的共性可以幫助過(guò)濾輸出無(wú)效數(shù)據(jù),如廣告流量,流量之間的特征可以幫助更好地識(shí)別數(shù)據(jù)。因?yàn)椴煌挠脩粲胁煌牧?xí)慣,在流量檢測(cè)中,這些特征可幫助識(shí)別用戶。基于深度學(xué)習(xí)的模型多是針對(duì)已有數(shù)據(jù)進(jìn)行訓(xùn)練獲得的特征,在面對(duì)未知流量的自動(dòng)識(shí)別與改進(jìn)時(shí),需引入增量學(xué)習(xí)或遷移學(xué)習(xí)等方法。此外自動(dòng)機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索、強(qiáng)化學(xué)習(xí)等也可以引入未知流量的識(shí)別與分類研究中,如Zhang等[24]提出了自主學(xué)習(xí)框架可以過(guò)濾來(lái)自未知類的數(shù)據(jù)包并提供準(zhǔn)確的標(biāo)簽。
本文總結(jié)了基于深度學(xué)習(xí)的加密流量分類各階段的研究成果及其面臨的挑戰(zhàn),重點(diǎn)介紹了數(shù)據(jù)集、數(shù)據(jù)預(yù)處理、類別不平衡等研究問(wèn)題,并總結(jié)了現(xiàn)階段深度學(xué)習(xí)模型在加密流量檢測(cè)的應(yīng)用情況,最后展望了加密流量識(shí)別技術(shù)的未來(lái)研究方向或研究重點(diǎn)。