亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種數(shù)據(jù)增強與混合神經(jīng)網(wǎng)絡的異常流量檢測

        2020-04-11 02:56:18連鴻飛郭文忠
        小型微型計算機系統(tǒng) 2020年4期
        關鍵詞:網(wǎng)絡流量卷積流量

        連鴻飛,張 浩,郭文忠

        (福州大學 數(shù)學與計算機科學學院,福州 350116)(福建省網(wǎng)絡計算與智能信息處理重點實驗室,福州 350116)

        1 引 言

        隨著網(wǎng)絡技術的不斷發(fā)展,互聯(lián)網(wǎng)已經(jīng)覆蓋了社會生活的方方面面.在當今社會,網(wǎng)絡技術在文化、經(jīng)濟、教育等各個領域都有著非常廣泛而深入的應用.2019年2月28日,中國互聯(lián)網(wǎng)絡信息中心(CNNIC)發(fā)布第43次《中國互聯(lián)網(wǎng)絡發(fā)展狀況統(tǒng)計報告》顯示,截至2018年12月,我國網(wǎng)民規(guī)模達8.29億,互聯(lián)網(wǎng)普及率為59.6%[1].各種新型網(wǎng)絡應用不斷興起,改變了人們的生活、學習和工作方式,對我國的社會結構產(chǎn)生了深遠的影響.

        網(wǎng)絡技術的廣泛應用一方面推動了國民經(jīng)濟的快速發(fā)展,另一方面也帶來了前所未有的挑戰(zhàn).借助網(wǎng)絡空間的開放性,木馬、病毒、惡意軟件擴大了傳播范圍,各種針對電腦和手機應用程序漏洞的新型攻擊手段不僅越來越高級而且越來越隱蔽,不僅給國民經(jīng)濟造成損失并且影響網(wǎng)絡空間的穩(wěn)定運行,甚至威脅到了國家安全.在網(wǎng)絡空間的信息交互中通常以數(shù)據(jù)流為基本單位,網(wǎng)絡流量數(shù)據(jù)中包含大量敏感信息.如何通過實時分析網(wǎng)絡流量數(shù)據(jù)實現(xiàn)網(wǎng)絡態(tài)勢感知,及時發(fā)現(xiàn)網(wǎng)絡異常流量并采取防范處理措施,對于提高網(wǎng)絡應急響應能力、維護網(wǎng)絡空間安全等都有著重要意義.

        網(wǎng)絡異常流量檢測[2]不僅能夠檢測未知的網(wǎng)絡攻擊,還可以為網(wǎng)絡態(tài)勢感知提供重要支持.異常流量與正常流量區(qū)別較大,會影響網(wǎng)絡性能甚至導致用戶無法正常訪問互聯(lián)網(wǎng).引起網(wǎng)絡流量異常的原因有以下兩種[3]:一是網(wǎng)絡性能原因,主要指網(wǎng)絡拓撲結構設計不合理或用戶操作不當造成的異常流量,例如網(wǎng)絡管理員網(wǎng)絡策略設置不當、網(wǎng)絡設備故障等;二是網(wǎng)絡安全原因,主要指網(wǎng)絡惡意攻擊行為造成的異常流量,例如拒絕服務攻擊(Dos)、遠程訪問攻擊(R2L)、探針攻擊(Probe)等.目前的研究熱點是網(wǎng)絡安全原因引起的網(wǎng)絡流量異常.

        2 相關工作

        目前,異常流量檢測領域使用的機器學習算法可分為淺層學習與深度學習兩種.淺層學習主要包括:支持向量機、決策樹、隨機森林、k-means等.文獻[4]提出一種基于特征選擇的入侵檢測方法,利用離散化與特征選擇算法生成多個特征子集,用分類算法對提取后的特征進行學習建模,進而對攻擊進行檢測.文獻[5]提出一種針對基于SVM入侵檢測系統(tǒng)的毒性攻擊方法,其思想是通過篡改訓練數(shù)據(jù)進而誤導SVM模型訓練,進而降低模型的檢測效果.文獻[6]通過人工特征分析與SVM優(yōu)化相結合的方法進行攻擊檢測,但是存在檢測率較低的問題,難以滿足實時監(jiān)測的需求.文獻[7]提出基于極限學習機(ELM)特征映射的K最近鄰算法(KNN)的入侵檢測模型,其思想是通過ELM將樣本轉化為線性可分,再通過KNN進行分類實現(xiàn)攻擊檢測.淺層學習模型已經(jīng)被證明能解決一些簡單且有良好約束的問題,但在處理高維非線性的網(wǎng)絡流量特征數(shù)據(jù)等復雜模式時往往效果不佳.

        近年來,深度學習模型[8]因為其優(yōu)秀的表征學習能力引起了業(yè)界的重視[9-11].應用于網(wǎng)絡入侵檢測的深度學習模型主要包括深度神經(jīng)網(wǎng)絡(DNN),卷積神經(jīng)網(wǎng)絡(CNN),循環(huán)神經(jīng)網(wǎng)絡(LSTM)和深度置信網(wǎng)絡(DBN).文獻[12]針對數(shù)據(jù)量大,訓練時間長,容易陷入局部最優(yōu)的問題.提出一種基于深度置信網(wǎng)絡和概率神經(jīng)網(wǎng)絡(PNN)的入侵檢測方法.文獻[13]提出了一種基于循環(huán)神經(jīng)網(wǎng)絡的入侵檢測,并使用NSL-KDD數(shù)據(jù)集用于評估模型的性能,以及神經(jīng)元數(shù)量和不同學習率對模型性能的影響.文獻[14]提出一種基于深度神經(jīng)網(wǎng)絡的入侵檢測方法,使用較少的連接和參數(shù),具有易于訓練等優(yōu)點,但存在檢測率不高的問題.文獻[15]提出一種基于會話的網(wǎng)絡流量預處理方法,并結合多層降噪自編碼器(SDA),從原始網(wǎng)絡流量中提取特征并使用softmax分類器完成檢測.文獻[16]以字節(jié)為單位將流量轉換為圖片,再通過卷積池化等一系列操作,最后得到分類結果,該方法在檢測率上有較好的結果.深度學習模型通過學習低維特征表示,在處理復雜的網(wǎng)絡流量數(shù)據(jù)時有較好的檢測效果.

        目前,網(wǎng)絡異常流量檢測領域存在如下問題:1)異常流量檢測中存在的數(shù)據(jù)不平衡問題.如NSL-KDD數(shù)據(jù)集中權限提升攻擊(user to root,U2R)的樣本數(shù)量遠少于其它攻擊如拒絕服務攻擊(Dos)與遠程訪問攻擊(R2L)的樣本數(shù)量.導致異常流量檢測模型在訓練時對少數(shù)類攻擊樣本學習不夠,在實際檢測中容易漏報少數(shù)類攻擊.多數(shù)文獻更注重于提升異常流量檢測模型總體的評價指標,如檢測率、誤報率等,而忽視了對少數(shù)類的檢測問題.然而在真實的網(wǎng)絡空間中,這些少數(shù)類攻擊相比于多數(shù)類攻擊更具破壞力與危險性;2)一般的機器學習方法屬于淺層學習,難以發(fā)現(xiàn)高維特征之間的相關性,故無法有效學習網(wǎng)絡流量數(shù)據(jù)中的高維特征,存在檢測準確率較低、誤報率較高的問題;3)異常流量檢測的深度學習模型中,卷積神經(jīng)網(wǎng)絡能夠?qū)W習網(wǎng)絡流量數(shù)據(jù)中的空間特征,但是存在無法學習網(wǎng)絡流量數(shù)據(jù)時序特征的問題.長短時記憶網(wǎng)絡能夠?qū)W習網(wǎng)絡流量數(shù)據(jù)中的時序特征,但是一方面無法學習到網(wǎng)絡流量數(shù)據(jù)中的空間特征,另一方面只能學習單個方向的時序特征,而網(wǎng)絡流中的數(shù)據(jù)是雙向的.單獨使用CNN或者LSTM都只能提取網(wǎng)絡流量數(shù)據(jù)中的部分特征,存在一定的局限性.

        針對上述存在的問題,本文提出基于SMOTE(Synthetic Minority Oversampling Technique)結合ENN(Edited Nearest Neighbor)(下文簡寫為SMOTE-ENN)與CNN,雙向LSTM混合神經(jīng)網(wǎng)絡相結合的網(wǎng)絡異常流量異常流量檢測模型,并給出了具體的結構.首先,在數(shù)據(jù)預處理階段,采用SMOTE-ENN算法對少數(shù)類樣本進行過采樣的同時對多數(shù)類樣本進行降采樣后形成平衡數(shù)據(jù)集.然后通過卷積神經(jīng)網(wǎng)絡的卷積與池化操作能更好地提取出網(wǎng)絡流量數(shù)據(jù)中的空間特征關系,挖掘出潛在的異常流量.接著利用雙向長短時記憶網(wǎng)絡對具有持續(xù)性特點的網(wǎng)絡流量數(shù)據(jù)進行學習建模,獲得網(wǎng)絡流量數(shù)據(jù)內(nèi)在的時序特征.再通過注意力機制對網(wǎng)絡流量屬性特征的重要性進行計算,最后通過MLP網(wǎng)絡輸出檢測結果.混合型深度學習網(wǎng)絡結構能更好的挖掘網(wǎng)絡流量數(shù)據(jù)中的高維特征,提高異常流量檢測模型的檢測效果.在NSL-KDD數(shù)據(jù)集上的實驗結果表明,本文所提網(wǎng)絡異常流量檢測模型在各項評價指標上均有提升.

        3 相關算法

        3.1 SMOTE算法

        由于網(wǎng)絡異常流量檢測中存在數(shù)據(jù)不平衡的問題,現(xiàn)有檢測方法對少數(shù)類攻擊樣本的檢測率較低,因此采用SMOTE算法來增加少數(shù)類攻擊樣本的數(shù)量,使檢測模型能更好的學習少數(shù)類樣本,進而提高對其的檢測率.

        SMOTE算法[17]是一種經(jīng)典的數(shù)據(jù)過采樣方法.其核心思想是在少數(shù)類別樣本中隨機抽取一個樣本點,并在其k個近鄰之間,插入n個人工合成的少數(shù)類樣本,達到平衡數(shù)據(jù)的目的,使得分類器能更好的對少數(shù)類樣本進行預測,提高分類精度.SMOTE算法示意圖如圖1所示.

        算法1.SMOTE過采樣

        輸入:訓練樣本集f,近鄰數(shù)k

        輸出:過采樣后的訓練樣本集f′

        1.對于少數(shù)類中的每個樣本x,根據(jù)歐式距離求得其相鄰的k個近鄰;

        2.從k個近鄰中隨機選擇n個樣本;

        3.對于每個隨機選中的近鄰xi,其中1

        xnew=x+random(0,1)*x-xi

        (1)

        3.2 ENN算法

        由于SMOTE算法選取樣本具有隨機性,當在不同樣本集邊緣的樣本點進行鄰近插值時容易合成噪聲數(shù)據(jù),造成模糊樣本邊界的問題.因此,本文使用ENN算法[18]來對經(jīng)過SMOTE算法處理過的數(shù)據(jù)進行降采樣處理.

        ENN算法是一種基于KNN(K-NearestNeighbor)的降采樣算法,其核心思想是遍歷每個樣本點xi,計算其k個最近鄰樣本中每種類別出現(xiàn)的次數(shù),如果與xi不同的類別占多數(shù),則將xi視為噪聲數(shù)據(jù)并將其刪除.算法示意圖如圖2所示.

        圖1 SMTOE算法示意圖Fig.1 Schematic diagramof SMOTE algorithm圖2 ENN算法示意圖Fig.2 Schematic diagramof ENN algorithm

        3.3 數(shù)據(jù)歸一化

        由于網(wǎng)絡流量特征之間具有量綱關系,為了使其之間具有可比性,本文對網(wǎng)絡流量特征矩陣中每一條網(wǎng)絡流相對應的特征進行數(shù)值歸一化.具體過程如下:

        假設網(wǎng)絡流量特征矩陣M可以用m行n列表示,M∈Rm×n,m為網(wǎng)絡數(shù)據(jù)流的個數(shù),n為網(wǎng)絡數(shù)據(jù)流特征的維數(shù):

        (2)

        根據(jù)每一列的特征來進行劃分則可以將矩陣M表示為:

        M=[Y1,Y2,Y3,…,Yn]

        (3)

        (4)

        其中,Yi代表第i個特征在數(shù)據(jù)集中的取值.

        (5)

        最后經(jīng)過歸一化處理的網(wǎng)絡流量特征矩陣可以表示為:

        (6)

        4 混合神經(jīng)網(wǎng)絡模型

        卷積神經(jīng)網(wǎng)絡與雙向長短時記憶網(wǎng)絡(BLSTM)都是深度學習中較為常用的算法.CNN的優(yōu)勢在于能夠在空間維度上提取表征能力強的高層特征.BLSTM的優(yōu)勢在于能夠從正反兩個方向?qū)π蛄袛?shù)據(jù)提取其時序特征.對于高維復雜的網(wǎng)絡流量特征數(shù)據(jù)不僅需要考慮其空間上的聯(lián)系,也需要考慮其時間維度上的關聯(lián)信息.基于上述特點,本文采用串聯(lián)的方式對兩種網(wǎng)絡進行結合,充分利用其空間與時間上的表征能力,并加入注意力機制對特征重要性進行計算,最后通過MLP來實現(xiàn)分類,構建的模型如圖3所示.下面對混合神經(jīng)網(wǎng)絡模型的各層作出詳細描述.

        圖3 混合神經(jīng)網(wǎng)絡模型Fig.3 Hybrid neural network model

        4.1 卷積神經(jīng)網(wǎng)絡

        卷積神經(jīng)網(wǎng)絡的基本網(wǎng)絡結構由輸入層、卷積層、池化層、全連接層、輸出層構成.模型一般會被設計成若干個卷積層與池化層的組合.

        (7)

        其中,f為ReLU(非線性激活函數(shù)),Wl為該卷積層第l個卷積核,b代表該卷積核的偏置,Xi;,i+d-1是Xi,Xi+1,…,Xi+d-1拼接而成的網(wǎng)絡流量特征子序列.當一個卷積核對X0;d-1到Xn-d+1;n中的每個特征子序列進行遍歷后,得到該卷積核生成的特征圖,如式(8)所示:

        (8)

        將所有卷積核生成的特征圖進行堆疊得到新的序列表示如式(9)所示:

        Vs=[v1,v2,…,vn-d+1]

        (9)

        池化層對卷積后生成的序列Vs進行池化操作,常用的池化操作有平均池化與最大池化,本文模型使用最大池化.首先特征圖Vl經(jīng)過池化分成N塊,并將每塊中的最大值順序拼接起來,得到長度為N的向量pl,如式(10)所示:

        (10)

        4.2 雙向長短時記憶網(wǎng)絡

        長短時記憶網(wǎng)絡(LSTM)主要用于處理具有時序特征的數(shù)據(jù),序列中每個元素的輸出不僅與當前的輸入有關,而且與之前的狀態(tài)有關.因此長短時記憶網(wǎng)絡會將之前的信息進行記憶并應用于當前輸出的計算中.因為每條網(wǎng)絡流中的數(shù)據(jù)包之間具有時序性,如兩臺主機TCP三次握手的數(shù)據(jù)包以及建立連接后交互的數(shù)據(jù)包之間都具有時序性,故異常流量檢測還需挖掘網(wǎng)絡流量數(shù)據(jù)中存在的時序相關特征,檢測當前狀態(tài)時還應考慮過往的結果.為了挖掘網(wǎng)絡流量間深層的時序關系,本文使用BLSTM去處理上節(jié)CNN中所提取的特征向量P.

        BLSTM由兩個方向的LSTM組成,在每個時間步上輸出由遺忘門ft,輸入門it、輸出門ot三個門協(xié)同控制,每個門都與前一模塊的輸出bt-1和當前時刻的輸入pt有關,這些門共同決定如何更新當前記憶細胞的狀態(tài)和當前的異常狀態(tài).

        將池化后的特征圖序列P視為一個時間序列并輸入BSLTM網(wǎng)絡中.對于正向長短時記憶網(wǎng)絡,依次輸入pn1,pn2,…,pN;對于反向長短時記憶網(wǎng)絡,依次輸入pN,pN-1,…,pn1.通過BLSTM計算每個特征前后特征影響下的輸出狀態(tài).將正向最后一個網(wǎng)絡單元的輸出與反向最后一個網(wǎng)絡單元的輸出級聯(lián),得到包含網(wǎng)絡流量數(shù)據(jù)空間特征與時間特征的向量.

        在時間步t上,正向LSTM按下式對pt進行特征提取:

        it=σ(Wi·[ht-1,pt]+bi)

        (11)

        ft=σ(Wf·[ht-1,pt]+bf)

        (12)

        qt=tanh(Wq·[ht-1,pt]+bq)

        (13)

        ot=σ(Wo·[ht-1,pt]+bo)

        (14)

        ct=ft*ct-1+it*qt

        (15)

        bt=ot*tanh(ct)

        (16)

        反向LSTM按下式對pt進行特征提?。?/p>

        it=σ(Wi·[ht+1,pt]+bi)

        (17)

        ft=σ(Wf·[ht+1,pt]+bf)

        (18)

        qt=tanh(Wq·[ht+1,pt]+bq)

        (19)

        ot=σ(Wo·[ht+1,pt]+bo)

        (20)

        ct=ft*ct-1+it*qt

        (21)

        bt=ot*tanh(ct)

        (22)

        其中,σ是sigmoid函數(shù);tanh為雙曲正切函數(shù);Wi、Wf、Wq、Wo為權重矩陣;bi、bf、bq、bo為偏置項;bt為t時刻的輸出;it為t時刻的輸入門,對輸入信息進行選擇操作;ft為t時刻的遺忘門,對需要被遺忘的信息進行遺忘操作;ot為t時刻的輸出門,用來對輸出信息進行選擇;ct為t時刻的細胞狀態(tài),用來判斷哪些信息應該被存儲;*為按元素乘.

        池化后的特征圖序列P經(jīng)過BLSTM網(wǎng)絡的處理后得到包含網(wǎng)絡流量數(shù)據(jù)空間特征與時間特征的向量T:

        T=[b1,bn]=[t1,t2,…,tn]

        (23)

        其中,bn為正向最后一個單元的輸出,b1為反向最后一個單元的輸出,n為BLSTM輸出序列的長度.

        4.3 注意力機制

        在異常流量檢測的過程中,每個特征對攻擊記錄的貢獻度是不同的,本文引入注意力機制對異常流量檢測貢獻度大的特征給予更高的權重,并對這些特征進行加權求和,得到新的特征表示.使用注意力機制能使特征更好的表示網(wǎng)絡流量數(shù)據(jù).

        式(24)對BLSTM處理后得到的特征ti使用tanh激活函數(shù)進行非線性變換得到ui,式(25)使用softmax函數(shù)得到各分量ui的權重Wα=[α1,α1,…,αn],最后式(26)對BLSTM的輸出向量T求加權和,得到網(wǎng)絡流量特征的總體表示S.

        ui=tanh(Wtti+bt)

        (24)

        αi=softmax(Wui)

        (25)

        (26)

        相比于直接將BLSTM的輸出直接輸入到分類器,經(jīng)過注意力機制處理后的特征更有利于提升檢測模型的效果.

        4.4 MLP

        多層感知機MLP是一種前饋神經(jīng)網(wǎng)絡,主要包含輸入層、隱層與輸出層,其中隱層可以有多層.MLP網(wǎng)絡結構簡單收斂速度快,有利于提升模型的泛化能力.本文在MLP網(wǎng)絡中加入非線性激活函數(shù)ReLU與Dropout技術來對網(wǎng)絡流量特征的總體表示S作進一步處理,之后再通過softmax分類輸出,達到避免模型過擬合與提升模型泛化能力的目的.若直接將網(wǎng)絡流量特征的總體表示S從softmax分類輸出,缺少進一步的處理,容易影響模型的檢測效果與泛化性.

        MLP網(wǎng)絡的計算公式如下:

        y=fdense(Wdense·S+bdense)

        (27)

        (28)

        其中Wdense為全連接層權重矩陣,bdense為偏置項,fdense為激活函數(shù),yi為全連接輸出特征的第i維,P(yi)為預測類別i的概率,0≤P(yi)≤1,N為類別總數(shù).

        5 基于數(shù)據(jù)增強與混合神經(jīng)網(wǎng)絡的異常流量檢測模

        5.1 異常流量檢測模型

        基于數(shù)據(jù)增強與混合神經(jīng)網(wǎng)絡的異常流量檢測模型包括以下三個步驟,如圖4所示.

        圖4 基于數(shù)據(jù)增強與混合神經(jīng)網(wǎng)絡的異常流量檢測模型Fig.4 Netflow anomaly detection model based on dataenhancement and hybrid neural netwok

        1)數(shù)據(jù)預處理.通過過采樣算法SMOTE與降采樣算法ENN來增加少數(shù)類樣本的數(shù)量.接著將符號型特征映射為數(shù)值型,最后將數(shù)據(jù)進行歸一化處理,生成標準數(shù)據(jù)集.

        2)網(wǎng)絡流量數(shù)據(jù)高維特征提取.將預處理后的標準數(shù)據(jù)集輸入混合神經(jīng)網(wǎng)絡中進行高維特征提取.首先通過卷積神經(jīng)網(wǎng)絡的卷積與池化操作提取網(wǎng)絡流量數(shù)據(jù)中的空間特征;接著使用雙向長短時記憶網(wǎng)絡提取網(wǎng)絡流量數(shù)據(jù)中的時序特征;然后通過注意力機制計算網(wǎng)絡流量屬性特征的重要性,最后得到網(wǎng)絡流量數(shù)據(jù)的高維特征表示.

        3)分類器.通過MLP分類器,對網(wǎng)絡流量高維特征數(shù)據(jù)進行分類,并輸出檢測結果.

        在信息系統(tǒng)內(nèi)的重要網(wǎng)絡鏈路上進行上述流程的處理,即可得到異常流量檢測模型,從而實現(xiàn)對進出信息系統(tǒng)的流量進行異常檢測.

        5.2 損失函數(shù)

        在模型訓練時,需要根據(jù)損失函數(shù)來計算損失,從而通過反向傳播來進行參數(shù)調(diào)整.本文模型使用多分類交叉熵函數(shù)來作為模型的損失函數(shù).另外,為了防止模型過擬合,在損失函數(shù)中加入正則化項:

        (29)

        其中,W為權值矩陣,b為偏置,λ為權重衰減系數(shù),y為真實結果,f(x)為分類器的輸出結果.

        5.3 優(yōu)化算法

        本文模型使用基于minibatch的隨機梯度下降法來作為模型的優(yōu)化算法,并加入動量參數(shù)ρ來提高算法的穩(wěn)定性,參數(shù)的更新過程如下所示:

        Δωi=ρωi-1-αωiH(ω)

        (30)

        ωi+1=ωi+Δωi

        (31)

        其中,α為學習率,H(ω)為損失函數(shù).

        5.4 模型訓練

        異常流量檢測模型訓練過程如算法2所示.

        算法2.異常流量檢測模型訓練過程

        輸入:訓練數(shù)據(jù)集{(x1,y1),…,(xi,yi)},神經(jīng)網(wǎng)絡層數(shù)N,權重矩陣W,偏置b,學習率α,動量ρ,batchz_size大小為m.H(W,b)為損失函數(shù),zi為第i層的輸出,Wt與bt為上輪迭代時的權重矩陣與偏置

        輸出:更新后的權重矩陣W,偏置b

        1.Begin

        2.從訓練數(shù)據(jù)集中讀取m個樣本

        4.foriin rang(N-1,1)

        5.φi←(Wi)Tφi+1f(zi)

        8.end for

        9.End

        6 實驗與結果分析

        本文實驗環(huán)境參數(shù)如表1所示.

        表1 實驗環(huán)境參數(shù)
        Table 1 Experimental environment parameters

        類別 參 數(shù)操作系統(tǒng)Ubuntu 16.04,64bit處理器Intel Xeon E5-2620 2.10GHz內(nèi)存64 GB DDR3顯卡NVIDIA Tesla P100TensorFlow1.12.0

        6.1 NSL-KDD數(shù)據(jù)集

        本文使用2009年公布的NSL-KDD數(shù)據(jù)集[19]來進行模型訓練與測試.NSL-KDD數(shù)據(jù)集去除了KDD99數(shù)據(jù)集中的冗余數(shù)據(jù),使得數(shù)據(jù)分布更加合理.NSL-KDD數(shù)據(jù)集中包含了KDDTrain+,KDDTrain_20percent,KDD-Test+,KDDTest-21四個子數(shù)據(jù)集.數(shù)據(jù)集中的每一條連接記錄有41個特征,第1個到第10個特征包含網(wǎng)絡連接的基本信息,第11個到第22個特征包含網(wǎng)絡連接的內(nèi)容信息,第23個到第41個特征包含流量的特征信息.在測試集中包含有訓練集中未出現(xiàn)過的17種攻擊類型,目的是用來檢測模型的泛化能力.攻擊類型分為以下四類:拒絕服務攻擊(Dos)、探測攻擊(Probe)、遠程用戶攻擊(R2L)以及提權攻擊(U2R).NSL-KDD數(shù)據(jù)集的數(shù)據(jù)分布與包含的攻擊類別如表2、表3所示.

        表2 NSL-KDD數(shù)據(jù)分布
        Table 2 Data distribution of NSL-KDD dataset

        TotalNormalDosProbeR2LU2RKDDTrain+12597367343459271165699552KDDTest+225449711745824212754200KDDTest-21118502152434224022754200

        表3 NSL-KDD包含的攻擊類型
        Table 3 Attack types in NSL-KDD dataset

        攻擊類別攻擊子類Probeipsweep,nmap,portsweep,satanDosback,land,neptune,pod,smurf,teardropU2Rbuffer_overflow,perl,loadmodule,rootkitR2Lftp_write,guess_passwd,imap,multhop phf,spy,warezclient,warezmaster

        6.2 數(shù)據(jù)集預處理

        1)數(shù)據(jù)集過采樣

        由表2可以看出,NSL-KDD數(shù)據(jù)集中存在不平衡和問題,攻擊樣本中的U2R的數(shù)量遠少于Dos與Normal的樣本數(shù)量.故本文結合SMOTE與ENN算法對少數(shù)類樣本進行過采樣.過采樣前后的結果如表4所示.

        表4 數(shù)據(jù)過采樣前后對比
        Table 4 Data oversampling comparison before and after

        TotalNormalDosProbeR2LU2R采樣前12597367343459271165699552采樣后3351026652567010670286734167198

        2)符號型特征數(shù)值化

        本文采用映射的方法將符號型特征轉換為數(shù)值型特征.比如特征protocol_type有3種類型:tcp,udp,icmp,分別映射為1,2,3.同理,對于70種類型的特征service,我們將其映射為1~70的數(shù)值.對于11種類型的特征flag,我們將其映射為1~11的數(shù)值.

        3)數(shù)值型特征歸一化

        NSL-KDD數(shù)據(jù)集中存在離散型與連續(xù)型的特征,這些特征的取值范圍不同.為了消除各屬性特征之間的量綱影響,需要將訓練集與測試集按式(5)進行歸一化處理.

        6.3 評價指標

        為驗證本文模型的有效性,表5列出了分類問題預測結果的混淆矩陣.其中,TP為模型檢測正確的攻擊樣本數(shù);FP為模型檢測為攻擊實際為正常的樣本數(shù);TN為模型檢測正確的正常樣本數(shù);FN為模型檢測為正常實際為攻擊的樣本數(shù);測試樣本總數(shù)Total=TP+FN+FP+TN.異常流量檢測模型的評價指標如下:

        準確率(Accuracy Rate,AR)是模型正確檢測的樣本數(shù)占總樣本數(shù)的比值,表達式如下:

        (32)

        檢測率(Detection Rate,DR)是模型正確檢測的攻擊樣本數(shù)占總攻擊樣本數(shù)的比值,表達式如下:

        (33)

        誤報率(False Alarm Rate,F(xiàn)AR)是模型檢測為攻擊實際為正常的樣本數(shù)占總正常樣本數(shù)的比值,表達式如下:

        (34)

        表5 混淆矩陣
        Table 5 Confusion martix

        樣本真實屬性樣本預測結果攻擊樣本正常樣本攻擊樣本TP-正確預測FN-錯誤預測正常樣本FP-錯誤預測TN-正確預測

        6.4 超參數(shù)分析

        6.4.1 卷積核尺寸對實驗結果的影響

        卷積核的尺寸與特征提取的質(zhì)量相關,不合適的尺寸大小會因為特征提取的不完整影響檢測結果.為了驗證卷積核尺寸對檢測結果的影響,本文設置了1,2,3,4,5等5種不同尺寸的卷積核,實驗結果如圖5所示.從圖中可以看出當卷積核尺寸為3時,模型的準確率與誤報率優(yōu)于其他幾種尺寸.同時也可看出過大或者過小的卷積核尺寸在檢測效果上都有所降低.故本文將卷積核尺寸設為3.

        圖5 卷積核尺寸對實驗結果的影響Fig.5 Effect of convolution kernel size on experimental results

        6.4.2 BLSTM的設置對實驗結果的影響

        LSTM在時序信息的處理中起著重要作用,合適的設置能有效改善異常流量檢測模型的檢測效果.為了找到適合本文模型的LSTM網(wǎng)絡結構,本節(jié)設置了4種結構:單層BLSTM32個隱藏層節(jié)點,單層BLSTM64個隱藏層節(jié)點,雙層BLSTM32個隱藏層節(jié)點,雙層BLSTM64個隱藏層節(jié)點.實驗結果如圖6所示.從圖中可以看出結構2得到的檢測效果最好,故將模型設置為單層BLSTM64個隱藏層節(jié)點.

        6.5 數(shù)據(jù)過采樣效果對比

        SMOTE算法適用于存在數(shù)據(jù)不平衡的場景中,例如本文的異常流量檢測領域.考慮到使用SMOTE算法對少數(shù)類樣本進行過采樣可能會產(chǎn)生噪聲數(shù)據(jù)造成模型過擬合,本文在數(shù)據(jù)層面使用ENN算法來對過采樣后的數(shù)據(jù)進行降采樣處理,達到消除噪聲數(shù)據(jù)的目的;在模型層面,通過使用非線性激活函數(shù)ReLU與Dropout并在損失函數(shù)中添加正則化項來達到避免模型過擬合目的.為了驗證SMOTE-ENN算法的有效性,將經(jīng)過算法處理前后的數(shù)據(jù)集在混合神經(jīng)網(wǎng)絡上進行驗證.實驗結果如圖7所示,經(jīng)過過采樣預處理的數(shù)據(jù)集相較于未處理過的數(shù)據(jù)集在Normal、Probe、Dos、U2R與R2L類的檢測率上分別提升了0.31%、0.42%、4.26%、10.5%與3.78%,總體準確率上提升了2.14%.少數(shù)類別樣本經(jīng)過過采樣后在檢測率均有所提升,其中少數(shù)類樣本U2R提升最為明顯.實驗結果不僅驗證了數(shù)據(jù)過采樣對于提升模型檢測效果的有效性,還可以看出檢測模型沒有出現(xiàn)過擬合的現(xiàn)象并具有一定的泛化性.在真實的網(wǎng)絡空間環(huán)境中,可將檢測到的異常流量樣本加入檢測模型中進行訓練,進一步提升檢測模型的檢測率.

        圖6 BLSTM的設置對實驗結果的影響Fig.6 Influence of BLSTM setting on experimental results

        圖7 過采樣前后檢測率對比Fig.7 Comparison of detection rate before andafter data oversampling

        6.6 實驗與結果分析

        在本節(jié)中,通過對比傳統(tǒng)的機器學習模型與近幾年先進的深度學習模型,驗證本文所提模型的可行性與有效性.

        6.6.1 二分類對比實驗

        在二分類實驗中,檢測結果分為正常與異常兩種.本文使用KDDTrain+、KDDTrain+_20%作為訓練集訓練模型,KDDTest+、KDDTest-21作為測試集進行多次實驗測試.

        第一個實驗中,使用KDDTrain+作為訓練集訓練模型,本文模型與文獻[13,14,19]在測試集上的分類準確率如表所示.從表6中可以看出本文模型在測試集KDDTest+,KDDTest-21上的分類準確率均高于傳統(tǒng)的機器學習模型以及CNN與RNN模型,達到了86.75%與80.07%.表明單獨使用CNN模型提取空間特征,或者RNN模型提取時序特征存在一定的局限性.本文模型將二者相結合,在分類準確率上有了更進一步的提升.由于在本文模型中使用了非線性激活函數(shù)ReLU與SGD優(yōu)化算法,使得在檢測難度較大的KDDTest-21測試集得到了不錯的檢測結果,進一步說明了本文模型在面對復雜與未知的網(wǎng)絡異常流量時有著優(yōu)異的識別能力.

        表6 在KDDTest+與KDDTest-21測試集上的結果對比
        Table 6 Results on KDDTest+ and KDDTest-21

        方法KDDTest+KDDTest-21隨機樹81.59%58.51%隨機森林80.67%63.26%J4881.05%63.97%NB76.56%55.77%NBTree82.02%66.16%MLP77.41%57.34%CNN77.71%60.02%NPCNN82.59%69.20%RNN83.28%68.55%本文模型86.75%80.07%

        第二個實驗中,使用KDDTrain+_20%作為訓練集訓練本文模型,KDDTest-21測試集測試并計算了模型的準確率、檢測率以及誤報率這三個指標.與文獻[14,20]的對比結果如表7所示,表中展示了數(shù)據(jù)集進行特征提取前后的分類結果差異,以及不同特征提取方法之間的比較結果.從中可以看出深度學習方法的檢測效果優(yōu)于LDA、PCA等線性特征提取方法,這是因為網(wǎng)絡流量特征是非線性數(shù)據(jù),深度學習方法在處理這種類型的數(shù)據(jù)時更有優(yōu)勢.同時可看出本文模型達到了最好的檢測效果,準確率和檢測率分別為69.63%和68.02%.

        表7 在Test-21測試集上的比較
        Table 7 Comparsion on KDDTest-21

        方法AccuracyDRFARMLP47.97%41.47%22.62%LDA+MLP49.12%41.80%17.20%PCA+MLP54.48%48.01%16.42%RCDFT+MLP61.75%56.55%14.83%CNN57.86%58.13%43.31%NPCNN63.21%58.24%14.41%本文模型69.63%68.02%23.14%

        第三個實驗中,對KDDTrain+數(shù)據(jù)集進行十折交叉驗證,并與文獻[11,14]進行對比,對比結果如表8所示.從表中可以看出稀疏自編碼方法(SAE)的準確率要優(yōu)于自編碼方法(AE),這是由于網(wǎng)絡流量數(shù)據(jù)特征具有稀疏性.而本文模型要優(yōu)于其他的幾種深度學習方法,并且比最好的NPCNN要高出0.15%.

        表8 與其他深度學習模型比較
        Table 8 Comparsion with other deep learning models

        方法AccuracyAE97.02%SAE98.40%NPCNN99.05%本文模型99.20%

        綜合以上3個實驗可以看出無論是使用KDDTrain+還是KDDTrain+_20%作為訓練集,本文模型在檢測效果上均優(yōu)于其他模型.并且隨著訓練集數(shù)據(jù)量的增大,本文模型的各項檢測指標也都有更進一步的提升.

        6.6.2 多分類對比實驗

        在多分類實驗中,使用KDDTrain+作為訓練集訓練模型,KDDTest+作為測試集進行測試.分類結果為Normal以及Probe、Dos、U2R、R2L四種異常.

        在數(shù)據(jù)不平衡的多分類問題中,由于少數(shù)類攻擊的樣本數(shù)較少,模型對其學習的不夠充分使得在異常檢測中傾向于選擇數(shù)據(jù)集中的多數(shù)類,導致少數(shù)類的檢測率不高進而造成較高的誤報率,采取SMOTE-ENN過采樣算法來處理數(shù)據(jù)不平衡問題.本文選擇與單模型CNN、LSTM,混合模型CNN-LSTM、CNN-BLSTM等深度學習模型進行對比,檢測指標包括各類別的檢測率(DR),模型整體的準確率(Acc)與誤報率(FAR).對比結果如表9所示,從表中可看出在模型的整體的準確率上,本文模型的實驗結果優(yōu)于其他深度學習模型,說明本文模型充分挖掘了網(wǎng)絡流量中的空間特征與時序特征,并對其進行了有效的學習與訓練,進而提升了模型整體的準確率.在誤報率上,本文模型也取得了不錯的效果,20.25%為所有模型中最低.對于少數(shù)類樣本U2R與R2L,本文模型相比其他深度學習模型優(yōu)勢明顯.本文模型在檢測率,準確率以及誤報率上均優(yōu)于其他幾種深度學習方法,說明本文模型不僅可以處理少數(shù)類樣本檢測率較低的問題而且對于測試集中存在的未知攻擊樣本也具有一定的檢測能力.

        表9 多分類結果比較(%)
        Table 9 Comparison of multiple classification results(%)

        方法NormalProbeDosU2RR2LDRDRDRDRDRAccFARCNN96.6264.6878.255.006.8675.3449.72LSTM97.2062.4977.554.508.0675.2650.04CNN-LSTM94.8080.7178.7205.5976.2348.03CNN-BLSTM96.4968.1177.047.0026.0777.6145.06本文模型96.8068.5381.3017.5029.8579.7541.20

        綜合以上二分類與多分類的實驗對比,可以看出本文提出的異常流量檢測模型不僅優(yōu)于傳統(tǒng)的機器學習模型,而且相比于其他深度學習模型也有一定的優(yōu)勢.主要原因如下:1)考慮了異常流量檢測中數(shù)據(jù)不平衡問題對檢測結果的影響;2)結合了卷積神經(jīng)網(wǎng)絡與雙向長短時記憶網(wǎng)絡的特點,充分挖掘了網(wǎng)絡流量數(shù)據(jù)的高維特征;3)加入注意力機制,對貢獻度大的特征賦予更高的權重.

        6.7 模型建模時間對比

        表10展示了本文模型與其他深度學習模型以50epochs批尺寸128為基準在不同數(shù)據(jù)規(guī)模訓練集下的建模時間對比,包括模型訓練時間與模型測試時間.從表中可以看出模型的訓練時間不僅與訓練數(shù)據(jù)的規(guī)模成正比而且與模型的復雜程度成正比.在單模型中,CNN可通過GPU加速計算,故模型訓練時間要比LSTM短.由于混合模型的網(wǎng)絡結構與訓練參數(shù)比單模型要復雜,故混合模型的訓練時間要比單模型長.本文模型對少數(shù)類攻擊樣本進行了過采樣,增加了訓練數(shù)據(jù)的規(guī)模,使得模型訓練時間要長于其他模型.在測試時間上本文模型與其他深度學習模型接近.從上節(jié)的對比實驗的結果可以看出過采樣算法的使用對于模型在各個檢測指標上的提升,雖然本文模型在訓練時間上要長于其他模型,但由此換來的檢測性能提升是值得的.另外可以通過提升硬件性能或采用并行計算來縮短本文模型的訓練時間與測試時間.

        表10 模型訓練與測試時間對比(秒)
        Table 10 Comparison of model training and test time(s)

        20%訓練集50%訓練集100%訓練集100%測試集CNN561212092.15LSTM781683122.21CNN-LSTM42698921522.23CNN-BLSTM515112525832.22本文模型767138431332.27

        7 結 語

        針對目前網(wǎng)絡異常流量檢測中存在的數(shù)據(jù)不平衡以及檢測模型檢測率較低、誤報率較高的問題,本文提出一種過采樣算法與混合神經(jīng)網(wǎng)絡相結合的網(wǎng)絡異常流量檢測模型.通過SMOTE-ENN算法對少數(shù)類樣本進行過采樣,檢測模型采用了卷積神經(jīng)網(wǎng)絡與雙向長短時記憶網(wǎng)絡相融合的結構,能綜合分析網(wǎng)絡流量數(shù)據(jù)中的空間特征與時間特征,并加入注意力機制使得模型相比于目前的機器學習與深度學習模型具有更高的準確率和更低的誤報率.實驗結果表明,本文提出的模型在各項評價指標上都有一定的提升,能較好的應對當前網(wǎng)絡空間中復雜入侵模式的挑戰(zhàn).深度學習應用于異常流量檢測領域還處于起步階段.今后將針對以下2個方面進行更進一步的研究:1)利用大數(shù)據(jù)分析處理平臺來實現(xiàn)分布式計算;2)通過GAN網(wǎng)絡來進行少數(shù)類樣本的生成.

        猜你喜歡
        網(wǎng)絡流量卷積流量
        基于多元高斯分布的網(wǎng)絡流量異常識別方法
        冰墩墩背后的流量密碼
        玩具世界(2022年2期)2022-06-15 07:35:36
        基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
        張曉明:流量決定勝負!三大流量高地裂變無限可能!
        基于神經(jīng)網(wǎng)絡的P2P流量識別方法
        尋找書業(yè)新流量
        出版人(2020年4期)2020-11-14 08:34:26
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        基于傅里葉域卷積表示的目標跟蹤算法
        AVB網(wǎng)絡流量整形幀模型端到端延遲計算
        一種基于卷積神經(jīng)網(wǎng)絡的性別識別方法
        電視技術(2014年19期)2014-03-11 15:38:20
        免费人成黄页网站在线观看国产| a级毛片无码免费真人| 亚洲av熟妇高潮30p| 91尤物在线看| 91九色播放在线观看| 国产精品毛片无遮挡| 久久99精品久久久久久hb无码| 中文无码日韩欧免费视频| 蜜桃视频一区视频二区| 一本大道熟女人妻中文字幕在线 | 黄色国产一区二区99| 国产偷国产偷精品高清尤物| 久久99精品久久久久久| 亚洲蜜芽在线精品一区| 放荡成熟人妻中文字幕| 网禁拗女稀缺资源在线观看| 国产欧美日韩专区| 国产精品毛片大尺度激情| 亚洲人成在久久综合网站| 99久久精品日本一区二区免费| 久久se精品一区精品二区国产| 白白色青青草视频免费观看| 久久天天躁夜夜躁狠狠85麻豆| 中文字幕av一区中文字幕天堂| 亚洲熟女av中文字幕网站| 美女被黑人巨大入侵的的视频| 国产精久久一区二区三区| 国产精品久久久久久久久KTV| 亚洲国产日韩av一区二区| 日本一区二区精品高清 | 免费亚洲一区二区三区av| 40岁大乳的熟妇在线观看| 色老头久久综合网老妇女| 日韩日本国产一区二区| 国产freesexvideos中国麻豆| 2019年92午夜视频福利| 亚洲精品中文字幕二区| 亚洲天堂二区三区三州| 国产精品沙发午睡系列990531| 天堂在线观看av一区二区三区| 美女与黑人巨大进入免费观看|