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