国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于混合神經(jīng)網(wǎng)絡(luò)的惡意TLS流量識(shí)別研究

2021-04-12 05:18:26韋佶宏鄭榮鋒劉嘉勇

韋佶宏,鄭榮鋒,劉嘉勇

1.四川大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,成都 610065

2.四川大學(xué) 電子信息學(xué)院,成都 610065

基于網(wǎng)絡(luò)行為特征的惡意流量識(shí)別一直是研究的熱點(diǎn)。Cisco 在2018 年發(fā)布的報(bào)告顯示,從2015 年到2016 年,網(wǎng)絡(luò)流量的加密率增長(zhǎng)了近91%,60%以上的互聯(lián)網(wǎng)流量都是加密的[1]。Trustwave 2019年的一份全球安全報(bào)告顯示,在2018年全年檢測(cè)到的惡意軟件中,近67%的惡意軟件使用加密混淆技術(shù)來(lái)避免行為暴露[2]。傳統(tǒng)的基于明文特征的DPI、DFI檢測(cè)方法不再適用[3-6],這給加密流量精準(zhǔn)識(shí)別和分類帶來(lái)了巨大的挑戰(zhàn)。

TLS是一種為應(yīng)用程序提供隱私的加密協(xié)議,通常用于封裝常見(jiàn)的應(yīng)用層協(xié)議,如HTTP、SMTP協(xié)議。由于其良好的兼容性與擴(kuò)展性,被廣泛應(yīng)用于各個(gè)領(lǐng)域。目前對(duì)于TLS 等加密協(xié)議的流量的檢測(cè)主要有兩種方法,一種是利用數(shù)據(jù)流的元數(shù)據(jù)來(lái)進(jìn)行檢測(cè),提取包括最大包長(zhǎng)度和到達(dá)間隔時(shí)間等統(tǒng)計(jì)性特征,然后進(jìn)行機(jī)器學(xué)習(xí)建模訓(xùn)練,對(duì)惡意TLS 流量進(jìn)行檢測(cè)[7-8];另一種方法是利用同一個(gè)通信實(shí)體的其他通信行為,如DNS、HTTP 等來(lái)輔助檢測(cè)[9-10]。但利用統(tǒng)計(jì)性特征來(lái)進(jìn)行機(jī)器學(xué)習(xí)建模極大地依賴專家經(jīng)驗(yàn),惡意軟件的快速迭代升級(jí)可能會(huì)使得部分由專家經(jīng)驗(yàn)挑選出的特征失效,導(dǎo)致識(shí)別率的降低。更重要的是,有些產(chǎn)生很大分類價(jià)值的特征并不能根據(jù)經(jīng)驗(yàn)直覺(jué)找出來(lái)[11]。而利用其他通信行為來(lái)進(jìn)行輔助檢測(cè)數(shù)據(jù)收集難度大,同時(shí)也不能有效地對(duì)惡意流量所屬的家族種類進(jìn)行區(qū)分。

深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)任務(wù)[12]和語(yǔ)音識(shí)別任務(wù)[13]等諸多方面都有出色的表現(xiàn),隨著各種類型的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和不同的訓(xùn)練機(jī)制的出現(xiàn),深度學(xué)習(xí)已經(jīng)成為處理復(fù)雜問(wèn)題的一種可行且強(qiáng)大的方法。但僅僅依靠深度神經(jīng)網(wǎng)絡(luò)自動(dòng)挖掘出的特征進(jìn)行識(shí)別,不僅訓(xùn)練難度巨大,識(shí)別率也并不理想。如何充分發(fā)揮深度學(xué)習(xí)方法在挖掘深層空間特征方面的能力,同時(shí)利用好已有的專家經(jīng)驗(yàn)優(yōu)勢(shì)成為了一個(gè)需要解決的困境。

針對(duì)以上問(wèn)題,本文提出了一種基于混合神經(jīng)網(wǎng)絡(luò)的HNNIM(Hybrid Neural Network Identification Model)模型。模型由兩層構(gòu)成:第一層用于特征提取,第二層利用提取出的特征作為輸入進(jìn)行建模,用于識(shí)別與分類。第一層最終提取的特征有兩部分,其中一部分特征使用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行自動(dòng)挖掘,另一部分特征使用并行的深度神經(jīng)網(wǎng)絡(luò)篩選根據(jù)專家經(jīng)驗(yàn)挑選出的特征。然后將這些由多個(gè)深度神經(jīng)網(wǎng)絡(luò)挖掘和篩選出來(lái)的特征進(jìn)行組合,作為第二層的深度神經(jīng)網(wǎng)絡(luò)的輸入,進(jìn)一步挖掘深層空間特征。在降低對(duì)專家經(jīng)驗(yàn)依賴性的同時(shí),發(fā)揮出深度神經(jīng)網(wǎng)絡(luò)的深層空間特征挖掘能力,進(jìn)而提高對(duì)惡意TLS流量的識(shí)別與分類的性能。

1 識(shí)別與分類方法

1.1 惡意TLS流量特征分析

文章主要關(guān)注隱藏于TLS協(xié)議1.2及之前版本的惡意行為的通信流量。由于傳輸內(nèi)容已經(jīng)被TLS 協(xié)議保護(hù),很難通過(guò)內(nèi)容檢測(cè)來(lái)發(fā)現(xiàn)惡意行為,目前研究的關(guān)注點(diǎn)更多地轉(zhuǎn)移到了協(xié)議交互信息以及下層通信的信息等不被加密方法所影響的明文信息、統(tǒng)計(jì)性信息上,每一個(gè)TLS 連接都會(huì)以握手開(kāi)始。如果客戶端此前并未與服務(wù)器建立會(huì)話,那么雙方會(huì)執(zhí)行一次完整的握手流程來(lái)協(xié)商TLS會(huì)話。在這個(gè)過(guò)程中,通信雙方協(xié)商連接參數(shù),并且完成身份驗(yàn)證。根據(jù)使用的功能的不同,整個(gè)過(guò)程通常需要交換6~10 條消息,一個(gè)對(duì)服務(wù)器進(jìn)行身份驗(yàn)證的完整TLS握手過(guò)程如圖1所示。

圖1 進(jìn)行身份驗(yàn)證的完整TLS握手過(guò)程

TLS握手的信息在流量識(shí)別中起著重要的作用,其中的ClientHello、ServerHello、Certificate等消息報(bào)文中,包括密碼套件順序、版本號(hào)、公鑰長(zhǎng)度、TLS Extension、所傳輸?shù)淖C書(shū)是否是自簽名等特征均可使惡意TLS 流量與正常流量產(chǎn)生一定的區(qū)分度[14-15]。

Internet協(xié)議和連接統(tǒng)計(jì)數(shù)據(jù)對(duì)流量和流量的識(shí)別具有重要意義,通信流中傳輸層的端口、IP 和協(xié)議信息等連接記錄也是一個(gè)重要的分類特征[16]。流行為被描述為監(jiān)控?cái)?shù)據(jù)包發(fā)送過(guò)程的一種方式,而每個(gè)惡意軟件家族都擁有不同的流行為,流中每個(gè)包的到達(dá)時(shí)間對(duì)分類起著至關(guān)重要的作用[17]。

綜上,本文將主要參考TLS 握手信息、下層通信的信息作為分類特征空間。

1.2 HNNIM模型

傳統(tǒng)的機(jī)器學(xué)習(xí)方法中,特征工程非常重要,因?yàn)檫@些淺層算法沒(méi)有足夠大的假設(shè)空間來(lái)自動(dòng)學(xué)習(xí)有用的表示。而在深度學(xué)習(xí)方法中,特征工程部分均由深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練后自行挖掘和篩選出有效特征,更多的工作是針對(duì)深度神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和算法進(jìn)行選擇和優(yōu)化。但是深度神經(jīng)網(wǎng)絡(luò)不需要特征工程并不意味著能夠隨意使用原始流量數(shù)據(jù)作為輸入,自動(dòng)學(xué)習(xí)到潛在的有效特征;有意義的特征輸入空間可以在使用更少的計(jì)算資源的同時(shí)獲得更好的訓(xùn)練效果。

相比于使用傳統(tǒng)機(jī)器學(xué)習(xí)方法配合時(shí)間序列等統(tǒng)計(jì)性特征來(lái)構(gòu)建分類器,一維卷積神經(jīng)網(wǎng)絡(luò)在挖掘序列特征方面有著顯著的改進(jìn)[18]。同樣,將具有2個(gè)卷積層,2個(gè)池化層和3個(gè)完全連接層的二維卷積神經(jīng)網(wǎng)絡(luò)用于協(xié)議和應(yīng)用程序分類任務(wù),并將序列數(shù)據(jù)轉(zhuǎn)換為2D 圖像,最終產(chǎn)生的CNN 模型優(yōu)于傳統(tǒng)機(jī)器學(xué)習(xí)方法和多層感知機(jī)模型[19]。

本文基于對(duì)深度神經(jīng)網(wǎng)絡(luò)潛力和泛化能力的理解,以及通過(guò)對(duì)惡意TLS流量的特征分析,設(shè)計(jì)了一個(gè)多神經(jīng)網(wǎng)絡(luò)混合的HNNIM 模型,以此來(lái)實(shí)現(xiàn)對(duì)惡意TLS 流量的有效識(shí)別與分類,具體結(jié)構(gòu)如圖2所示。

模型的第一層,由并行的深度神經(jīng)網(wǎng)絡(luò)組成,主要用于挖掘和篩選特征。其中特征由兩部分組成,一部分使用深度神經(jīng)網(wǎng)絡(luò)自動(dòng)挖掘每個(gè)流中多個(gè)TCP 包頭部的深層空間特征、ClientHello與ServerHello消息報(bào)文的深層空間特征,另一部分使用深度神經(jīng)網(wǎng)絡(luò)進(jìn)一步篩選根據(jù)專家經(jīng)驗(yàn)挑選出來(lái)的特征。

在TCP 包頭部特征的挖掘上,本文選擇了一維卷積神經(jīng)網(wǎng)絡(luò)(CNN-1D)來(lái)進(jìn)行特征挖掘工作,充分挖掘這些頭部信息隱含的包括時(shí)間在內(nèi)的序列關(guān)系。在ClientHello和ServerHello消息報(bào)文的特征選擇上,具有同樣大小、類似行為特征流序列,在映射到二維圖像上時(shí),應(yīng)該具有某種相似性,所以在這部分選擇了二維卷積神經(jīng)網(wǎng)絡(luò)(CNN-2D)來(lái)進(jìn)行特征挖掘工作。在篩選根據(jù)專家經(jīng)驗(yàn)挑選的特征部分,由于選擇出來(lái)的特征都是離散值,因此為了消除不同特征之間的量綱影響,采用了One-Hot Code(獨(dú)熱碼)編碼方案對(duì)特征進(jìn)行歸一化處理,然后作為只有單個(gè)隱藏層的全連接神經(jīng)網(wǎng)絡(luò)的輸入,進(jìn)一步篩選特征。最終,三個(gè)部分的神經(jīng)網(wǎng)絡(luò)分別將輸出的特征維度縮小至同樣大小。

模型的第二層,是具有一個(gè)輸入層,兩個(gè)隱藏層以及一個(gè)輸出層的全連接深度神經(jīng)網(wǎng)絡(luò)。第一部分的三個(gè)并行的深度神經(jīng)網(wǎng)絡(luò)特征挖掘和篩選工作完成后,將這些特征進(jìn)行聚合,作為第二部分的輸入,并進(jìn)行訓(xùn)練,產(chǎn)生最終的識(shí)別與分類模型。

1.3 HNNIM模型的特征空間

在TCP流數(shù)據(jù)中,使用10~30個(gè)Packet的TCP協(xié)議頭部信息已經(jīng)足以在很多數(shù)據(jù)集中進(jìn)行流量分類[20]。因此在使用CNN-1D 神經(jīng)網(wǎng)絡(luò)提取TCP 包頭部深層空間特征部分,本文使用單個(gè)流中的前30個(gè)Packet的TCP協(xié)議頭部信息,共600 字節(jié)序列來(lái)作為特征輸入空間,記為Input_1,即把神經(jīng)網(wǎng)絡(luò)的輸入維度設(shè)置為600 維。其中所提取的每個(gè)Packet 的TCP 協(xié)議頭信息的寬度設(shè)為20,如果溢出則進(jìn)行截?cái)?;若單個(gè)流中Packet 數(shù)目不足30,則進(jìn)行zero-padding操作,用0進(jìn)行填充補(bǔ)足。

通過(guò)分析大量的TLS流量,發(fā)現(xiàn)將提取的ClientHello消息報(bào)文的數(shù)據(jù)寬度為設(shè)置為520 字節(jié),ServerHello消息報(bào)文的數(shù)據(jù)寬度設(shè)置為264 字節(jié)已經(jīng)足夠囊括絕大部分TLS 流中的ClientHello 與ServerHello 消息報(bào)文的報(bào)文信息。因此,在使用CNN-2D神經(jīng)網(wǎng)絡(luò)提取這兩個(gè)消息報(bào)文的深層空間特征部分,將特征輸入空間維度設(shè)置為784 維,同樣采取不足的部分進(jìn)行zero-padding 操作,溢出的部分進(jìn)行截?cái)嗟牟呗赃M(jìn)行處理,記為Input_2,然后將784字節(jié)序列轉(zhuǎn)化為28×28大小的灰度圖。

在根據(jù)專家經(jīng)驗(yàn)挑選特征的部分,除了ClientHello、ServerHello消息報(bào)文中的明文字段[13],Certificate消息報(bào)文的證書(shū)鏈中end-user certificate 的一些字段也具有能夠使惡意流量與正常流量產(chǎn)生區(qū)分度的特征[9],因此,在這部分還添加了Certificate相關(guān)的一些特征。

除了參考已有的有效特征,本文在特征選擇方面也做了一些工作。Homem等人[21]之前的工作表明可通過(guò)熵值的高低來(lái)有效判斷域名是否隨機(jī)生成,因此本文通過(guò)計(jì)算ClientHello 消息報(bào)文中的域名字段的熵值來(lái)判斷是否隨機(jī)生成來(lái)作為一個(gè)特征;同時(shí),基于Alexa.com統(tǒng)計(jì)的全球訪問(wèn)量排名前100 萬(wàn)的域名生成一個(gè)白名單,去判斷ClientHello消息報(bào)文中的域名信息是否存在于其中,以此作為一個(gè)特征;在Certificate消息報(bào)文的特征中,添加了包括end-user 證書(shū)里使用的簽名算法、公鑰長(zhǎng)度等特征。

除了TLS握手階段的明文特征外,還采用了一些針對(duì)TCP 流的統(tǒng)計(jì)性特征,包括每個(gè)Packet 的長(zhǎng)度分布、到達(dá)時(shí)間序列分布特征,每個(gè)Packet的TCP頭部字段的字節(jié)分布特征。此外,文獻(xiàn)[22]使用馬爾可夫矩陣來(lái)存儲(chǔ)順序Packet之間的關(guān)系。受其方法的啟發(fā),本文應(yīng)用馬爾可夫轉(zhuǎn)移矩陣來(lái)表示流行為,并記錄前后的關(guān)系。因此分別計(jì)算前30個(gè)Packet的長(zhǎng)度分布Markov轉(zhuǎn)移矩陣,時(shí)間分布Markov轉(zhuǎn)移矩陣來(lái)作為一個(gè)特征。

在列出根據(jù)經(jīng)驗(yàn)判斷能夠視為有效特征的所有特征后,使用遞歸特征消除(RFE)方法[11],將不產(chǎn)生分類價(jià)值的特征去掉,減小輸入特征維度,篩選出的特征共26種,記為Input_3,最終篩選出的特征如表1所示。

1.4 HNNIM模型訓(xùn)練

神經(jīng)網(wǎng)絡(luò)的訓(xùn)練采用基于梯度的方法,它根據(jù)對(duì)代價(jià)函數(shù)計(jì)算偏導(dǎo)數(shù)來(lái)更新參數(shù)。代價(jià)函數(shù)為各個(gè)類的每個(gè)樣本的損失函數(shù)之和的平均值,即式(1):

其中y為訓(xùn)練結(jié)果,?為真實(shí)值。設(shè)每個(gè)神經(jīng)元的第l層的參數(shù)為W(l)和b(l),η為學(xué)習(xí)率,它們的更新方式如(2)、(3)所示:

如果通過(guò)鏈?zhǔn)椒▌t逐一對(duì)每個(gè)參數(shù)進(jìn)行求偏導(dǎo)數(shù)比較低效,會(huì)導(dǎo)致很多重復(fù)計(jì)算的步驟,因此使用反向傳播算法來(lái)高效地計(jì)算梯度。目前為止,學(xué)習(xí)率η仍然是一個(gè)全局性的參數(shù),這會(huì)導(dǎo)致某些已經(jīng)優(yōu)化到極小值附近的參數(shù)因?yàn)槠渌麉?shù)的影響而再次波動(dòng)。為了適應(yīng)這種情況,本文使用Adam(Adaptive moment estimation)優(yōu)化方案[23],該算法通過(guò)計(jì)算梯度的一階矩估計(jì)和二階矩估計(jì)來(lái)為不同的參數(shù)設(shè)計(jì)獨(dú)立的自適應(yīng)性學(xué)習(xí)率,讓學(xué)習(xí)率能夠自適應(yīng)調(diào)整,以此來(lái)避免在訓(xùn)練過(guò)程中可能陷入的局部最優(yōu)困境。

在隱藏層里,為了避免梯度消失的問(wèn)題,選用了ReLu作為激活函數(shù),公式如式(4)所示:

在二分類任務(wù)中,輸出層神經(jīng)元的激活函數(shù)選擇了對(duì)分類問(wèn)題更有效果的Sigmoid 函數(shù),代價(jià)函數(shù)采用了更適用于二分類場(chǎng)景的二元交叉熵函數(shù)來(lái)替代均方誤差函數(shù),它們的函數(shù)公式如(5)、(6)所示:

在多分類任務(wù)中,選擇了Softmax 函數(shù)作為輸出層神經(jīng)元的激活函數(shù),它將多個(gè)神經(jīng)元的輸出,映射到(0,1)區(qū)間內(nèi),轉(zhuǎn)化為對(duì)應(yīng)類別的概率。代價(jià)函數(shù)則采用了更適用于多分類場(chǎng)景的多元交叉熵函數(shù)Categorical Cross Entropy,它們的函數(shù)公式如(7)、(8)所示,其中c表示分類類別數(shù)目:

表1 根據(jù)經(jīng)驗(yàn)挑選的特征詳細(xì)表

此外,在每個(gè)隱藏層還使用了Dropout 方法來(lái)減小神經(jīng)網(wǎng)絡(luò)的體積,避免過(guò)擬合[24]。文章的目的并不是優(yōu)化這些學(xué)習(xí)算法,而是找出一個(gè)比較合適的算法和結(jié)構(gòu),從而產(chǎn)生更好的效果。

1.5 識(shí)別與分類方法總結(jié)

HNNIM 模型在第一層進(jìn)行了特征篩選工作,利用一維卷積神經(jīng)網(wǎng)絡(luò)對(duì)潛在的序列特征進(jìn)行挖掘;利用二維卷積神經(jīng)對(duì)映射到圖上的流量信息進(jìn)行特征挖掘;利用深度神經(jīng)網(wǎng)絡(luò)對(duì)根據(jù)專家經(jīng)驗(yàn)選取的特征作進(jìn)一步篩選;從不同的維度來(lái)降低整體的特征空間,降低對(duì)專家經(jīng)驗(yàn)的依賴性。

第二層的全連接深度神經(jīng)網(wǎng)絡(luò)使用篩選后的特征作為輸入,在特征搜索空間縮小的情況下能夠加快模型收斂速度,提升識(shí)別率。

綜上,通過(guò)所提出的HNNIM模型,配合根據(jù)專家經(jīng)驗(yàn)選擇出的特征,可以構(gòu)建分類器來(lái)識(shí)別惡意TLS 流量,并對(duì)它們進(jìn)行惡意家族的分類,本文的實(shí)驗(yàn)也將基于以上結(jié)構(gòu)和方法進(jìn)行展開(kāi)。

2 實(shí)驗(yàn)結(jié)果與分析

2.1 實(shí)驗(yàn)數(shù)據(jù)及環(huán)境

在本文的實(shí)驗(yàn)中,使用CICIDS 2017數(shù)據(jù)集[25]中的正常流量、CTU-Normal-Capture數(shù)據(jù)集[26]的流量來(lái)作為正常流量;Malware-Traffic-Analysis[27]、CTU-Malware-Capture[26]數(shù)據(jù)集的流量作為惡意流量。這些流量并不全部都是TLS 流量,且部分流量具有重復(fù),因此本文還對(duì)流量樣本進(jìn)行了預(yù)處理,將無(wú)關(guān)干擾信息過(guò)濾,僅使用承載于TCP協(xié)議層上的非重復(fù)TLS流量。

獲取到的流量數(shù)據(jù)為pcap格式,是由多個(gè)通信實(shí)體在某個(gè)時(shí)間段內(nèi)產(chǎn)生的通信數(shù)據(jù),因此還根據(jù)五元組將原始流量分割為TCP 協(xié)議流數(shù)據(jù),每一條TCP 協(xié)議流數(shù)據(jù)包含兩個(gè)相互通信的實(shí)體某個(gè)時(shí)間段內(nèi)完整的TLS通信信息。將TLS流量中ClientHello報(bào)文中的Extension 條目下的ServerName 子項(xiàng)、整個(gè)ClientHello 報(bào)文的長(zhǎng)度、整個(gè)ServerHello報(bào)文的長(zhǎng)度均相同的兩條通信流定義為重復(fù)條目,將其中一條剔除。將從單條流中提取的特征作為一個(gè)樣本,最終提取的樣本具體數(shù)據(jù)如表2所示。

表2 數(shù)據(jù)集樣本

在獲取的數(shù)據(jù)樣本集{M1}中,部分樣本具有明確的惡意家族標(biāo)簽,共計(jì)9 種惡意家族。因此,本文選擇將這些樣本用于多分類實(shí)驗(yàn),最終樣本數(shù)據(jù)如表3 所示,其中M1?{M1i,i=1,2,3…}。

表3 Malware-Traffic-Analysis惡意家族樣本

2.2 實(shí)驗(yàn)評(píng)估指標(biāo)

收集到的樣本數(shù)目并不均衡,在二分類的任務(wù)中準(zhǔn)確率的參考價(jià)值有限。同時(shí)二分類任務(wù)中的關(guān)注點(diǎn)更多地是在惡意樣本的識(shí)別結(jié)果上,故二分類任務(wù)的實(shí)驗(yàn)結(jié)果由召回精確率調(diào)和平均數(shù)(F1)、召回率(Recall)、精確率(Precision)來(lái)衡量。在多分類任務(wù)中,主要的關(guān)注點(diǎn)在每個(gè)惡意家族的識(shí)別正確率上,因此實(shí)驗(yàn)結(jié)果由準(zhǔn)確率(Accuracy)來(lái)衡量。

其中,TP表示將屬于某分類的加密流量正確識(shí)別為該分類,F(xiàn)P表示將不屬于某分類的加密流量識(shí)別為該分類,TN表示將不屬于某分類的加密流量識(shí)別為非該分類,F(xiàn)N表示將屬于某分類的加密流量識(shí)別為非該分類。精確率、召回率反映了識(shí)別方法在每個(gè)類別流量數(shù)據(jù)上的識(shí)別效果;F1是均衡精確率和召回率獲得的綜合評(píng)價(jià)指標(biāo),F(xiàn)1越高表明算法在各個(gè)類型的分類性能越好。

2.3 實(shí)驗(yàn)結(jié)果與分析

本文主要驗(yàn)證HNNIM模型與已有的傳統(tǒng)機(jī)器學(xué)習(xí)方法、自動(dòng)挖掘特征的深度學(xué)習(xí)方法是否有提升。在傳統(tǒng)機(jī)器學(xué)習(xí)方法中,目前常用于流量分類的有隨機(jī)森林、SVM、XGBoost 等模型[11];在深度學(xué)習(xí)方法中,文獻(xiàn)[28]提出了一種將原始通信流量前784字節(jié)視為圖像,作為卷積神經(jīng)網(wǎng)絡(luò)(CNN)的輸入,由神經(jīng)網(wǎng)絡(luò)自行挖掘深層空間特征的方法。但為了控制變量,本文僅采用上述的模型來(lái)作為對(duì)比,特征部分改為與本文所選的特征一致。

在HNNIM 模型的超參數(shù)中,所有的神經(jīng)網(wǎng)絡(luò)初始學(xué)習(xí)率設(shè)為0.003,Dropout 為0.4,一維卷積神經(jīng)網(wǎng)絡(luò)中,設(shè)置4 個(gè)大小為4 的卷積核,使用2 個(gè)卷積層與1 個(gè)池化層以及2個(gè)完全連接層。二維卷積神經(jīng)網(wǎng)絡(luò)中,設(shè)置32個(gè)大小為3×3的卷積核;使用2個(gè)卷積層與1個(gè)池化層以及2 個(gè)完全連接層,迭代次數(shù)Epoch 為20,數(shù)據(jù)大小batch size為500,對(duì)比實(shí)驗(yàn)中的CNN模型,使用同樣的參數(shù)進(jìn)行訓(xùn)練。隨機(jī)森林模型中,弱學(xué)習(xí)器的最大迭代次數(shù)n_estimators設(shè)為128,其余均采用模型默認(rèn)參數(shù);SVM 模型中,使用線性核函數(shù),無(wú)需設(shè)置額外的超參數(shù);在XGBoost 模型中,booster 使用樹(shù)模型gbtree,更新過(guò)程中的收縮步長(zhǎng)eta 設(shè)置為0.25,樹(shù)的最大深度max_depth設(shè)置為5,其余均使用默認(rèn)參數(shù)。

2.3.1 二分類效果對(duì)比

實(shí)驗(yàn)使用{B1,M1}數(shù)據(jù)集來(lái)訓(xùn)練模型,使用{B2,M2}數(shù)據(jù)集進(jìn)行驗(yàn)證,以此來(lái)充分驗(yàn)證模型的泛化能力。實(shí)驗(yàn)結(jié)果如表4所示。

表4 二分類實(shí)驗(yàn)結(jié)果

實(shí)驗(yàn)結(jié)果顯示,自動(dòng)挖掘特征的CNN 模型的精確率為0.944,召回率為0.962,F(xiàn)1值為0.946,均顯著低于傳統(tǒng)機(jī)器學(xué)習(xí)方法中的隨機(jī)森林、SVM、XGBoost 模型。這一方面表明了根據(jù)專家經(jīng)驗(yàn)挑選的特征能夠在一定程度上對(duì)正常與惡意流量進(jìn)行區(qū)分,傳統(tǒng)機(jī)器學(xué)習(xí)方法因此取得了較好的效果;另一方面也表明了僅利用深度神經(jīng)網(wǎng)絡(luò)自動(dòng)挖掘特征來(lái)進(jìn)行分類,其結(jié)果并不一定就優(yōu)于傳統(tǒng)機(jī)器學(xué)習(xí)方法。

HNNIM模型最終的精確率為0.981,召回率為0.999,F(xiàn)1值為0.989,均要高于其他任一模型。因此,它有效地利用了根據(jù)專家經(jīng)驗(yàn)挑選的特征(Input_3),并充分發(fā)揮深度神經(jīng)網(wǎng)絡(luò)挖掘深層空間特征的能力。

2.3.2 多分類效果對(duì)比

多分類任務(wù)中,使用M1數(shù)據(jù)集中已經(jīng)分類好的樣本,共9 個(gè)類別,來(lái)作為訓(xùn)練和驗(yàn)證的樣本。部分惡意家族樣本相當(dāng)少,本文采取over-sampling(上采樣)方案,應(yīng)用經(jīng)過(guò)改進(jìn)的SMOTE算法[29],通過(guò)在少數(shù)類中加入隨機(jī)噪聲、干擾數(shù)據(jù)以及通過(guò)一定規(guī)則產(chǎn)生新的合成樣本,增加分類中少數(shù)類樣本的數(shù)量;針對(duì)樣本比較多的惡意家族樣本,使用under-sampling(下采樣)方案[30],減少該類樣本,以此來(lái)實(shí)現(xiàn)樣本均衡。最終每種惡意家族樣本的規(guī)模為1 000,實(shí)驗(yàn)結(jié)果使用五折交叉驗(yàn)證,將樣本平均分為5份,輪流將其中4份作為訓(xùn)練集,余下一份作為測(cè)試集,最終結(jié)果為5次測(cè)試的均值。各個(gè)模型使用的特征輸入以及實(shí)驗(yàn)結(jié)果,如表5所示。

各個(gè)模型實(shí)驗(yàn)結(jié)果混淆矩陣如圖3所示。

實(shí)驗(yàn)結(jié)果顯示,在多分類任務(wù)中,傳統(tǒng)機(jī)器學(xué)習(xí)方法中隨機(jī)森林、SVM、XGBoost 模型的平均準(zhǔn)確率分別為79.36%、80.19%、77.97%;自動(dòng)挖掘特征的CNN 模型的平均準(zhǔn)確率為82.25%,均不夠理想。實(shí)驗(yàn)中傳統(tǒng)機(jī)器學(xué)習(xí)方法的局限性開(kāi)始體現(xiàn),其分類效果依賴于根據(jù)專家經(jīng)驗(yàn)挑選的特征Input_3,但是這些特征從結(jié)果來(lái)看并不能很好地區(qū)分惡意家族種類;CNN 模型自動(dòng)挖掘特征來(lái)進(jìn)行分類,效果雖然比傳統(tǒng)機(jī)器學(xué)習(xí)方法有提升,但準(zhǔn)確率也并沒(méi)有得到明顯的提升。HNNIM 模型最終平均準(zhǔn)確率為89.28%,均高于其他模型,因此HNNIM 模型能夠充分結(jié)合這兩種方法的優(yōu)點(diǎn),分類結(jié)果有了較為顯著的提升。

通過(guò)上述實(shí)驗(yàn),可以發(fā)現(xiàn)僅使用根據(jù)專家經(jīng)驗(yàn)挑選特征或僅由機(jī)器自動(dòng)挑選特征的模型存在的一些不足。僅使用傳統(tǒng)機(jī)器學(xué)習(xí)方法配合根據(jù)專家經(jīng)驗(yàn)挑選的特征容易受到場(chǎng)景的制約,同一特征在二分類和多分類場(chǎng)景中并不都獲得一致的分類收益;僅由神經(jīng)網(wǎng)絡(luò)自動(dòng)挑選特征,搜索空間大,訓(xùn)練難度大,結(jié)果也仍有待提高。實(shí)驗(yàn)結(jié)果表明,所提出的HNNIM 模型能夠有效地解決這一困境,獲得更好的識(shí)別和分類效果。值得指出的是,深度神經(jīng)網(wǎng)絡(luò)受參數(shù)與優(yōu)化方式的影響較大,仍然可以進(jìn)一步嘗試調(diào)參以及使用不同的優(yōu)化算法來(lái)提升它的性能。

表5 多分類實(shí)驗(yàn)準(zhǔn)確率 %

圖3 各模型多分類結(jié)果混淆矩陣

3 結(jié)語(yǔ)

由于TLS等加密協(xié)議的廣泛使用,目前的惡意加密流量識(shí)別方案逐漸失效,基于專家經(jīng)驗(yàn)的傳統(tǒng)機(jī)器學(xué)習(xí)方法受到專家經(jīng)驗(yàn)的制約較大,分類效果也不理想。本文提出的HNNIM 模型,結(jié)合TLS 協(xié)議握手階段的明文信息以及TCP協(xié)議頭部字段信息,能夠充分結(jié)合深度神經(jīng)網(wǎng)絡(luò)挖掘深層空間特征的學(xué)習(xí)能力與現(xiàn)有專家經(jīng)驗(yàn)的優(yōu)勢(shì),降低對(duì)專家經(jīng)驗(yàn)的依賴,有效提升針對(duì)惡意TLS流量的識(shí)別與分類效果。

本文主要針對(duì)使用TLS1.2及以下版本的協(xié)議的惡意流量進(jìn)行識(shí)別,針對(duì)隱藏于TLS1.3 協(xié)議下的惡意流量的有效識(shí)別將成為下一步研究的重點(diǎn)。

隆德县| 体育| 福安市| 塘沽区| 东城区| 丰镇市| 凤山市| 泾川县| 特克斯县| 肇庆市| 烟台市| 历史| 新巴尔虎右旗| 芜湖市| 黔江区| 南部县| 朔州市| 德化县| 江油市| 略阳县| 乌审旗| 南川市| 临洮县| 麟游县| 独山县| 雷山县| 清新县| 无棣县| 老河口市| 周口市| 垦利县| 兴化市| 泸西县| 佛冈县| 吉隆县| 化州市| 突泉县| 宝山区| 龙泉市| 农安县| 汉川市|