商富博, 韓忠華,2*, 林 碩,2, 單 丹, 戚爰偉
(1.沈陽建筑大學(xué)信息與控制工程學(xué)院, 沈陽 110168; 2.中國科學(xué)院沈陽自動化研究所數(shù)字工廠研究室, 沈陽 110016)
隨著互聯(lián)網(wǎng)時代的到來,網(wǎng)絡(luò)安全問題顯得尤為重要,大量的網(wǎng)絡(luò)流量數(shù)據(jù)導(dǎo)致網(wǎng)絡(luò)環(huán)境面臨著巨大威脅,一旦遭受黑客的惡意攻擊,將會給人們的日常生活乃至國家安全帶來隱患。入侵檢測技術(shù)能夠保障網(wǎng)絡(luò)安全,近年來受到學(xué)術(shù)科研領(lǐng)域的廣泛關(guān)注,其通過建立入侵檢測模型,學(xué)習(xí)網(wǎng)絡(luò)流量數(shù)據(jù)的特征信息,從而準確識別未知的攻擊行為。
在入侵檢測技術(shù)的研究中,文獻[1]提出了一種基于異卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測方法,采用兩種不同的卷積神經(jīng)網(wǎng)絡(luò)提取網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù),從而得到最優(yōu)模型,結(jié)果表明該方法具有良好的性能,但該方法的缺點是模型容易陷入過擬合[1];文獻[2]提出了基于相關(guān)信息熵和融合卷積神經(jīng)網(wǎng)絡(luò)和雙向長短期記憶網(wǎng)絡(luò)(CNN-BiLSTM)的工業(yè)控制系統(tǒng)入侵檢測模型,將基于相關(guān)信息熵的特征選擇和深度學(xué)習(xí)算法相結(jié)合,提高了檢測精度,此方法的缺點為訓(xùn)練時間較長,模型結(jié)構(gòu)較復(fù)雜[2];文獻[3]提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測研究,可以自動從數(shù)據(jù)中提取局部特征,與已有的方法相比,所提方法具有更快的檢測準確率、更低的誤報率和更快的檢測速率,但是該方法僅考慮網(wǎng)絡(luò)流量數(shù)據(jù)的空間特征,忽略了網(wǎng)絡(luò)流量數(shù)據(jù)的時間特征[3];文獻[4]提出了一種融合卷積神經(jīng)網(wǎng)絡(luò)(CNN)與雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)的網(wǎng)絡(luò)入侵檢測方法,分別使用CNN模型、BiLSTM模型提取局部特征和長距離依賴特征,與單獨使用CNN和BiLSTM相比,該方法的準確率較高,誤報率較低,但該方法的模型參數(shù)較多,模型易陷入局部最優(yōu)[4]。
現(xiàn)設(shè)計一種融合深度可分離卷積神經(jīng)網(wǎng)絡(luò)(DSCNN)和雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)的DSCNN-BiLSTM模型[5],提出了一種基于DSCNN-BiLSTM的入侵檢測方法,使用主成分分析法(PCA)對網(wǎng)絡(luò)流量數(shù)據(jù)進行特征選擇,并創(chuàng)新性地將一維網(wǎng)絡(luò)流量數(shù)據(jù)轉(zhuǎn)化為三維圖像數(shù)據(jù)作為模型的輸入[6],利用深度可分離卷積神經(jīng)網(wǎng)絡(luò)(DSCNN)提取網(wǎng)絡(luò)流量數(shù)據(jù)的空間特征,將空間特征在時間上排列后,利用雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)挖掘網(wǎng)絡(luò)流量數(shù)據(jù)的時間特征,與其他入侵檢測方法相比,DSCNN-BiLSTM方法較輕量化,計算量低,具有較強的學(xué)習(xí)能力,大大提高了入侵檢測的性能。
網(wǎng)絡(luò)流量數(shù)據(jù)的特點是維數(shù)高、關(guān)聯(lián)性強,這會增加模型的訓(xùn)練時間,因此,需要對網(wǎng)絡(luò)流量數(shù)據(jù)進行特征降維,降低后續(xù)數(shù)據(jù)建模和處理的復(fù)雜度。
主成分分析法(PCA)是機器學(xué)習(xí)中最常用的線性降維方法,其通過投影變換將原始高維數(shù)據(jù)映射到低維子空間,在盡可能保留樣本方差的同時降低初始數(shù)據(jù)的維數(shù)[7],可以將許多高度相關(guān)的特征轉(zhuǎn)換為獨立或不相關(guān)的特征,變換后的特征子空間包含絕大多數(shù)原始高維數(shù)據(jù)的特征,即
(1)
式(1)中:X為原始數(shù)據(jù)集;x11,x12,…,xnp為特征值。
主成分分析的計算步驟:
第一步計算樣本相關(guān)系數(shù)矩陣:
(2)
式(2)中:R為相關(guān)系數(shù)矩陣;r11,r12,…,rpp為相關(guān)系數(shù)。為方便,假定原始數(shù)據(jù)標準化后仍用式X表示,則經(jīng)標準化處理后數(shù)據(jù)的相關(guān)系數(shù)為
(3)
第二步用雅克比方法求相關(guān)系數(shù)矩陣R的特征值(λ1,λ2,…,λp)和相應(yīng)的特征向量ai=(ai1,ai2,…,aip)。
第三步選擇重要的主成分,并寫出主成分表達式。
主成分分析可以得到p個主成分,但是,由于各個主成分的方差是遞減的,包含的信息量也是遞減的,所以實際分析時,一般不選取p個主成分,而是根據(jù)各個主成分[8]累計貢獻率的大小選取前k個主成分。這里貢獻率就是指某個主成分的方差占全部方差的比重,即
(4)
式(4)中:λ1,λ2,…,λp為相關(guān)系數(shù)矩陣的特征值;g為貢獻率,g越大,說明該主成分所包含的原始變量的信息越強,主成分個數(shù)k的選取,主要根據(jù)主成分的累積貢獻率來決定,即一般要求累計貢獻率達到95%以上,這樣才能保證變換后的數(shù)據(jù)包含原始數(shù)據(jù)的絕大多數(shù)信息,達到對網(wǎng)絡(luò)流量數(shù)據(jù)降維的目的。
近年來,深度可分離卷積被廣泛應(yīng)用于最新的深度神經(jīng)網(wǎng)絡(luò)中,逐漸取代了傳統(tǒng)的標準卷積。標準卷積是對所有的通道共同實現(xiàn)卷積運算,而深度可分離卷積將標準卷積分解為逐深度卷積和逐點卷積,不僅涉及空間維度,還涉及通道維度[9],其中逐深度卷積對每個輸入信道獨立執(zhí)行空間卷積,實現(xiàn)網(wǎng)絡(luò)流量數(shù)據(jù)的空間特征提取,然后使用逐點卷積對逐深度卷積提取出的空間特征進行融合,這種深度可分離卷積結(jié)構(gòu)能夠降低模型的復(fù)雜度,減小模型的參數(shù)和計算量,優(yōu)化模型速度。
設(shè)卷積層的輸入特征圖為I,大小為H×W×C,其中H為特征圖的長度,W為特征圖的寬,C為特征圖的通道數(shù);卷積核為M,大小為K×K×C×N,其中K為卷積核的大小,N為卷積層的輸出特征圖通道數(shù)[10];輸出的特征圖為O,大小為H′×W′×N,其中H′和W′分別為輸出特征圖的高和寬,根據(jù)標準卷積的定義,可得
(5)
標準卷積參數(shù)數(shù)量為
x1=K×K×N×C
(6)
計算量為
y1=K×K×C×N×H′×W′
(7)
而與標準卷積不同,深度可分離卷積每一個卷積核分別對應(yīng)一個通道,可分離卷積可表述為
(8)
深度可分離卷積參數(shù)數(shù)量為
x2=K×K×C+1×1×C×N
(9)
計算量為
y2=K×K×H′×W′×C+C×H′×W′×N
(10)
相比標準卷積,深度可分離卷積減小了模型的參數(shù)和計算量,使得模型輕量化??蓪Ρ榷叩膮?shù)數(shù)量比,即
(11)
可對比二者的計算量比,即
(12)
由式(11)和式(12)可見,當(dāng)卷積核大小為3×3時,深度可分離卷積的參數(shù)數(shù)量和計算成本大約為標準卷積的1/9,模型明顯輕量化,能夠大大提高模型的訓(xùn)練速度[11]。
相比長短期記憶網(wǎng)絡(luò)(LSTM),雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)是長短期記憶網(wǎng)絡(luò)(LSTM)的一種變體,能夠提取長距離依賴信息的特征,充分考慮前后特征之間影響。在單向LSTM中,信息由前向后流動,而在雙向LSTM中,包含一個前向LSTM層和一個后向LSTM層,一個從左到右處理時間特征,另一個從右到左處理時間特征,因此,BiLSTM能夠更好地捕捉前后特征之間的關(guān)聯(lián)性,得到更加全面的特征信息[12]。
設(shè)BiLSTM的輸入特征向量為x,在每一個時間步上,由三個門來控制細胞狀態(tài),分別為輸入門it、輸出門ot和忘記門ft。BiLSTM的第一步是通過忘記門ft來決定細胞需要舍棄哪些特征信息,通過前一個時間步的輸出ht-1和當(dāng)前時間步的輸入xt計算ft;第二步是通過輸入門決定給細胞狀態(tài)添加哪些特征信息[13],利用ht-1和xt通過一個tanh激活函數(shù)得到候選的細胞信息cnt,然后通過忘記門ft舍棄一部分細胞信息并添加cnt得到新的細胞信息ct;第三步根據(jù)ht-1和xt來判斷輸出細胞的哪些特征信息,此時需將輸入經(jīng)過輸出門輸出得到一個0~1的數(shù),然后將細胞狀態(tài)經(jīng)過一個tanh激活函數(shù)得到一個-1~1值的特征向量,該特征向量與經(jīng)輸出門得到的數(shù)相乘得到此時間步的輸出。在此時間步t上,利用 BiLSTM 模型的正向和反向部分對X進行特征提取,前向LSTM具體實現(xiàn)為
(13)
后向LSTM具體實現(xiàn)為
(14)
式中:σ為sigmoid激活函數(shù);tanh為雙曲正切函數(shù);bt為時間步的輸出;wi、wf、wc、wo分別為輸入門權(quán)值、忘記門權(quán)值、候選細胞權(quán)值和輸出門權(quán)值;bi、bf、bc、bo分別為輸入門偏置、忘記門偏置、候選細胞偏置和輸出門偏置。經(jīng)過BiLSTM雙向特征提取得到輸出的特征向量,能夠考慮到網(wǎng)絡(luò)流量數(shù)據(jù)前后特征之間的相關(guān)性,從而提高入侵檢測的識別準確率[14]。
提出一個基于DSCNN-BiLSTM的入侵檢測方法,將深度學(xué)習(xí)應(yīng)用到入侵檢測技術(shù)中,該方法的整體流程如圖1所示,主要包括五部分:①數(shù)據(jù)的預(yù)處理,包括數(shù)據(jù)的數(shù)值化處理和數(shù)據(jù)的歸一化處理,其能夠有效解決數(shù)據(jù)樣本不同特征取值范圍不同的問題[15];②數(shù)據(jù)的特征選擇,由于網(wǎng)絡(luò)流量數(shù)據(jù)之間存在著高度的相關(guān)性,故運用主成分分析法對高維的數(shù)據(jù)進行特征降維,可以減少數(shù)據(jù)集的冗余度;③數(shù)據(jù)的圖像化處理,將一維的網(wǎng)絡(luò)流量數(shù)據(jù)轉(zhuǎn)換為三維圖像作為模型的輸入;④構(gòu)建DSCNN-BiLSTM模型;⑤使用KDDCUP99網(wǎng)絡(luò)流量數(shù)據(jù)集進行訓(xùn)練、驗證和測試[16]。
圖1 基于DSCNN-BiLSTM的入侵檢測方法流程圖Fig.1 Intrusion detection method flow chart based on DSCNN-BiLSTM
KDDCUP99數(shù)據(jù)集包含約500萬條網(wǎng)絡(luò)流量數(shù)據(jù),是入侵檢測領(lǐng)域公認的數(shù)據(jù)集,選用其中10%的子集作為本文的入侵檢測數(shù)據(jù)。數(shù)據(jù)集每個樣本包含41個特征,共分為四類:TCP連接的基本特征共9種、TCP連接的內(nèi)容特征共13種、基于時間的網(wǎng)絡(luò)流量統(tǒng)計特征共9種和基于主機的網(wǎng)絡(luò)流量統(tǒng)計特征共10種。每個樣本被標記為“正常類型”或“攻擊類型”,這些攻擊類型可分為四類:拒絕服務(wù)攻擊(DOS)、遠程到本地的未授權(quán)訪問(R2L)、未授權(quán)的本地超級用戶特權(quán)訪問(U2R)和端口監(jiān)視(PROBING)[17]。
KDDCUP99數(shù)據(jù)集中protocol_tpye、service和flag這三個特征為字符型特征,而模型無法有效處理字符型特征,需將字符型特征做數(shù)值化處理。例如,protocol_tpye特征有三個值,分別為tcp、udp和icmp,應(yīng)用one-hot編碼后,其值分別為[1,0,0]、[0,1,0]和[0,0,1],對service和flag這兩個特征作同樣的處理,42列的數(shù)據(jù)集擴展成為122列,其中最后一列為樣本標記值[18]。
對五種樣本標記值Normal、DOS、R2L、U2R和PROBING進行編號,分別為0、1、2、3和4,便于在后續(xù)的訓(xùn)練、驗證和測試中對標記值進行one-hot編碼。
經(jīng)過數(shù)值化處理的網(wǎng)絡(luò)流量數(shù)據(jù)所有特征均為數(shù)值型特征,但是不同特征之間差異較大。例如第8個特征wrong_fragment,其值介于0~3, 而第16個特征num_root,其值介于0~7 468,這將促使模型認為第16個特征比第8個特征重要的多,而實際情況可能并非如此,這將會影響模型的訓(xùn)練效果,必須對網(wǎng)絡(luò)流量數(shù)據(jù)進行歸一化處理,本文采用z-score標準化方法,將數(shù)據(jù)集中的數(shù)據(jù)歸一化到[-1,1]區(qū)間之內(nèi),標準公式為[19]
(15)
網(wǎng)絡(luò)流量數(shù)據(jù)維度之間存在著冗余,且各個維度之間具有一定的相關(guān)性,這大大降低入侵檢測模型的訓(xùn)練時間,影響訓(xùn)練效果,因此,需對高維的網(wǎng)絡(luò)流量數(shù)據(jù)進行特征降維,以此減少數(shù)據(jù)集的冗余度,提高模型的檢測性能。
通過上文的預(yù)處理后,網(wǎng)絡(luò)流量數(shù)據(jù)的維度為122維,最后一維為樣本標記值,對網(wǎng)絡(luò)流量數(shù)據(jù)的前121維運用主成分分析法(PCA)進行特征降維,得到的累積貢獻率如圖2所示[20]。
圖2 累積貢獻率Fig.2 Cumulative contribution rate
由圖2可以看出,前90個主成分可以代表99%的網(wǎng)絡(luò)流量數(shù)據(jù),因此,要想在PCA特征降維后依舊保留原始數(shù)據(jù)集的大部分有效信息,應(yīng)選取的輸入維度為90~121,現(xiàn)選取108作為特征降維后的數(shù)據(jù)維度。
經(jīng)過上述處理,網(wǎng)絡(luò)流量數(shù)據(jù)為由108個有效特征組成的降維數(shù)據(jù)集,為了更好地提取網(wǎng)絡(luò)流量數(shù)據(jù)的特征信息,將一維度的網(wǎng)絡(luò)流量數(shù)據(jù)構(gòu)造成6×6×3的三維圖像作為DSCNN-BiLSTM模型的輸入,利用深度可分離卷積神經(jīng)網(wǎng)絡(luò)(DSCNN)提取網(wǎng)絡(luò)流量數(shù)據(jù)的空間特征信息,將所學(xué)到的特征輸入雙向長短期記憶網(wǎng)絡(luò)(BiLSTM),用于挖掘網(wǎng)絡(luò)流量數(shù)據(jù)的時間特征,由于輸入的三維圖像數(shù)據(jù)通道值為3,分別代表紅綠藍(RGB),三個顏色通道分別有不同的像素值(網(wǎng)絡(luò)流量數(shù)據(jù)的特征值),通過三個顏色通道相互之間的疊加來得到各式各樣的顏色,從而創(chuàng)新性的將一維網(wǎng)絡(luò)流量數(shù)據(jù)轉(zhuǎn)化為三維圖像數(shù)據(jù)作為模型的原始輸入,從而更好地提取網(wǎng)絡(luò)流量數(shù)據(jù)的空間特征,在數(shù)據(jù)集的五種樣本類型中,各選取一個隨機樣本轉(zhuǎn)換成三維圖像之后的可視化圖像如圖3所示。
圖3 轉(zhuǎn)換后的三維圖像數(shù)據(jù)Fig.3 Converted 3D image data
近年來,深度可分離卷積神經(jīng)網(wǎng)絡(luò)(DSCNN)被廣泛用于三維圖像的特征提取,其對輸入的每個通道進行獨立的空間卷積,然后通過逐點卷積將輸出通道混合,其不僅涉及空間維度,還涉及通道維度,使得參數(shù)和運算的數(shù)量得以減少,從而得到性能更好的模型,實現(xiàn)對網(wǎng)絡(luò)流量數(shù)據(jù)的空間特征提?。欢p向長短期記憶網(wǎng)絡(luò)(BiLSTM)能夠利用其順序敏感性的優(yōu)勢,充分考慮前后特征之間的影響,挖掘網(wǎng)絡(luò)流量數(shù)據(jù)的時間特征。
圖4 DSCNN-BiLSTM模型結(jié)構(gòu)圖Fig.4 Structure diagram of DSCNN-BiLSTM model
融合DSCNN和BiLSTM的入侵檢測模型針對網(wǎng)絡(luò)流量數(shù)據(jù)具有空間和時間的雙重特征實現(xiàn)對網(wǎng)絡(luò)流量數(shù)據(jù)的特征提取,模型的結(jié)構(gòu)如圖4所示。
DSCNN-BiLSTM模型的第1層為輸入層,網(wǎng)絡(luò)流量數(shù)據(jù)經(jīng)過圖像化處理后,轉(zhuǎn)化成為6×6×3的圖像數(shù)據(jù)作為模型的輸入。
第2層、第4層和第5層為卷積層,使用深度可分離卷積代替標準卷積,卷積核大小均為3×3,第2層步長為2,第4層和第5層步長為1,分別選取8、16和32種過濾器,輸入圖像數(shù)據(jù)大小6×6×3,通道數(shù)量為3,而在幾次卷積運算之后,圖像數(shù)據(jù)可以有多個通道,每個通道具有不同的特征信息,通過逐深度卷積對每個通道單獨進行空間特征提取,再通過逐點卷積實現(xiàn)特征融合,實現(xiàn)了通道內(nèi)卷積與通道間卷積的分離,從而在保證較高準確率的前提下減少模型參數(shù)和計算量,加快模型的收斂和訓(xùn)練速度,且在每個卷積層后使用BN方法,用來防止模型出現(xiàn)過擬合,提升模型的泛化能力。
第3層為池化層,池化能起到下采樣的作用,從而簡化網(wǎng)絡(luò)結(jié)構(gòu),減少網(wǎng)絡(luò)參數(shù),為增加網(wǎng)絡(luò)深度留下余地。
第6層為Flatten層,其將提取到的三維空間特征一維化,大小為64維;第7層為Dropout層,在模型訓(xùn)練時,按照概率0.5隨機將網(wǎng)絡(luò)中的某些神經(jīng)元丟棄掉,從而防止模型出現(xiàn)過擬合;第8層為全連接層,運用Reshape函數(shù)將提取到的空間特征轉(zhuǎn)化為1×64維的特征向量,將其作為雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)的輸入;第9層和第10層為BiLSTM層,針對雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)容易遇到性能瓶頸的問題,使用循環(huán)層堆疊的方法增大網(wǎng)絡(luò)容量,從而提升模型的檢測性能;第11層為SoftMax層,用于分類預(yù)測;最后一層為模型的輸出層,輸出模型的分類預(yù)測結(jié)果。
選用10%的KDDCUP99數(shù)據(jù)集作為本文的入侵檢測數(shù)據(jù),訓(xùn)練集、驗證集和測試集的比例為6∶2∶2,其中訓(xùn)練集用于模型訓(xùn)練,驗證集用于模型參數(shù)調(diào)優(yōu),測試集用于進行入侵檢測測試,實驗數(shù)據(jù)如表1所示。
為了驗證入侵檢測模型的檢測效果,搭建仿真環(huán)境,實驗的配置環(huán)境如表2所示。
表1 數(shù)據(jù)集信息Table 1 Dataset information
表2 實驗環(huán)境配置Table 2 Experimental environment configuration
入侵檢測模型的評價指標,主要包括準確率(ACC)、查準率(P)、漏報率(FNR)所有這些評價指標都派生自混淆矩陣(表 3)中的四個值。
TP:實際值為1,預(yù)測值為1,結(jié)果正確。
FP:實際值為0,預(yù)測值為1,結(jié)果錯誤。
FN:實際值為1,預(yù)測值為0,結(jié)果錯誤。
TN:實際值為0,預(yù)測值為0,結(jié)果正確。
表3 混淆矩陣Table 3 Confusion matrix
(16)
(17)
(18)
經(jīng)過數(shù)據(jù)的圖像化處理,一維的網(wǎng)絡(luò)流量數(shù)據(jù)已經(jīng)轉(zhuǎn)化為6×6×3的三維圖像數(shù)據(jù),將其作為入侵檢測模型的輸入,故模型的輸入層維度為6×6×3;由于入侵檢測數(shù)據(jù)共有5種類型,分別為Normal、DOS、R2L、U2R和PROBING,并分別編號為0、1、2、3和4,應(yīng)用one-hot編碼,分別轉(zhuǎn)換為[1,0,0,0,0]、[0,1,0,0,0]、[0,0,1,0,0]、[0,0,0,1,0]和[0,0,0,0,1],故模型的輸出層設(shè)置為5,模型結(jié)構(gòu)如表4所示。
表4 模型各層參數(shù)Table 4 Parameters of each layer of the model
在模型訓(xùn)練前,要進行超參數(shù)的設(shè)置,而不同的超參數(shù)會影響模型的訓(xùn)練效果,為了尋找相對最優(yōu)的超參數(shù),針對模型的激活函數(shù)、優(yōu)化算法和學(xué)習(xí)率等超參數(shù),作了對比實驗。
圖5 超參數(shù)對比實驗Fig.5 Superparametric comparative experiment
激活函數(shù)的主要作用是為模型增加非線性映射學(xué)習(xí)能力,sigmoid、relu和tanh等為深度學(xué)習(xí)中常見的激活函數(shù),在保證其他參數(shù)一致的情況下,進行對比實驗,實驗的對比效果如圖5(a)所示,可以看出,在模型穩(wěn)定后,relu函數(shù)的訓(xùn)練準確率大于sigmoid函數(shù)和tanh函數(shù),因此,relu激活函數(shù)的學(xué)習(xí)效果最好,故選取relu函數(shù)作為模型的激活函數(shù)。
在深度學(xué)習(xí)的領(lǐng)域,常見的優(yōu)化算法有SGD,Adam和RMSPROP等,其中SGD算法保持單一的學(xué)習(xí)率更新所有權(quán)重,學(xué)習(xí)率在網(wǎng)絡(luò)訓(xùn)練過程中并不會改變; RMSProp算法對梯度計算了微分平方加權(quán)平均數(shù),有利于解決訓(xùn)練過程中上下波動較大的問題;而Adam算法通過計算梯度的一階矩估計和二階矩估計為不同的參數(shù)設(shè)計獨立的自適應(yīng)性學(xué)習(xí)率,運用這三種優(yōu)化算法分別進行模型訓(xùn)練,訓(xùn)練的效果如圖5(b)所示,SGD算法的訓(xùn)練準確率較低,Adam算法的性能相對最優(yōu),故選擇Adam算法作為本模型的優(yōu)化算法。
學(xué)習(xí)率的設(shè)置在模型訓(xùn)練中至關(guān)重要,學(xué)習(xí)率設(shè)置的過大,會導(dǎo)致梯度在最小值附近來回浮動,使得模型無法收斂到最優(yōu);而學(xué)習(xí)率設(shè)置的過小,模型收斂速度將會變慢,且容易陷入局部最優(yōu),所以說,選擇一個合適的學(xué)習(xí)率,對于模型訓(xùn)練來說,顯得尤為重要,現(xiàn)通過設(shè)置不同的學(xué)習(xí)率進行對比實驗,將模型的訓(xùn)練精度作為評價指標,對比效果如圖5(c)所示,當(dāng)學(xué)習(xí)率為0.001時,訓(xùn)練效果最好,故設(shè)置模型的學(xué)習(xí)率為0.001。
本文應(yīng)用的10%KDDCUP99數(shù)據(jù)集有五種數(shù)據(jù)類型,故本文中是五分類實驗,選取交叉熵損失函數(shù)(categorical_crossentropy)作為模型的代價函數(shù),采用relu損失函數(shù)作為模型的激活函數(shù),設(shè)置學(xué)習(xí)率為0.001,應(yīng)用Adam優(yōu)化算法是實現(xiàn)反向傳播訓(xùn)練。
迭代次數(shù)和訓(xùn)練準確率的關(guān)系曲線如圖6(a)所示,迭代次數(shù)和損失值的關(guān)系曲線如圖6(b)所示,觀察兩組圖像可知,模型訓(xùn)練時,訓(xùn)練精度逐步上升最后趨于穩(wěn)定,損失值呈現(xiàn)穩(wěn)定下降的趨勢,最后趨近于0,可以得出模型具有良好得訓(xùn)練效果,已經(jīng)收斂到了最佳狀態(tài)。
為了驗證本文中提出的基于DSCNN-BiLSTM的入侵檢測方法的優(yōu)勢,將DSCNN-BiLSTM方法與CNN方法和LSTM方法進行對比,三種方法的迭代訓(xùn)練效果如圖7所示。
由圖7所示,CNN、LSTM和DSCNN-BiLSTM方法在15次迭代后均趨于穩(wěn)定,訓(xùn)練精度都在98%以上,DSCNN-BiLSTM方法的訓(xùn)練精度明顯好于CNN和LSTM。然后將本文方法與傳統(tǒng)的機器學(xué)習(xí)方法進行比較,評價指標為準確率(ACC)、查準率(P)、漏報率(FNR),如表5所示。
通過對比目前常用的入侵檢測算法可以看出,一些經(jīng)典的機器學(xué)習(xí)算法,比如SVM和KNN算法實驗效果較差,漏報率很高,而幾種深度學(xué)習(xí)算法
圖6 準確率和代價函數(shù)曲線Fig.6 Accuracy and cost function curve
圖7 三種深度學(xué)習(xí)算法對比Fig.7 Comparison of three deep learning algorithms
表5 模型對比Table 5 Model comparison
在各個指標上明顯好于經(jīng)典的機器學(xué)習(xí)方法,其中DSCNN-BiLSTM算法具有更高的準確率、更低的漏報率。最后針對5種不同數(shù)據(jù)類型,將本文方法與上述方法進行分類準確率的對比,如圖8所示。
圖8 不同方法對5種數(shù)據(jù)類型的準確率對比Fig.8 Comparison of accuracy of five data types by different methods
由圖8所示,DSCNN-BiLSTM算法對于5種數(shù)據(jù)類型的準確率分別為99.2%、98.8%、98.9%、99.3%和99.1%,均高于其他算法,證明了該方法的性能最佳,大大提高了入侵檢測的準確率。
在互聯(lián)網(wǎng)時代快速發(fā)展的今天,網(wǎng)絡(luò)流量數(shù)據(jù)的數(shù)量、復(fù)雜度和特征維度都在不斷增大,傳統(tǒng)的統(tǒng)計學(xué)方法、機器學(xué)習(xí)方法已經(jīng)不能滿足當(dāng)前入侵檢測的需求。提出了一種基于DSCNN-BiLSTM的入侵檢測方法,該方法將基于主成分分析的特征選擇和融合的深度學(xué)習(xí)方法相結(jié)合,使用深度可分離卷積神經(jīng)網(wǎng)絡(luò)(DSCNN)提取網(wǎng)絡(luò)流量數(shù)據(jù)的空間特征,引入了深度可分離卷積代替?zhèn)鹘y(tǒng)的卷積,使得模型輕量化;應(yīng)用雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)順序敏感性的優(yōu)勢,充分考慮前后特征之間的影響,挖掘網(wǎng)絡(luò)流量數(shù)據(jù)的時間特征。實驗結(jié)果表明,與其他方法相比,顯著提高了入侵檢測的準確率,降低了誤報率。但是由于入侵檢測測試所用的是KDDCUP99數(shù)據(jù)集,缺少對當(dāng)前實際網(wǎng)絡(luò)環(huán)境中網(wǎng)絡(luò)流量數(shù)據(jù)的驗證測試,因此,下一步計劃將該入侵檢測模型部署在網(wǎng)絡(luò)防火墻上,實時抓取網(wǎng)絡(luò)流量數(shù)據(jù),檢測該模型的實時性能。