顧健華,文成江,高澤芳
(中國移動通信集團終端有限公司,北京 100053)
網(wǎng)絡(luò)已經(jīng)滲透到人們生活的方方面面,網(wǎng)絡(luò)給人們帶來各種便利的同時,也由于各種安全問題給人們帶來煩惱。例如,網(wǎng)絡(luò)環(huán)境充斥著各種病毒、漏洞,人們的隱私數(shù)據(jù)被頻頻泄漏,網(wǎng)絡(luò)安全成為現(xiàn)在最大的挑戰(zhàn)。網(wǎng)絡(luò)安全防護的重要基準之一就是檢測網(wǎng)絡(luò)流量異常的能力。引起網(wǎng)絡(luò)流量異常的原因有性能原因和安全原因,性能原因指由于網(wǎng)絡(luò)結(jié)構(gòu)不合理或者設(shè)備故障等原因造成流量異常;而安全原因是由于DDoS 攻擊等原因造成流量異常,本文主要關(guān)注安全方面的原因。目前基于端口和基于DPI 的網(wǎng)絡(luò)流量異常檢測方法需要人工制定固定的規(guī)則進行匹配,這種方法能夠應對常規(guī)的攻擊行為,但難以檢測新攻擊行為所造成的流量異常。因此,本文關(guān)注的是新攻擊行為造成的流量異常檢測方法。很多學者對新流量攻擊行為造成的流量異常進行了一些研究,包括:Hwang 等人[1]提出了一種有效的異常流量檢測機制,通過卷積神經(jīng)網(wǎng)絡(luò)(CNN)和無監(jiān)督的深度學習模型(如自動編碼器)自動分析流量模式和過濾異常流量,從而實現(xiàn)異常流量自動檢測;Du 等人[2]提出了一種基于小波分析的網(wǎng)絡(luò)流量異常檢測方法,該方法首先利用小波分析提取波形特征,然后利用支持向量機進行分類,最終實現(xiàn)流量異常預測;Shi 等人[3]提出基于長短記憶網(wǎng)絡(luò)(LSTM)建立新攻擊行為造成流量異常的檢測模型,有效均衡流量檢測的檢測延遲和檢測精度;Hoang 等人[4]提出一種基于PCA 的物聯(lián)網(wǎng)流量異常檢測方法,該方法通過主成分分析法來識別影響網(wǎng)絡(luò)流量異常的主要因素,有效應對維度災難問題;Kromkowski 等人[5]提出一種網(wǎng)絡(luò)流量數(shù)據(jù)異常檢測方法的分析框架,該框架通過整合SARIMA 和LSTM 自動編碼器來實現(xiàn)流量異常檢測,并通過實驗證明了該方法的有效性。
由此可知,大多數(shù)學者僅僅對流量數(shù)據(jù)時間特征進行特征提取,從而在時間維度上檢測數(shù)據(jù)的異常特征,并沒有考慮流量數(shù)據(jù)的空間特征。
在大規(guī)模復雜網(wǎng)絡(luò)環(huán)境中,采用時間序列的網(wǎng)絡(luò)流量特征提取來識別異常行為,容易受到流量的突發(fā)性和隨機性的干擾;相反,采用網(wǎng)絡(luò)流交互行為去刻畫網(wǎng)絡(luò)流時序的交互關(guān)系,建立基于時間局部性的網(wǎng)絡(luò)流交互特征模型,則能夠有效表達網(wǎng)絡(luò)流量的狀態(tài)[6-9]。但是,網(wǎng)絡(luò)流量異常行為檢測需要大量的數(shù)據(jù)為支撐,進行多輪迭代與訓練,才能學習到網(wǎng)絡(luò)流量異常行為的特征。但是現(xiàn)有的網(wǎng)絡(luò)流量難以獲得海量的異常行為數(shù)據(jù),因此,非平衡小樣本的網(wǎng)絡(luò)流量異常行為數(shù)據(jù)在特征提取過程中存在數(shù)據(jù)缺失的問題。
基于上述的觀點,本文針對新流量攻擊造成的網(wǎng)絡(luò)流量異常檢測模型數(shù)據(jù)缺失的問題,提出一種強化生成式對抗網(wǎng)絡(luò)樣本數(shù)據(jù)增強技術(shù),該技術(shù)可以在樣本不足的情況下,采用生成式對抗網(wǎng)絡(luò)的方法實現(xiàn)異常行為樣本量的擴充,提升模型識別的性能。在此基礎(chǔ)上,采用深度神經(jīng)網(wǎng)絡(luò)挖掘時間序列網(wǎng)絡(luò)流量的多尺度特征,以解決由于特征工程帶來的人為主觀因素的干擾以及維度災難問題,從而實現(xiàn)網(wǎng)絡(luò)流量異常檢測。
生成式對抗網(wǎng)絡(luò)是Goodfell 于2014 年提出來的一種生成模型[10],該生成模型需要假設(shè)樣本數(shù)據(jù)的分布,算法通過調(diào)整數(shù)據(jù)分布的參數(shù)來擬合真實數(shù)據(jù),然后再從假設(shè)的數(shù)據(jù)分布中采樣獲取生成的數(shù)據(jù),這種通過隱式學習數(shù)據(jù)的規(guī)律,實現(xiàn)了樣本數(shù)據(jù)的重新生成。根據(jù)上面的描述可知,生成模型需要擬合真實數(shù)據(jù)和采樣獲取生成數(shù)據(jù)的過程,這個過程分別衍生了生成器和判別器。生成器通過學習數(shù)據(jù)的規(guī)律,模擬真實數(shù)據(jù)分布并生成樣本數(shù)據(jù),而辨別器作為一個分類器,用來判斷輸入的樣本是真實樣本還是虛假樣本,如此,通過多次交叉訓練,生成器和判別器達到納什均衡后,生成器生成的樣本數(shù)據(jù)與真實的樣本數(shù)據(jù)達到高度相似,從而實現(xiàn)“以假換真”的目的。
自生成模型被推出以來,各種生成對抗網(wǎng)絡(luò)的衍生模型被提出來,隨著時間的推進,研究者發(fā)現(xiàn),生成網(wǎng)絡(luò)在訓練過程中極其容易發(fā)生梯度消失的現(xiàn)象,使得生成樣本的質(zhì)量十分不穩(wěn)定。除此之外,由于原始的數(shù)據(jù)具有一定的隨機性,因此,生成樣本的多樣性也隨之提升,導致生成器和判別器的收斂速度太慢,訓練過程容易發(fā)生機器崩潰的現(xiàn)象。
本文所闡述的深度神經(jīng)網(wǎng)絡(luò)是指深度卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)是基于卷積核結(jié)構(gòu)進行特征抽取的神經(jīng)網(wǎng)絡(luò),通過參數(shù)共享的方式有效降低全連接深度網(wǎng)絡(luò)的參數(shù)規(guī)律,進而提升網(wǎng)絡(luò)特征提取的效率[11-12]。深度神經(jīng)網(wǎng)絡(luò)包括兩種類型,分別是前饋神經(jīng)網(wǎng)絡(luò)和循環(huán)式神經(jīng)網(wǎng)絡(luò)。一般來說,前饋式神經(jīng)網(wǎng)絡(luò)適用于實現(xiàn)空間數(shù)據(jù)的特征提取,比如圖像數(shù)據(jù);前饋神經(jīng)網(wǎng)絡(luò)通常采用反向傳播的方式來計算代價函數(shù)對網(wǎng)絡(luò)各個參數(shù)的梯度變化,結(jié)合梯度下降法實現(xiàn)對網(wǎng)絡(luò)參數(shù)的自動更新,最終實現(xiàn)有限樣本訓練的情況下確定網(wǎng)絡(luò)中各個參數(shù)的權(quán)重,從而實現(xiàn)前饋神經(jīng)網(wǎng)絡(luò)學習的過程。在確定網(wǎng)絡(luò)參數(shù)后,深度神經(jīng)網(wǎng)絡(luò)的層次結(jié)構(gòu)使得模型具有不同層次的特征表達,不同層次的特征表達是有差異的,一般來說,低層次的特征擁有更高的分辨率,包括更多的細節(jié)信息,因此對局部細節(jié)的感知能力更強;而高層次的特征擁有較低的分辨率,但是對整體的感知更佳,具有較強的語義信息。而循環(huán)式神經(jīng)網(wǎng)絡(luò)則在處理時間序列上具有優(yōu)異的表現(xiàn),比如在處理文本數(shù)據(jù)上。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)是一類以序列(sequence)數(shù)據(jù)為輸入,在序列的演進方向進行遞歸(recursion)且所有節(jié)點(循環(huán)單元)按鏈式連接從而形成遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network),其中雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bidirectional RNN,Bi-RNN)和長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory networks,LSTM)是常見的循環(huán)神經(jīng)網(wǎng)絡(luò)。
網(wǎng)絡(luò)異常流量是指與正常流量的流量特征存在不同的流量類型,在真實的網(wǎng)絡(luò)環(huán)境中有多種類型的異常流量,不同的異常流量都有其獨特的特點[13]。一般來說,只有對各種異常流量特征進行提取后,才能設(shè)計出合理的流量異常檢測算法,然后進行異常流量識別。近年來,隨著云計算、大數(shù)據(jù)、移動互聯(lián)網(wǎng)技術(shù)的發(fā)展,傳統(tǒng)的基于匹配特征的異常流量監(jiān)測算法難以處理復雜高維度的異常流量數(shù)據(jù),因此容易出現(xiàn)大量誤報和漏報的情況。針對該問題,很多研究者采用有監(jiān)督的異常流量監(jiān)測模型,通過采用機器學習[14]、深度學習[15]的方法實現(xiàn)異常流量檢測。但上述方法忽略了網(wǎng)絡(luò)流量存在前后關(guān)聯(lián)的時序性,因此,研究者通過多層次特征融合來實現(xiàn)前后時序特征關(guān)聯(lián)從而實現(xiàn)流量異常檢測,比如采用多尺度殘差記憶網(wǎng)絡(luò)[16]實現(xiàn)多層次時空特征的融合;采用時間序列分析法[17]挖掘網(wǎng)絡(luò)流量數(shù)據(jù)之間的變化關(guān)系,建立網(wǎng)絡(luò)流量異常檢測模型;采用融合卷積神經(jīng)網(wǎng)絡(luò)和長短記憶網(wǎng)絡(luò)[18]實現(xiàn)多層次的時空學習構(gòu)建網(wǎng)絡(luò)流量的前后時序特征關(guān)聯(lián)關(guān)系,實現(xiàn)網(wǎng)絡(luò)流量異常檢測。
不平衡樣本數(shù)據(jù)是指樣本數(shù)據(jù)類別間分布明顯不平衡的數(shù)據(jù)[19],其中,樣本數(shù)量較多的類別稱為多數(shù)類,而樣本較少的類別稱為少數(shù)類。不平衡樣本存在于工業(yè)領(lǐng)域的故障檢測、通信領(lǐng)域的攻擊類型識別、銀行領(lǐng)域信用卡欺詐檢測等。本文重點討論通信領(lǐng)域的攻擊類型識別中的異常流量檢測。由于網(wǎng)絡(luò)中的異常流量樣本較少而正常流量樣本較多,因此采用機器學習方法訓練出的分類器對正常類樣本檢測的準確率較高,而少數(shù)類樣本檢測率降低,從而導致出現(xiàn)較大的誤檢率現(xiàn)象。針對上述的問題,通常采用數(shù)據(jù)補充[20]和算法優(yōu)化[21]兩種方法解決不平衡樣本的問題。數(shù)據(jù)補充包括過采樣和下采樣兩種方法,過采樣通常對少數(shù)類樣本進行復制,但是這種方法往往增大機器學習對訓練樣本過擬合的可能性;而下采樣的方法較過采樣方法計算復雜度高,而且容易丟失大量的有用信息從而導致分類器能力下降。算法優(yōu)化的方法主要引入損失函數(shù)和提升分類器健壯性來提升不平衡樣本的分類能力,包括代價敏感學習[22]、集成學習[23]等。代價敏感學習認為分類錯誤產(chǎn)生代價相同的,但在實際網(wǎng)絡(luò)攻擊識別中如果將合法用戶判別為非法用戶,那么給用戶帶來很大不便,相反,如果將非法用戶判別為合法用戶,那么會給網(wǎng)絡(luò)帶來嚴重的損失,因此,這種情況下分類錯誤的代價相對高。而集成學習中每一個分類器在不同場景中影響權(quán)重難以精確衡量,因此,該方法通常導致識別性能不穩(wěn)定的現(xiàn)象。
考慮到本文異常流量存在的不平衡問題以及攻擊行為分類所造成代價不一致問題,本文采用數(shù)據(jù)補充的方式實現(xiàn)數(shù)據(jù)擴充,考慮到過采樣和欠采樣存在的問題,本文提出一種強化生成式對抗網(wǎng)絡(luò)樣本數(shù)據(jù)增強技術(shù),該技術(shù)通過強化學習有效鑒別生成樣本的質(zhì)量,提升生成模型的收斂速度;通過梯度學習來不斷校正生成器生成樣本的質(zhì)量,提高樣本生成的可靠性。在此基礎(chǔ)上,考慮到本文需要處理流量時序交互關(guān)系,本文提出多層的特征融合加強深度神經(jīng)網(wǎng)絡(luò)特征傳遞的思路,通過構(gòu)建層間的跳躍鏈接,遞歸優(yōu)化高層次特征表達,實現(xiàn)通道間高低層特征的融合[24-28],實現(xiàn)流量異常行為識別。
生成式對抗網(wǎng)絡(luò)(GAN,Generative Adversarial Networks)是一種深度學習模型,是近年來復雜分布上無監(jiān)督學習最具前景的方法之一。模型通過框架中(至少)2 個模塊:生成模型(Generative Model)和判別模型(Discriminative Model)的對抗學習生成接近真實樣本分布的樣本。生成式神經(jīng)網(wǎng)絡(luò)的樣本生成過程如圖1 所示。
圖1 生成式神經(jīng)網(wǎng)絡(luò)的樣本生成過程
從圖1 可知,基于樣本特征和隨機噪音輸入生成模型將生成假樣本,然后將假樣本輸入到判別模型,如果判別模型判斷該樣本為假,那么就要微調(diào)生成模型和判別模型的參數(shù),如果生成為真,則將生成的樣本放進去真實樣本庫中,如此迭代,便能擴充真實樣本庫。
針對異常流量數(shù)據(jù)樣本少的問題,本文采用生成式神經(jīng)網(wǎng)絡(luò)在少量訓練數(shù)據(jù)上進行快速學習,生成大量的數(shù)據(jù)解決樣本稀缺的問題;應對數(shù)據(jù)不平衡問題,本文在采用生成式神經(jīng)網(wǎng)絡(luò)+強化學習以保證系統(tǒng)實現(xiàn)模型的快速收斂。采用強化學習在學習過程中通過學習樣本的迭代優(yōu)化不斷提升真實經(jīng)驗樣本池質(zhì)量和數(shù)量。樣本分布規(guī)律則利用歷史樣本的特征分布不斷提高生成模型G 的性能,讓生成器盡可能學習到真實的數(shù)據(jù)分布。樣本的生成過程如圖2 所示。
圖2 基于生成式神經(jīng)網(wǎng)絡(luò)的樣本生成框架圖
本文采用隨機抽樣的方式獲取真實樣本,然后將真實樣本加入真實經(jīng)驗樣本池X中。利用隨機噪音+Z(樣本特征)訓練生成式神經(jīng)網(wǎng)絡(luò)得到生成模型G。
利用樣本特征分布概率不斷改進生成模型G,提高生成模型G所生成樣本的質(zhì)量。
其中,G(z)表示生成器基于真實樣本特征生成的樣本。真實樣本以(狀態(tài)sz,動作az)出現(xiàn),基于當前真實樣本的狀態(tài)和動作,生成器生成(狀sz’,動作az’),生成器的目標是讓G1(z)與G2(z)具有較高的相似度,以此達到“以假亂真”的目的,因此,本文采用KL 散度來表示兩者的相似度。
然后利用判別模型對生成樣本的質(zhì)量進行判別,結(jié)合真實樣本和生成樣本,采用強化學習的算法來選擇高質(zhì)量的樣本供深度神經(jīng)網(wǎng)絡(luò)學習。
強化學習過程中真實樣本是以(狀態(tài)s,動作a),(后續(xù)狀態(tài)s’,動作a’)成對出現(xiàn)的,上一時刻狀態(tài)s對應相應的動作a,下一時刻將判斷為真的生成樣本納入真實經(jīng)驗樣本池后,由于真實經(jīng)驗樣本池樣本數(shù)量增多,其樣本狀態(tài)遷移至后續(xù)狀態(tài)s’,并獲得獎賞r。因此,真實經(jīng)驗樣本池包括為兩部分:
獎勵r表示為:
其中表示在到達狀態(tài)的獎勵值。
為了尋找最優(yōu)策略,避免判斷模型對生成樣本鑒別的能力“時好時壞”,本文將樣本選擇的最優(yōu)策略定義為:
為了挖掘網(wǎng)絡(luò)流量數(shù)據(jù)的多維度時空特征,本文將各個節(jié)點獲取的流量數(shù)據(jù)序列進行重構(gòu),構(gòu)成能夠反映網(wǎng)絡(luò)流量拓撲結(jié)構(gòu)的網(wǎng)絡(luò)流量數(shù)據(jù)。每一個觀測周期的流量數(shù)據(jù)序列按照時間進行排序,多個觀察周期的流量數(shù)據(jù)序列形成一個二維矩陣數(shù)據(jù),本文采用二維數(shù)組定義流量樣本數(shù)據(jù)庫,定義二維數(shù)組a[m][n],其中m為觀察周期所獲取,n為每個觀察周期流量樣本量,一般取一個設(shè)定的值。二維數(shù)組排列的順序按照地理位置順序存放流量樣本,即內(nèi)存中按照順序存放第1 個地理位置在m個觀察周期所采集的流量樣本,再放3 個地理位置在m個觀察周期所采集的流量樣本,依次存放。為了方便后續(xù)的特征提取,本文對每一個樣本的流量數(shù)據(jù)轉(zhuǎn)化成字符串填充到每一行中,由于人口分布是不均勻的,因此流量采集器在地理位置上分布也是不均勻的,因此對于沒有流量采集器地理位置的數(shù)據(jù)用用0 進行填充,從而構(gòu)成特定尺寸的流量樣本數(shù)據(jù)庫。圖3 是對m個觀察周期的流量數(shù)據(jù)進行重構(gòu)的示意圖。
圖3 流量數(shù)據(jù)重構(gòu)示意圖
重構(gòu)后的數(shù)據(jù)通過填充0 的方式,形成了N×M尺寸的樣本數(shù)據(jù),然后采用DenseNet(Dense Convolutional Network)來實現(xiàn)網(wǎng)絡(luò)流量多層次特征的提取。DenseNet通過加強了特征之間的傳遞,更有效實現(xiàn)了多層次特征的提取。DenseNet 算法流程圖如圖4 所示。
圖4 基于DenseNet的多層次特征提取過程示意圖
圖4 展示了基于DenseNet 的多層次特征提取過程,輸入的是118×118 的樣本,采用卷積層1(7×7 卷積核,步長為1)對數(shù)據(jù)進行卷積,獲得輸出是112×112 的特征向量,然后采用池化層1(3×3 卷積核,步長為2)進行池化,輸出為56×56 的特征向量,最后將其輸入到dense block 層(每一個dense block 層包含4 個1*1 的卷積操作層和3*3 的卷積操作層),得到融合各通道的、56×56 的特征向量。經(jīng)過卷積層、池化層以及dense block 層的處理,不僅能降維減少計算量,又能融合各個通道的特征,形成多層次特征提取,最終達到減少feature map 數(shù)量的目的。重復2 次同樣操作,最終得到14×14 的特征向量。
由此可知,采用DenseNet 對重構(gòu)后的流量數(shù)據(jù)進行多層次特征提取后,獲取正常流量的多層次特征和異常流量的多層次特征后,采用Softmax 函數(shù)實現(xiàn)異常流量識別。
為了驗證本文方法的有效性,設(shè)計該實驗,在一個SDN網(wǎng)絡(luò)中部署一個流量異常監(jiān)測的小工具。該工具包含了流量收集、異常樣本生成、多層次特征提取、流量表示、異常識別、異常處理這些模塊。完成流量異常監(jiān)測示意圖如圖5 所示。
圖5 基于DenseNet的多層次特征提取過程示意圖
本文的流量數(shù)據(jù)集的相關(guān)信息如表1 所示:
表1 流量數(shù)據(jù)集相關(guān)信息
本文算法主要是基于TensorFlow 平臺實現(xiàn),為了加速生成式神經(jīng)網(wǎng)絡(luò)的訓練,使用NVIDIA-1060 GPU 顯卡。在訓練的過程中,本次實驗分別隨機抽取了50 個傳統(tǒng)攻擊流量數(shù)據(jù)和20 個新型攻擊流量數(shù)據(jù)作為訓練集,另分別抽取20 個傳統(tǒng)攻擊流量數(shù)據(jù)和10 個新型攻擊流量數(shù)據(jù)作為驗證集。訓練的回合次數(shù)本文設(shè)置為200,生成每一個回合的循環(huán)次數(shù)為50,批次大小為10。通過多次訓練,獲得生成式網(wǎng)絡(luò)的參數(shù)。然后隨機分別抽取200 個傳統(tǒng)攻擊流量數(shù)據(jù)和50 個新型攻擊流量數(shù)據(jù)放進生成式神經(jīng)網(wǎng)絡(luò)生成對應的流量數(shù)據(jù),參考文獻[29],計算原始流量數(shù)據(jù)與生成新流量數(shù)據(jù)之間的相似度。表2 展示了傳統(tǒng)攻擊和新型攻擊生成數(shù)據(jù)與原始數(shù)據(jù)的相似度對比情況。
表2 相似度對比
由表2 可知,兩種數(shù)據(jù)集生成數(shù)據(jù)與原始數(shù)據(jù)的相似度大于90%,能夠在一定程度上解決流量異常檢測過程中由于訓練數(shù)據(jù)不足,無法得到足夠的流量數(shù)據(jù)的情況下,實現(xiàn)對異常流量的監(jiān)測。
在此基礎(chǔ)上,本實驗通過模擬真實SDN 網(wǎng)絡(luò)環(huán)境的流量產(chǎn)生及攻擊行為,實現(xiàn)網(wǎng)絡(luò)流量異常檢測。通過模擬普通的SDN 流量、攻擊行為(主要測試DDoS、DoS、端口掃描3 種行為)、攻擊監(jiān)測以及攻擊反饋等一系列的操作流程,采用不同的算法對流量異常檢測的準確性進行對比。
為了展現(xiàn)本文算法的有效性,本文將傳統(tǒng)的長短期記憶網(wǎng)絡(luò)(Long Short Term Memory,LSTM)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)和本文的算法進行對,具體的操作流程是將上述的算法對流量特征提取后再進行分,對比各種算法的準確率。精準率表示: 預測正確的樣本的數(shù)量與所有被預測樣本數(shù)量的比值,具體如圖6 所示。
圖6 3種算法的準確率對比圖
實驗結(jié)果的準確率如圖6 所示,從圖中可以看出,由于攻擊行為存在隨機性、多樣化的特征,3 種算法在5次的模擬攻擊過程中準確率都存在一定的波動,這歸因于網(wǎng)絡(luò)攻擊行為特征獲取能力不足和數(shù)據(jù)存在一定的過擬合現(xiàn)象。在應對網(wǎng)絡(luò)攻擊特征獲取能力上,本文通過DenseNet 對網(wǎng)絡(luò)流量進行多層次特征提取,這種方法通過構(gòu)建層間的跳躍鏈接,遞歸優(yōu)化高層次特征表達,以通道間高低層特征的語義來定義攻擊行為的特征,不僅能夠有效獲取局部細節(jié)感知,還能更有效獲取攻擊行為的整體感知,因此在一定程度上提升網(wǎng)絡(luò)流量的特征提取能力,較CNN 單一的空間特征和LSTM 單一的時間特征提取效果好。應對數(shù)據(jù)的過擬合問題,本文采用生成式神經(jīng)網(wǎng)絡(luò)來生成異常流量數(shù)據(jù),引入強化學習不斷提升異常流量樣本庫的數(shù)量和質(zhì)量,從而有效應對現(xiàn)實網(wǎng)絡(luò)中異常流量數(shù)據(jù)偏少的問題,提升模型對異常流量的識別率。
為了進一步對比不同算法的性能,本文通過計算3種算法的召回率來衡量不同算法在數(shù)據(jù)不平衡的條件下對異常流量識別的能力,召回率表示的是數(shù)據(jù)正樣本中有多少被預測正確,其反映了分類器檢測網(wǎng)絡(luò)攻擊的能力。
3 種算法的召回率對比如圖7 所示。
圖7 3種算法的召回率對比圖
實驗結(jié)果的召回率如圖7 所示,從圖中可以看出,本文算法的表現(xiàn)最好。其次是CNN,最后是LSTM。這是因為本文采用DenseNet 對重構(gòu)后的流量數(shù)據(jù)進行多層次特征提取,從而有效提升新型攻擊類型流量特征提取的能力。CNN 算法雖然在一定程度上刻畫了網(wǎng)絡(luò)流量時序的交互關(guān)系,但是其不擅長提取時間序列特征,因此無法很好反映網(wǎng)絡(luò)受到攻擊時流量在時間維度的變化情況。表現(xiàn)最差的是LSTM,這是因為該算法通常用來提取時間序列流量特征,并不擅長刻畫網(wǎng)絡(luò)流量時序的交互關(guān)系,而恰恰這種交互關(guān)系在刻畫網(wǎng)絡(luò)攻擊行為時至關(guān)重要。由此可知,本文算法的召回率表現(xiàn)相較于CNN 和LSTM算法好。
另外,本文還對比了3 種算法的漏檢率,漏檢率表示未發(fā)現(xiàn)異常流量的數(shù)量占總數(shù)量的比例,3 種算法的漏檢率對比如圖8 所示。
圖8 3種算法的漏檢率對比圖
從圖8 可知,其余兩種算法的漏檢率幾乎是本文算法的2 倍。在流量異常檢測中,誤判正常類不會造成很嚴重的后果,相反,漏檢網(wǎng)絡(luò)異常流量可能會造成很嚴重的后果。本文由于采用生成式神經(jīng)網(wǎng)絡(luò)對新型攻擊的樣本進行擴充后,采用DenseNet 對重構(gòu)后的流量數(shù)據(jù)進行多層次特征提取,從而有效提升新型攻擊類型流量特征提取的能力,進而降低了網(wǎng)絡(luò)異常流量的漏檢率。
最后,本文還對比了3 種算法的平均處理時間,3 種算法的平均處理時間對比如圖9 所示。
圖9 3種算法的平均處理時間對比圖
從圖9 可知,其余兩種算法的平均處理時間遠遠大于本文算法,這是因為本文采用多個dense block 層實現(xiàn)降維大大減少了模型的計算量,從而在很多程度上提升算法的處理速度。
本文針對特征提取和異常流量識別問題,提出了融合生成式神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò)的流量異常檢測方法。在特征提取方面,利用DenseNet 方法構(gòu)建神經(jīng)網(wǎng)絡(luò)層間的跳躍鏈接,采用遞歸優(yōu)化高層次特征表達方法融合通道間高低層特征的語義特征,實現(xiàn)多層次特征提取。在流量識別方面,利用生成式神經(jīng)網(wǎng)絡(luò)的優(yōu)勢,生成異常流量數(shù)據(jù),避免數(shù)據(jù)不平衡給流量分類帶來的不準確問題。實驗表明,本文提出的融合生成式神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò)的流量異常檢測方法在準確率、召回率、漏檢率以及平均處理時間均優(yōu)于傳統(tǒng)深度學習的方法,由此可知,本文的算法對網(wǎng)絡(luò)異常流量檢測有不錯的效果,可用在日常網(wǎng)絡(luò)異常流量檢測。