劉海燕 叢菲
摘要:互聯(lián)網(wǎng)高速發(fā)展的今天,網(wǎng)絡(luò)安全日益引起人們的關(guān)注。但是,作為網(wǎng)絡(luò)安全核心要素的網(wǎng)絡(luò)入侵異常檢測技術(shù),仍然面臨著無法有效檢測未知攻擊的問題。在本文中,我們將半監(jiān)督模型SGAN用于網(wǎng)絡(luò)入侵檢測,基于nsl-kdd數(shù)據(jù)集進(jìn)行對比實(shí)驗(yàn)來證明,SGAN的模型相比有監(jiān)督模型,對含有未知攻擊的測試集有更高的檢測準(zhǔn)確率。
關(guān)鍵詞:入侵檢測;半監(jiān)督模型;未知攻擊
中圖分類號:TP311? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)32-0073-03
1 引言
目前主流的網(wǎng)絡(luò)入侵異常檢測方法基于有監(jiān)督模型,在訓(xùn)練和檢測過程中存在著不能有效檢測未知攻擊的問題。半監(jiān)督或無監(jiān)督模型是克服以上問題的有效方法。本文提出一種使用半監(jiān)督生成式對抗網(wǎng)絡(luò)(SGAN)的入侵異常檢測方法,并在nsl-kdd數(shù)據(jù)集上進(jìn)行了對比實(shí)驗(yàn)。實(shí)驗(yàn)表明,該方法能顯著提高對含有未知攻擊數(shù)據(jù)集的檢測精確度。
2 相關(guān)工作
Kwon等[1]綜述了深度學(xué)習(xí)技術(shù)在網(wǎng)絡(luò)入侵異常檢測領(lǐng)域的應(yīng)用情況,并通過實(shí)驗(yàn)驗(yàn)證了全連接神經(jīng)網(wǎng)絡(luò)模型相比于傳統(tǒng)淺層機(jī)器學(xué)習(xí)模型,能顯著提高檢測性能。尹傳龍[2] 利用循環(huán)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)網(wǎng)絡(luò)連接之間的時序特征,構(gòu)建了基于全連接循環(huán)神經(jīng)網(wǎng)絡(luò)的入侵檢測系統(tǒng),驗(yàn)證了該方法的有效性。Di Mattia等[3]對生成式對抗網(wǎng)絡(luò)在異常檢測領(lǐng)域的應(yīng)用作了綜述,但是在網(wǎng)絡(luò)入侵檢測中應(yīng)用生成式對抗網(wǎng)絡(luò)的研究很少。Augustus[4]通過使生成式對抗網(wǎng)絡(luò)的判別器輸出類別標(biāo)簽,將其擴(kuò)展為半監(jiān)督模型。本文使用Augustus的方法,基于nsl-kdd進(jìn)行實(shí)驗(yàn)驗(yàn)證,提高了在測試集上的檢測準(zhǔn)確率。
3 基于SGAN的入侵檢測模型
標(biāo)準(zhǔn)GAN[5]判別器的輸出層只有一個sigmoid單元以輸出其輸入屬于真實(shí)數(shù)據(jù)分布的概率。SGAN判別器使用softmax輸出層,輸出N+1個類別概率。其中N為輸入數(shù)據(jù)類別數(shù),1類為生成器生成數(shù)據(jù)。令[xlabel,ylabel]為真實(shí)樣本,[xfake,yfake]為偽樣本,[x,y]為真實(shí)樣本和偽樣本的集合,判別器損失函數(shù)為:
為避免模型訓(xùn)練中模式坍塌,使模型能生成多樣化的偽樣本,我們的檢測模型為生成器損失函數(shù)增加了Huber損失,并將[δ]設(shè)為1,其權(quán)重設(shè)置為0.0001, 生成器損失函數(shù)[Lg]為:
與標(biāo)準(zhǔn)GAN類似,我們同時訓(xùn)練生成器和判別器。訓(xùn)練算法如下:
for epoch in range(訓(xùn)練輪次N):
for i in range(每輪次迭代次數(shù)I) :
取m個隨機(jī)噪聲樣本,生成器生成m個生成樣本;
取m個真實(shí)數(shù)據(jù)樣本;
對生成器參數(shù)在m個生成樣本上執(zhí)行梯度下降。
對判別器參數(shù)在共2m個生成和真實(shí)數(shù)據(jù)混合樣本上執(zhí)行梯度下降;
4 實(shí)驗(yàn)與分析
4.1 數(shù)據(jù)集
NSL-KDD數(shù)據(jù)集的前身是KDD CUP 99,涵蓋39種攻擊,訓(xùn)練集有22種攻擊類型,17種攻擊只出現(xiàn)在測試集。KDD CUP 99存在過多冗余數(shù)據(jù),影響檢測模型實(shí)際檢測效果。NSL-KDD數(shù)據(jù)集以KDD CUP 99為基礎(chǔ),刪除大量重復(fù)記錄,合理配置了記錄數(shù)量和類型。目前,NSL-KDD數(shù)據(jù)集基本取代了KDD CUP 99,成為網(wǎng)絡(luò)流量入侵檢測領(lǐng)域的基準(zhǔn)數(shù)據(jù)集。與KDD CUP 99一樣NSL-KDD有39種攻擊類型,17種僅在測試集中出現(xiàn)。NSL-KDD數(shù)據(jù)集包括KDDTrain+、KDDTest+、KDDTest-21。
4.2 實(shí)驗(yàn)設(shè)置
首先對NSL-KDD數(shù)據(jù)集進(jìn)行了預(yù)處理,將41個特征中的三個非數(shù)值特征使用獨(dú)熱編碼轉(zhuǎn)換為數(shù)值特征,轉(zhuǎn)換后數(shù)據(jù)維度為122維。之后使用最大最小規(guī)范化方法將所有特征值規(guī)范到0至1的范圍內(nèi)。實(shí)驗(yàn)中使用KDDTrain+作為訓(xùn)練集,KDDTest+作為測試集,五種攻擊樣例作為異常樣例,進(jìn)行正常與異常流量的二分類任務(wù)。為保證對比實(shí)驗(yàn)客觀性,MODEL1和SGAN模型均采用學(xué)習(xí)率為0.0002的Adam優(yōu)化算法。
為評估SGAN模型對含有未知攻擊樣例的KDDTest+集檢測性能的提升,我們設(shè)置對照模型MODEL1,網(wǎng)絡(luò)結(jié)構(gòu)如圖1。該模型輸出層只有一個sigmoid單元,除輸出層外與SGAN模型判別器網(wǎng)絡(luò)結(jié)構(gòu)一致。SGAN模型判別器和生成器網(wǎng)絡(luò)結(jié)構(gòu)如圖2、圖3,判別器使用softmax輸出層,其三個輸出層神經(jīng)單元分別輸出樣例為正常流量、入侵流量和生成器偽造流量的概率。訓(xùn)練完成后,使用SGAN模型的判別器測試,輸出的入侵流量和生成器偽造流量的概率之和大于0.5,則判定為異常流量。
4.3 實(shí)驗(yàn)分析
對比實(shí)驗(yàn)中,對兩個模型在訓(xùn)練集上每訓(xùn)練10個輪次,即在測試集上進(jìn)行測試,共進(jìn)行80個輪次。檢測準(zhǔn)確率結(jié)果如表1所示。
SGAN模型檢測準(zhǔn)確率可達(dá)82.17%,MODEL1模型最高達(dá)80.13%,證明使用SGAN的模型能有效提高模型在含有未知攻擊的測試集上的檢測效果。但隨著訓(xùn)練輪次的增多,MODEL1模型檢測準(zhǔn)確率趨于穩(wěn)定,而SGAN模型達(dá)到最高點(diǎn)后開始下降,如圖 4所示。
采用有監(jiān)督學(xué)習(xí)的方式訓(xùn)練時,模型試圖找到正常和異常數(shù)據(jù)間的最佳的決策曲線以正確分類正常和異常數(shù)據(jù),如圖 5所示。當(dāng)新出現(xiàn)的未知異常樣例位于決策曲線正常一側(cè)時,有監(jiān)督模型會將未知異常錯誤分類為正常。這使有監(jiān)督模型在含未知攻擊的數(shù)據(jù)集上的檢測準(zhǔn)確率顯著低于不含未知攻擊的測試集。SGAN模型通過生成偽樣本,使判別器學(xué)習(xí)區(qū)分真實(shí)正常樣例、真實(shí)異常樣例與偽樣例,從而使判別器尋找真實(shí)正常樣例、真實(shí)異常樣例與偽樣例之間的決策曲線。測試時,判別器判定為偽樣例與真實(shí)異常樣例的樣例都視為異常,使判別器決策曲線如圖6所示,從而更好地檢測未知攻擊樣例。但當(dāng)生成器生成的偽正常樣例數(shù)據(jù)分布接近真實(shí)正常樣例時,判別器將正常樣例判定為異常的概率升高,從而使檢測準(zhǔn)確率反而下降。
5 總結(jié)
本文提出一種基于SGAN的入侵檢測模型,利用模型的生成器生成的偽樣本輔助訓(xùn)練判別器,以使判別器能更好的檢測未知攻擊,并通過對比實(shí)驗(yàn)分析了該方法。下步工作將針對本文模型生成器生成的偽樣本接近真實(shí)數(shù)據(jù)分布時,檢測準(zhǔn)確率反而下降的現(xiàn)象,繼續(xù)探索既能利用生成式對抗網(wǎng)絡(luò)擬合高維復(fù)雜數(shù)據(jù)分布能力,同時又能克服該現(xiàn)象的方法。
參考文獻(xiàn):
[1] Kwon D,Kim H,Kim J,et al.A survey of deep learning-based network anomaly detection[J].Cluster Computing,2019,22(1):949-961.
[2] 尹傳龍.基于深度學(xué)習(xí)的網(wǎng)絡(luò)異常檢測技術(shù)研究[D].戰(zhàn)略支援部隊(duì)信息工程大學(xué),2018.
[3] di Mattia F,Galeone P,de Simoni M,et al.A survey on GANs for anomaly detection[EB/OL].2019: arXiv:1906.11632[cs.LG]. https://arxiv.org/abs/1906.11632.
[4] Odena A.Semi-supervised learning with generative adversarial networks[EB/OL].2016: arXiv:1606.01583[stat.ML]. https://arxiv.org/abs/1606.01583.
【通聯(lián)編輯:李雅琪】