摘 要:針對(duì)現(xiàn)有入侵流量檢測(cè)模型對(duì)小樣本分類(lèi)準(zhǔn)確率低的問(wèn)題,提出了一種基于Wasserstein Divergence Objective for GANs (WGAN div)和Information Maximizing Generative Adversarial Nets(Info GAN)的無(wú)監(jiān)督學(xué)習(xí)入侵流量分類(lèi)模型。首先,通過(guò)對(duì)不平衡的數(shù)據(jù)訓(xùn)練集進(jìn)行過(guò)采樣改善數(shù)據(jù)分布,然后對(duì)非數(shù)據(jù)部分進(jìn)行獨(dú)熱編碼處理并與數(shù)據(jù)部分整合,降低預(yù)處理復(fù)雜度,最后利用Info GAN模型進(jìn)行數(shù)據(jù)訓(xùn)練,并在NSL KDD、CICIDS2017、UNSW NB15數(shù)據(jù)集進(jìn)行性能評(píng)估和算法效能對(duì)比。實(shí)驗(yàn)結(jié)果表明,算法在多分類(lèi)任務(wù)準(zhǔn)確率分別達(dá)到91.0%、97.1%、79.9%,二分類(lèi)任務(wù)準(zhǔn)確率可達(dá)90.9%、96.9%、86.1%。相比于經(jīng)典深度學(xué)習(xí)算法,Info GAN模型的準(zhǔn)確率更高,誤報(bào)率更低,具備較高的可靠性和工程應(yīng)用價(jià)值。
關(guān)鍵詞:入侵流量檢測(cè);生成對(duì)抗網(wǎng)絡(luò);過(guò)采樣;不平衡數(shù)據(jù)集
中圖分類(lèi)號(hào): TP393.0文獻(xiàn)標(biāo)識(shí)碼:A
Intrusion Traffic Detection and Classification
Based on Unsupervised Learning
FANG Jun1, WANG Qian2, SUN Xueli2
(1. Institute of Information Fusion, Naval Aviation University,Yantai,Shandong 264001, China;
2. School ofAviation Basis, Naval Aviation University, Yantai, Shandong 264001, China)
Abstract:To solve the problem that the classification accuracy of model small samples is low, an unsupervised learning intrusion traffic classification model based on Wasserstein divergence objective for GANs (WGAN div) and Information Maximizing Generative Adversarial Nets(Info GAN)is presented. Firstly, the unbalanced data training set is oversamped to improve the data distribution. Then, the non data part is processed by independent thermal coding and integrated with the data part to reduce the complexity of pretreatment. Finally, the Info GAN model is used for data training.Performance evaluation and algorithm efficiency comparison were carried out in NSL KDD, CICIDS2017 and UNSW NB15 data sets.The experimental results show that the accuracy of multi classification task is 91.0%, 97.1%, 79.9% respectively, and the accuracy of binary classification task is 90.9%, 96.9%, 86.1% respectively.Compared with the classical deep learning algorithm, the Info GAN model has higher accuracy and lower 1 positive rate, and has higher reliability and engineering application value.
Key words:intrusion traffic detection; generative adversarial nets; oversampling; unbalanced datasets
入侵檢測(cè)是指在計(jì)算機(jī)及數(shù)據(jù)網(wǎng)絡(luò)正常開(kāi)放運(yùn)行的同時(shí),進(jìn)行的一種安全監(jiān)測(cè)和保障[1],其目標(biāo)則是針對(duì)入侵方式進(jìn)行實(shí)時(shí)檢測(cè)與識(shí)別。目前,與防火墻等傳統(tǒng)網(wǎng)絡(luò)防御技術(shù)相比,網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)(NIDS)能夠更好地對(duì)網(wǎng)絡(luò)異常流量進(jìn)行檢測(cè)識(shí)別,從而防止網(wǎng)絡(luò)受到可能的入侵,以確保其機(jī)密性、完整性和可用性[2]。
早期的入侵流量檢測(cè)依賴(lài)于基于規(guī)則的檢測(cè)方法[3],這些方法能夠?qū)崿F(xiàn)對(duì)規(guī)則約束內(nèi)的入侵流量類(lèi)型進(jìn)行識(shí)別,但對(duì)于既定規(guī)則外的未知入侵流量無(wú)法做到有效識(shí)別。同時(shí)專(zhuān)家知識(shí)庫(kù)的建立需要大量的先驗(yàn)知識(shí)和時(shí)間,在互聯(lián)網(wǎng)信息流量巨大的現(xiàn)代條件下顯然無(wú)法適用?;跈C(jī)器學(xué)習(xí)的入侵檢測(cè)算法能夠從圖像、文本等原始數(shù)據(jù)中直接進(jìn)行特征表示學(xué)習(xí),其特征層參數(shù)通過(guò)程序從數(shù)據(jù)中進(jìn)行學(xué)習(xí)調(diào)整[4],免除了人工特征處理的步驟,在處理大數(shù)據(jù)方面相比于淺模型具備更大優(yōu)勢(shì)。文獻(xiàn)[5]采用一種基于信息增益和主成分分析的數(shù)據(jù)處理方法,使用支持向量機(jī)(SVM)進(jìn)行入侵流量分類(lèi),但是該方法為了使訓(xùn)練數(shù)據(jù)平衡,沒(méi)有使用全部數(shù)據(jù)集,而是進(jìn)行抽取,在不平衡數(shù)據(jù)處理和數(shù)據(jù)集完整性方面存在不足。文獻(xiàn)[6]提出一種自學(xué)習(xí)入侵檢測(cè)系統(tǒng)(STL IDS)對(duì)數(shù)據(jù)集進(jìn)行特征學(xué)習(xí)和降維,提升了SVM對(duì)攻擊的預(yù)測(cè)精度,但是存在識(shí)別率不高、模型泛化性不強(qiáng)等問(wèn)題。文獻(xiàn)[7]提出一種BAT MC模型,結(jié)合了雙向長(zhǎng)短時(shí)記憶(BLSTM)和注意力機(jī)制,采用卷積層對(duì)數(shù)據(jù)集進(jìn)行處理,能夠自動(dòng)完成網(wǎng)絡(luò)流量層次結(jié)構(gòu)的學(xué)習(xí)。文獻(xiàn)[8]針對(duì)傳統(tǒng)入侵檢測(cè)方法受限于數(shù)據(jù)集類(lèi)不平衡以及所選特征代表性不強(qiáng)等問(wèn)題,提出一種基于VAE CWGAN和特征統(tǒng)計(jì)重要性融合的檢測(cè)方法。
從無(wú)標(biāo)簽的數(shù)據(jù)中提取相應(yīng)的特征信息,使得訓(xùn)練數(shù)據(jù)的獲取更加方便[9],主要缺陷為對(duì)相同數(shù)據(jù)集的檢測(cè)性能通常低于監(jiān)督學(xué)習(xí)算法。生成式對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)是一種無(wú)監(jiān)督的深度學(xué)習(xí)模型,能夠從估計(jì)的概率分布中生成與現(xiàn)有數(shù)據(jù)相似的新數(shù)據(jù)[10]。在入侵檢測(cè)中,可通過(guò)該特性設(shè)計(jì)數(shù)據(jù)擴(kuò)充技術(shù)以解決入侵?jǐn)?shù)據(jù)集的不平衡問(wèn)題;也可使用該特性實(shí)現(xiàn)模型對(duì)數(shù)據(jù)特征關(guān)系的學(xué)習(xí),以實(shí)現(xiàn)對(duì)入侵流量的聚類(lèi)。文獻(xiàn)[11]提出一種ACGAN SVM算法,實(shí)現(xiàn)了合成攻擊流量數(shù)據(jù)、擴(kuò)充數(shù)據(jù)集的目的,算法對(duì)四種入侵流量數(shù)據(jù)集進(jìn)行了分類(lèi)測(cè)試,結(jié)果表明使用擴(kuò)充后的數(shù)據(jù)集算法在分類(lèi)精確率、召回率指標(biāo)上性能均得到了提升。文獻(xiàn)[12]提出了一種GAN RF算法,使用生成對(duì)抗網(wǎng)絡(luò)對(duì)CICIDS2017數(shù)據(jù)集進(jìn)行數(shù)據(jù)擴(kuò)充,然后使用隨機(jī)森林(RF)模型進(jìn)行入侵流量檢測(cè)分類(lèi),相比單獨(dú)使用RF模型,性能均得到提升。文獻(xiàn)[13]使用BiGAN(Bidirectional Generative Adversarial Networks)實(shí)現(xiàn)了對(duì)NSL KDD數(shù)據(jù)集的入侵檢測(cè),并與原始GAN的檢測(cè)性能進(jìn)行了對(duì)比,結(jié)果表明,使用BiGAN模型的入侵流量二分類(lèi)檢測(cè)性能優(yōu)于原始GAN。文獻(xiàn)[14]對(duì)BiGAN的損失函數(shù)進(jìn)行了改進(jìn),算法實(shí)現(xiàn)了對(duì)10%的KDD 99入侵流量數(shù)據(jù)集的分類(lèi)識(shí)別。
以上文獻(xiàn)分別從數(shù)據(jù)擴(kuò)充和分類(lèi)檢測(cè)兩方面使用生成對(duì)抗網(wǎng)絡(luò)進(jìn)行了方法改進(jìn),并在入侵檢測(cè)性能上獲得了提升。但尚未有方法對(duì)這兩方面同時(shí)進(jìn)行GAN性能改善,且部分算法的檢測(cè)性能還有較大提升空間?;诖?,本文提出了一種基于WGAN div和Info GAN(Information Maximizing Generative Adversarial Nets)的無(wú)監(jiān)督學(xué)習(xí)算法,使用WGAN div算法對(duì)NSL KDD數(shù)據(jù)集訓(xùn)練集進(jìn)行數(shù)據(jù)擴(kuò)充,解決了入侵流量占比不平衡的問(wèn)題,提升了深度學(xué)習(xí)算法對(duì)入侵流量特征的提取能力;使用InfoGAN模型對(duì)NSL KDD、CICIDS2017、UNSW NB15數(shù)據(jù)集分別進(jìn)行入侵流量分類(lèi)性能測(cè)試,實(shí)驗(yàn)結(jié)果表明,多分類(lèi)任務(wù)準(zhǔn)確率分別達(dá)到91.0%、97.1%、79.9%,二分類(lèi)任務(wù)準(zhǔn)確率可達(dá)90.9%、96.9%、86.1%,同時(shí)算法在精確率、召回率等指標(biāo)上誤報(bào)率低,具備較強(qiáng)的泛化性,有較高的工程應(yīng)用價(jià)值。
1 基于WGAN div與Info GAN的無(wú)監(jiān)督
檢測(cè)模型
1.1 基于WGAN div的數(shù)據(jù)擴(kuò)充方法
原始GAN在訓(xùn)練中存在梯度消失、訓(xùn)練不穩(wěn)定及模式崩潰等問(wèn)題。用于量化兩個(gè)概率分布之間的相似度的度量通常采用KL散度(Kullback Leibler Divergence)和JS散度(Jensen Shannon Divergence),KL散度的計(jì)算如式(1):
KL(p‖q)=∫xp(x)lg p(x)q(x)dx=
Ex~plg p(x)q(x)(1)
JS散度是基于KL散度的變體,解決了后者的非對(duì)稱(chēng)問(wèn)題[15-17],其計(jì)算如式(2):
JS(p‖q)=12DKLp‖p+q2+
12DKLq‖p+q2 (2)
原始GAN正是使用JS散度來(lái)訓(xùn)練生成器減小真實(shí)分布與生成分布之間的距離,將判別器最優(yōu)解代入,其目標(biāo)函數(shù)可表示為式(3):
min Gmax DV(D,G)=KLpdata‖pdata+pG2+
KLpG‖pdata+pG2-2lg 2=
2JS(pdata‖pG)-2lg 2(3)
由式(2)和D(x)表達(dá)式推導(dǎo)可得式(4):
KL(pG‖pdata)=
Ex~pGlg pG(x)/(pG(x)+pdata(x))pdata(x)/(pG(x)+pdata(x))=
Ex~pGlg (1-D(x))-
Ex~pGlg (D(x))(4)
結(jié)合式(3)進(jìn)行代換運(yùn)算,可用JS散度形式表示Ex~pGlg (1-D(x)),移項(xiàng)得式(5):
Ex~pGlg (D(x))=2JS(pdata‖pG)-
KL(pdata‖pG)-Ex~pdatalg (D(x))-
2log 2(5)
式中僅前兩項(xiàng)與生成器相關(guān),即生成器目標(biāo)函數(shù)表示為式(6):
LG=2JS(pdata‖pG)-KL(pdata‖pG)(6)
WGAN為了解決模式崩潰問(wèn)題,采用Wasserstein距離來(lái)衡量分布間的距離[18]。其計(jì)算公式如式(7):
W(pdata,pG)=
infγ∈∏(pdata,pG)E(x-y)~y‖x-y‖(7)
由于‖x-y‖難以直接進(jìn)行計(jì)算,因此引入利普希茨(Lipschitz)連續(xù)條件,即:設(shè)k≥0,定義域內(nèi)任意兩個(gè)x1,x2滿(mǎn)足如式(8)的關(guān)系:
f(x1)-f(x2)≤kx1-x2(8)
則稱(chēng)k為f(x)的Lipschitz常數(shù)。則目標(biāo)函數(shù)轉(zhuǎn)化為:
V(G,D)=
max D∈1-LipschitzEx~pdataD(x)-Ex~pGD(x)
(9)
WGAN GP采用梯度懲罰的方式,以在樣本的過(guò)渡區(qū)滿(mǎn)足約束,其表達(dá)式如式(10):
VGP(G,D)=
max D∈1-LipschitzEx~pdataD(x)-Ex~pGD(x)=
-λEx~py(‖
表示梯度算子,py是從真實(shí)數(shù)據(jù)pdata和偽數(shù)據(jù)pG分布點(diǎn)之間沿直線均勻采樣得到的分布。WGAN div通過(guò)引入Wasserstein散度,證明了L約束的可去除性。W散度的表達(dá)式如式(11)所示。
Wk,ppdata,pG=inf f∈C1c(Ω)Ex~pdataf(x)-
Ex~pGf(x)+kEx~pu‖
1.2 基于Info GAN的入侵檢測(cè)方法
Info GAN通過(guò)改進(jìn)輸入噪聲矢量以解決該問(wèn)題:將輸入噪聲分解為兩部分,一部分為不可壓縮的噪聲z,另一部分為潛向量c,用于針對(duì)數(shù)據(jù)分布的結(jié)構(gòu)化語(yǔ)義特征。用c=c1,c2,…,cL表示潛向量的集合,并且滿(mǎn)足式(13)的關(guān)系:
Pc1,c2,…,cL=∏Li=1P(ci) (13)
Info GAN的目的在于訓(xùn)練網(wǎng)絡(luò)在無(wú)監(jiān)督的條件下發(fā)現(xiàn)并恢復(fù)每個(gè)樣本數(shù)據(jù)中的潛向量。因此使用信息正則化方法來(lái)解決此問(wèn)題,互信息熵的計(jì)算公式如式(14):
I(X;Y)=H(X)-H(X|Y)=
H(Y)-H(Y|X) (14)
在給定pG(x)的情況下,應(yīng)當(dāng)保持pG(x|c)具備一個(gè)較小的熵,因此采用的目標(biāo)函數(shù)如式(15):
min Gmax DV1(D,G)=V(D,G)-λI(c;G(z,c))(15)
實(shí)踐中,I(c;G(z,c))難以直接進(jìn)行最大化,因此引入輔助分布q(c|x),其計(jì)算過(guò)程如式(16):
I(c;G(z,c))=H(c)-H(c|G(z,c))=
Ex~G(z,c),c′~p(c|x)lg p(c′|x)+H(c)(16)
由式(1)可構(gòu)造lg p(c′|x)的KL散度,取值恒大于等于0,利用q(c|x)將其代換為式(17):
Ex~G(z,c)c′~p(c|x)lg p(c′|x)=
Ex~G(z,c)DKL(p(c|x)‖q(c|x))+
Ec′~p(c|x)lg q(c′|x)≥Ex~G(z,c)c′~p(c|x)q(c′|x) (17)
因此可得結(jié)論如下式:
I(c;G(z,c))≥Ex~G(z,c)c′~p(c|x)lg q(c′|x)+H(c) (18)
由于Ex~G(z,c)c′~p(c|x)lg q(c′|x)取值與生成器和輔助分布q(c|x)有關(guān),將其簡(jiǎn)寫(xiě)為L(zhǎng)1(G,Q),則目標(biāo)函數(shù)轉(zhuǎn)換為式(19):
min G,Qmax DVInfo(D,G,Q)=V(D,G)-λL1(G,Q)(19)
綜合以上兩節(jié),提出了一種基于WGAN div的數(shù)據(jù)擴(kuò)充方法以解決入侵流量數(shù)據(jù)集的不平衡問(wèn)題,提升深度學(xué)習(xí)模型對(duì)少數(shù)樣本特征的提取能力;提出一種基于Info GAN的入侵流量檢測(cè)模型。將兩種方法結(jié)合起來(lái),能夠得到一種入侵檢測(cè)性能良好的算法。
2 實(shí)驗(yàn)分析
2.1 入侵流量數(shù)據(jù)集預(yù)處理
本文選用數(shù)據(jù)集為:NSL KDD數(shù)據(jù)集[5]、CICIDS2017數(shù)據(jù)集[3]、UNSW NB15數(shù)據(jù)集[18]。
由文獻(xiàn)可知,NSL KDD數(shù)據(jù)集共包括5種類(lèi)型流量數(shù)據(jù),其中一種是正常流量,標(biāo)簽為Normal,另外四種是攻擊流量,標(biāo)簽分別為DoS、Probing、R2L、U2R。訓(xùn)練集和測(cè)試集都存在明顯的數(shù)據(jù)不平衡現(xiàn)象,數(shù)據(jù)量最少的樣本僅占比0.04%,樣本比例差距高達(dá)1336.5∶1,需要對(duì)數(shù)據(jù)集進(jìn)行平衡化的處理。CICIDS2017數(shù)據(jù)集攻擊流量包含若干小類(lèi)別,統(tǒng)一將數(shù)據(jù)按照大類(lèi)別以6種攻擊類(lèi)型流量進(jìn)行標(biāo)識(shí),分別是Botnet、Brute Force、DoS、Infiltration、PortScan、Web Attack。該數(shù)據(jù)集中各類(lèi)數(shù)據(jù)也存在明顯的分布不平衡問(wèn)題,樣本比例差距高達(dá)83340∶1。本文設(shè)計(jì)在小樣本、數(shù)據(jù)分布不均衡的條件下進(jìn)行入侵檢測(cè),需要對(duì)數(shù)據(jù)集進(jìn)行平衡化的處理。UNSW NB15數(shù)據(jù)集包含9種入侵流量,分別是Fuzzers、Analysis、Backdoors、Reconnaissance、 DoS、Exploit、Generic、Shellcode、Worms。觀察數(shù)據(jù)分布可發(fā)現(xiàn),正常流量(Normal流量)在訓(xùn)練集和測(cè)試集中占比最大,Worms流量占比最小,兩者樣本數(shù)量比例差異最高可達(dá)840.91∶1,這表明該數(shù)據(jù)集也存在樣本數(shù)量不平衡的問(wèn)題,Analysis、Backdoors、Shellcode、Worms等都屬于小樣本類(lèi)別數(shù)據(jù),需要對(duì)其進(jìn)行數(shù)據(jù)擴(kuò)充,以提升對(duì)小樣本類(lèi)別的入侵檢測(cè)性能。另外,UNSW NB15預(yù)先劃分的訓(xùn)練集和測(cè)試集中均存在大量的重復(fù)冗余數(shù)據(jù),在進(jìn)行預(yù)處理前需要對(duì)其進(jìn)行移除。
2.2 實(shí)驗(yàn)結(jié)果
將預(yù)處理完畢的數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集。其中CICIDS2017采用1∶9的比例劃分訓(xùn)練集和測(cè)試集,另外兩種數(shù)據(jù)集采用公開(kāi)數(shù)據(jù)集中給出的劃分方法確定訓(xùn)練集和測(cè)試集。其中,每種數(shù)據(jù)集均包括原數(shù)據(jù)集和經(jīng)SMOTE、ADASYN、WGAN div過(guò)采樣擴(kuò)充的擴(kuò)充數(shù)據(jù)集。采用的深度學(xué)習(xí)模型包括Info GAN以及經(jīng)典機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)算法。圖1表明Info GAN模型中生成器損失函數(shù)G_loss、判別器損失函數(shù)D_loss、分類(lèi)器損失函數(shù)Q_loss在訓(xùn)練集訓(xùn)練過(guò)程中隨訓(xùn)練輪數(shù)epoch的變化情況。隨著訓(xùn)練輪數(shù)增加,模型的損失函數(shù)值首先逐步降低,在epoch=305~360之間取值達(dá)到最小,而后隨著訓(xùn)練輪數(shù)增長(zhǎng),取值在一定區(qū)間內(nèi)上下波動(dòng),最終趨于穩(wěn)定,這表明模型已經(jīng)接近收斂。
2.2.1 多分類(lèi)模型性能對(duì)比
圖2是Info GAN模型在各數(shù)據(jù)集的不同訓(xùn)練集下進(jìn)行訓(xùn)練得到的模型多分類(lèi)性能評(píng)估圖。整體上看Info GAN模型對(duì)三種數(shù)據(jù)集都能夠?qū)崿F(xiàn)有效的多分類(lèi),分類(lèi)準(zhǔn)確率取決于數(shù)據(jù)集的數(shù)據(jù)分布。通過(guò)t SNE圖可得知,UNSW NB15數(shù)據(jù)集中訓(xùn)練集數(shù)據(jù)類(lèi)間混疊較嚴(yán)重,會(huì)對(duì)分類(lèi)準(zhǔn)確率造成干擾。
在NSL KDD、CICIDS2017數(shù)據(jù)集的攻擊流量分類(lèi)任務(wù)中,過(guò)采樣訓(xùn)練集均可提升模型的分類(lèi)識(shí)別性能。在多分類(lèi)性能評(píng)估中,Info GAN模型在三種數(shù)據(jù)集上均展現(xiàn)出一定的分類(lèi)能力。通過(guò)對(duì)模型損失函數(shù)曲線的分析可知,隨著訓(xùn)練輪數(shù)增加,模型損失函數(shù)值先下降后趨于穩(wěn)定,表明模型逐漸收斂。在 NSL KDD 和 CICIDS2017 數(shù)據(jù)集的攻擊流量分類(lèi)任務(wù)中,過(guò)采樣訓(xùn)練集對(duì)模型分類(lèi)識(shí)別性能有提升作用,且 WGAN div 擴(kuò)充后的訓(xùn)練集效果最佳。這是因?yàn)?WGAN div 生成的數(shù)據(jù)特征與原樣本更契合,類(lèi)內(nèi)聚集性強(qiáng),能有效提升對(duì)少數(shù)樣本的分類(lèi)識(shí)別率。例如,在 NSL KDD 數(shù)據(jù)集中,WGAN div 處理后的訓(xùn)練集使模型準(zhǔn)確率、精確率、召回率和 F1 值均達(dá)到最高。而 UNSW NB15 數(shù)據(jù)集訓(xùn)練集數(shù)據(jù)類(lèi)間混疊較嚴(yán)重,對(duì)分類(lèi)準(zhǔn)確率產(chǎn)生一定干擾,但 WGAN div 仍能在一定程度上改善分類(lèi)效果。進(jìn)一步分析數(shù)據(jù)發(fā)現(xiàn),模型在處理類(lèi)間差異較大的數(shù)據(jù)時(shí),能夠更好地學(xué)習(xí)到不同類(lèi)別的特征,但對(duì)于類(lèi)間混疊嚴(yán)重的數(shù)據(jù),仍面臨挑戰(zhàn),未來(lái)可考慮結(jié)合特征工程或改進(jìn)模型結(jié)構(gòu)來(lái)提高分類(lèi)性能。
2.2.2 二分類(lèi)模型性能對(duì)比
通過(guò)使用二分類(lèi)的手段對(duì)流量進(jìn)行劃分,可以方便快捷地篩選入侵流量并進(jìn)行處理。為了檢驗(yàn)在二分類(lèi)情況下Info GAN模型對(duì)各類(lèi)型數(shù)據(jù)集的分類(lèi)性能,將多種攻擊流量標(biāo)簽進(jìn)行合并,統(tǒng)一改寫(xiě)為“Attack”類(lèi)型,便得到了用于二分類(lèi)檢測(cè)識(shí)別的訓(xùn)練集和測(cè)試集。圖3展示的是Info GAN模型在各數(shù)據(jù)集的不同訓(xùn)練集下進(jìn)行訓(xùn)練得到的模型的二分類(lèi)性能評(píng)估圖。圖3(a)是模型對(duì)NSL KDD數(shù)據(jù)集的二分類(lèi)測(cè)試集評(píng)估結(jié)果,整體上,二分類(lèi)性能指標(biāo)優(yōu)于多分類(lèi)結(jié)果,這主要得益于二分類(lèi)簡(jiǎn)化了分類(lèi)任務(wù),避免了攻擊流量間相互區(qū)分的難題。在 NSL KDD 數(shù)據(jù)集上,WGAN div 擴(kuò)充的訓(xùn)練集使模型準(zhǔn)確率提升明顯,相比其他過(guò)采樣算法對(duì) Info GAN 模型分類(lèi)效果提升最大。在 CICIDS2017 和 UNSW NB15 數(shù)據(jù)集上,SMOTE 和 ADASYN 算法過(guò)采樣的訓(xùn)練集導(dǎo)致 Info GAN 模型分類(lèi)效果下降,而 WGAN div 擴(kuò)充的模型性能指標(biāo)均有所提升,再次證明 WGAN div 數(shù)據(jù)擴(kuò)充技術(shù)的有效性和穩(wěn)定性。深入對(duì)比不同數(shù)據(jù)集的二分類(lèi)結(jié)果,發(fā)現(xiàn)模型在不同數(shù)據(jù)分布下的表現(xiàn)有所差異,對(duì)于數(shù)據(jù)分布相對(duì)簡(jiǎn)單的數(shù)據(jù)集(如 NSL KDD 在二分類(lèi)時(shí)),模型能夠更高效地學(xué)習(xí)到區(qū)分正常與攻擊流量的特征,而對(duì)于復(fù)雜數(shù)據(jù)集(如 CICIDS2017 和 UNSW NB15),雖然 WGAN div 有提升作用,但仍有進(jìn)一步優(yōu)化空間,可能需要更多的數(shù)據(jù)增強(qiáng)或模型改進(jìn)策略。
2.2.3 與現(xiàn)有算法性能對(duì)比
為驗(yàn)證Info GAN算法模型的實(shí)際性能和應(yīng)用價(jià)值,采用文獻(xiàn)[14]和文獻(xiàn)[15]提出的算法、經(jīng)典機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)算法與本文算法進(jìn)行性能對(duì)比,分別在多分類(lèi)和二分類(lèi)的情況下針對(duì)準(zhǔn)確率、精確率、召回率和F1值進(jìn)行評(píng)估。表1中最后四行表示使用Info GAN模型,但使用了不同類(lèi)型的訓(xùn)練集最終得到的結(jié)果,其余算法均使用數(shù)據(jù)集的原訓(xùn)練集進(jìn)行模型訓(xùn)練。
表1的數(shù)據(jù)說(shuō)明,在多分類(lèi)任務(wù)中,Info GAN 分類(lèi)模型性能顯著優(yōu)于其他算法,在三種數(shù)據(jù)集的測(cè)試集分類(lèi)上均達(dá)到最高準(zhǔn)確率和最低誤報(bào)率,充分體現(xiàn)了算法設(shè)計(jì)的合理性和模型分類(lèi)的準(zhǔn)確性、泛化性及可靠性。例如,在 NSL KDD 數(shù)據(jù)集上,Info GAN 模型的準(zhǔn)確率達(dá)到 91.0%,相比其他算法有明顯提升。在二分類(lèi)任務(wù)中,雖然 Info GAN 算法性能略低于部分有監(jiān)督算法(如 RF、CNN LSTM 等),但作為無(wú)監(jiān)督學(xué)習(xí)算法,其無(wú)需標(biāo)注訓(xùn)練數(shù)據(jù)的優(yōu)勢(shì)不可忽視,在實(shí)際應(yīng)用中可大幅節(jié)省數(shù)據(jù)標(biāo)注時(shí)間,提高訓(xùn)練效率。深入分析不同算法的性能差異,發(fā)現(xiàn)有監(jiān)督算法在有大量標(biāo)注數(shù)據(jù)時(shí)能充分學(xué)習(xí)數(shù)據(jù)特征,但標(biāo)注數(shù)據(jù)的獲取往往成本高昂。而 Info GAN 模型能夠直接從無(wú)標(biāo)簽數(shù)據(jù)中學(xué)習(xí)有效特征,在處理小樣本和不平衡數(shù)據(jù)集時(shí)表現(xiàn)出色,尤其在數(shù)據(jù)標(biāo)注困難的場(chǎng)景下具有更大的應(yīng)用潛力。同時(shí),對(duì)比使用不同訓(xùn)練集(原訓(xùn)練集、SMOTE、ADASYN、WGAN div 擴(kuò)充訓(xùn)練集)的 Info GAN 模型結(jié)果,進(jìn)一步證實(shí)了 WGAN div 數(shù)據(jù)擴(kuò)充技術(shù)對(duì)提升模型分類(lèi)性能的重要作用。
2.2.4 復(fù)雜度分析
(1)WGAN div計(jì)算復(fù)雜度
生成器與判別器訓(xùn)練:WGAN div在訓(xùn)練過(guò)程中需要同時(shí)訓(xùn)練生成器和判別器。在每一輪訓(xùn)練中,生成器生成偽數(shù)據(jù)并輸入判別器,判別器計(jì)算損失函數(shù)并更新參數(shù),然后固定判別器參數(shù),生成器根據(jù)判別器的反饋更新自身參數(shù)。這個(gè)過(guò)程涉及復(fù)雜的神經(jīng)網(wǎng)絡(luò)計(jì)算,其計(jì)算復(fù)雜度較高。假設(shè)生成器和判別器的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)分別具有p和q個(gè)參數(shù),在訓(xùn)練過(guò)程中,計(jì)算生成器損失函數(shù)和判別器損失函數(shù)的時(shí)間復(fù)雜度分別約為O(p)和O(q)。由于每一輪訓(xùn)練都需要多次計(jì)算損失函數(shù)并更新參數(shù),因此整個(gè)WGAN div數(shù)據(jù)擴(kuò)充過(guò)程的計(jì)算復(fù)雜度與訓(xùn)練輪數(shù)以及生成器和判別器的參數(shù)數(shù)量密切相關(guān),大致為O(t(p+q))。
樣本插值與梯度懲罰(WGAN GP部分):WGAN GP為了滿(mǎn)足約束條件,采用在真?zhèn)螛颖局须S機(jī)插值進(jìn)行懲罰的方式。這一操作涉及對(duì)樣本的額外處理,其計(jì)算復(fù)雜度與數(shù)據(jù)集中樣本數(shù)量n以及插值計(jì)算的復(fù)雜度有關(guān)。假設(shè)插值計(jì)算的復(fù)雜度為O(k)(k取決于具體的插值算法),則這部分操作的計(jì)算復(fù)雜度約為O(nk)。在整體WGAN div數(shù)據(jù)擴(kuò)充過(guò)程中,雖然這部分計(jì)算復(fù)雜度相對(duì)生成器和判別器訓(xùn)練較低,但也不可忽視。
(2)InfoGAN 計(jì)算復(fù)雜度
生成器與判別器對(duì)抗訓(xùn)練:Info GAN模型基于原始GAN的對(duì)抗訓(xùn)練框架,其生成器和判別器的訓(xùn)練過(guò)程與WGAN div類(lèi)似,也涉及復(fù)雜的神經(jīng)網(wǎng)絡(luò)計(jì)算。同樣假設(shè)生成器和判別器的參數(shù)數(shù)量分別為p′和q′,訓(xùn)練輪數(shù)為t′,則這部分計(jì)算復(fù)雜度約為O(t′(p′+q′))。
潛向量處理與互信息計(jì)算:Info GAN通過(guò)改進(jìn)輸入噪聲矢量,引入了潛向量,并在目標(biāo)函數(shù)中考慮了潛向量與生成數(shù)據(jù)之間的互信息熵。計(jì)算互信息熵需要對(duì)數(shù)據(jù)分布進(jìn)行估計(jì)和計(jì)算,這增加了一定的計(jì)算復(fù)雜度。假設(shè)處理潛向量和計(jì)算互信息熵的復(fù)雜度為O(l)(l取決于具體的計(jì)算方法和數(shù)據(jù)分布情況),則這部分操作在每一輪訓(xùn)練中都需要執(zhí)行,因此其計(jì)算復(fù)雜度約為O(t′l)。在整個(gè) Info GAN 模型訓(xùn)練過(guò)程中,這部分計(jì)算復(fù)雜度雖然相對(duì)生成器和判別器對(duì)抗訓(xùn)練較低,但對(duì)于模型整體性能和計(jì)算資源需求也有一定影響。
綜合上述各部分的計(jì)算復(fù)雜度分析,基于WGAN div和Info GAN的無(wú)監(jiān)督學(xué)習(xí)入侵流量分類(lèi)模型的總計(jì)算復(fù)雜度可以表示為O(t(p+q)+nk)+O(t′(p′+q′)+t′l)。
3 結(jié) 論
提出了一種基于WGAN div和Info GAN的無(wú)監(jiān)督學(xué)習(xí)入侵流量分類(lèi)模型,算法通過(guò)改進(jìn)輸入量為噪聲和潛向量的疊加量,解決了原始GAN可解釋性差的問(wèn)題。相比于有監(jiān)督的深度學(xué)習(xí)模型,算法直接使用無(wú)標(biāo)簽數(shù)據(jù)進(jìn)行訓(xùn)練和分類(lèi),節(jié)省了標(biāo)注數(shù)據(jù)標(biāo)簽的工作量。通過(guò)WGAN div算法對(duì)數(shù)據(jù)訓(xùn)練集進(jìn)行特征學(xué)習(xí),并合成少數(shù)樣本數(shù)據(jù)以實(shí)現(xiàn)數(shù)據(jù)擴(kuò)充的目的,改善小樣本在不平衡數(shù)據(jù)集中的分布,解決了深度學(xué)習(xí)網(wǎng)絡(luò)在不平衡數(shù)據(jù)集的學(xué)習(xí)中易忽略小樣本特征信息的問(wèn)題,通過(guò)過(guò)采樣前后的對(duì)比及與SMOTE、ADASYN過(guò)采樣效果的比較說(shuō)明了WGAN div算法對(duì)于分類(lèi)模型性能提高的重要作用。
本文提出的算法在NSL KDD、CICIDS2017、UNSW NB15的測(cè)試集上進(jìn)行了入侵流量分類(lèi)性能的測(cè)試和算法效能對(duì)比,使用的性能指標(biāo)包括準(zhǔn)確率、精確率、召回率、調(diào)和平均值。結(jié)果顯示,算法在多分類(lèi)任務(wù)上性能均達(dá)到最佳,準(zhǔn)確率分別達(dá)到91.0%,97.1%,79.9%,同時(shí)保持較高的二分類(lèi)準(zhǔn)確率和精確率,性能優(yōu)于大部分深度學(xué)習(xí)算法。整體來(lái)看,本文提出的算法誤報(bào)率低、泛化性好,具備較高的可靠性和工程應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] MUKHERJEE B, HEBERLEIN L T, LEVITT K N. Network intrusion detection[J]. IEEE Network, 1994, 8(3): 26-41.
[2] AHMAD Z, KHAN S A, SHIANG W C, et al. Network intrusion detection system: a systematic study of machine learning and deep learning approaches[J]. Transactions on Emerging Telecommunications Technologies, 2021, 32(1): e41507.
[3] PANIGRAHI R, BORAH S. A detailed analysis of CICIDS2017 dataset for designing intrusion detection systems[J]. International Journal of Engineering amp; Technology, 2018, 7(3.24): 479-482.
[4] LECUN Y, BENGIO Y, HINTON G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.
[5] SALO F, NASSIF A B, ESSEX A. Dimensionality reduction with IG PCA and ensemble classifier for network intrusion detection[J]. Computer Networks, 2019, 148: 164-175.
[6] AL QATF M, LASHENG Y, AL HABIB M, et al. Deep learning approach combining sparse autoencoder with SVM for network intrusion detection[J]. IEEE Access, 2018, 6:52843-52856.
[7] SU T, SUN H, ZHU J, et al. BAT: deep learning methods on network intrusion detection using NSL KDD dataset[J]. IEEE Access, 2020, 8:29575-29585.
[8] 劉濤濤, 付鈺, 王坤, 等. 基于VAE CWGAN和特征統(tǒng)計(jì)重要性融合的網(wǎng)絡(luò)流量異常檢測(cè)方法[J/OL].通信學(xué)報(bào), 2024.
[9] LIU H, LANG B. Machine learning and deep learning methods for intrusion detection systems: a survey[J]. Applied Sciences, 2019, 9(20): 4396.
[10]GOODFELLOW I, POUGET ABADIE J, MIRZA M, et al. Generative adversarial networks[J]. Communications of the ACM, 2020, 63(11): 139-144.
[11]VU L, NGUYEN Q U. Handling imbalanced data in intrusion detection systems using generative adversarial networks[J]. Journal of Research and Development on Information and Communication Technology, 2020, 2020(1): 1-13.
[12]LEE J H, PARK K H. GAN based imbalanced data intrusion detection system[J]. Personal and Ubiquitous Computing, 2021, 25(1): 121-128.
[13]ZHANG X. Network intrusion detection using generative adversarial networks[D]. New Zealand:University of Canterbury,2020.
[14]CHEN H, JIANG L. Efficient GAN based method for cyber intrusion detection[J].arXiv preprint arXiv:1904.02426, 2019.
[15]顧偉, 行鴻彥, 侯天浩. 基于網(wǎng)絡(luò)流量時(shí)空特征和自適應(yīng)加權(quán)系數(shù)的異常流量檢測(cè)方法[J].電子與信息學(xué)報(bào), 2024, 46(6): 2647-2654.
[16]BAGUI S, LI K. Resampling imbalanced data for network intrusion detection datasets[J]. Journal of Big Data, 2021, 8(1): 1-41.
[17]LIU X, LI T, ZHANG R, et al. A gan and feature selection based oversampling technique for intrusion detection[J]. Security and Communication Networks, 2021, 2021(1): 9947059.
[18]ALEESA A M, YOUNIS M, MOHAMMED A A, et al. Deep intrusion detection system with enhanced UNSW NB15 dataset based on deep learning techniques[J]. Journal of Engineering Science and Technology, 2021, 16(1): 711-727.