摘 要:針對現(xiàn)有入侵流量檢測模型對小樣本分類準確率低的問題,提出了一種基于Wasserstein Divergence Objective for GANs (WGAN div)和Information Maximizing Generative Adversarial Nets(Info GAN)的無監(jiān)督學(xué)習(xí)入侵流量分類模型。首先,通過對不平衡的數(shù)據(jù)訓(xùn)練集進行過采樣改善數(shù)據(jù)分布,然后對非數(shù)據(jù)部分進行獨熱編碼處理并與數(shù)據(jù)部分整合,降低預(yù)處理復(fù)雜度,最后利用Info GAN模型進行數(shù)據(jù)訓(xùn)練,并在NSL KDD、CICIDS2017、UNSW NB15數(shù)據(jù)集進行性能評估和算法效能對比。實驗結(jié)果表明,算法在多分類任務(wù)準確率分別達到91.0%、97.1%、79.9%,二分類任務(wù)準確率可達90.9%、96.9%、86.1%。相比于經(jīng)典深度學(xué)習(xí)算法,Info GAN模型的準確率更高,誤報率更低,具備較高的可靠性和工程應(yīng)用價值。
關(guān)鍵詞:入侵流量檢測;生成對抗網(wǎng)絡(luò);過采樣;不平衡數(shù)據(jù)集
中圖分類號: TP393.0文獻標識碼: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
入侵檢測是指在計算機及數(shù)據(jù)網(wǎng)絡(luò)正常開放運行的同時,進行的一種安全監(jiān)測和保障[1],其目標則是針對入侵方式進行實時檢測與識別。目前,與防火墻等傳統(tǒng)網(wǎng)絡(luò)防御技術(shù)相比,網(wǎng)絡(luò)入侵檢測系統(tǒng)(NIDS)能夠更好地對網(wǎng)絡(luò)異常流量進行檢測識別,從而防止網(wǎng)絡(luò)受到可能的入侵,以確保其機密性、完整性和可用性[2]。
早期的入侵流量檢測依賴于基于規(guī)則的檢測方法[3],這些方法能夠?qū)崿F(xiàn)對規(guī)則約束內(nèi)的入侵流量類型進行識別,但對于既定規(guī)則外的未知入侵流量無法做到有效識別。同時專家知識庫的建立需要大量的先驗知識和時間,在互聯(lián)網(wǎng)信息流量巨大的現(xiàn)代條件下顯然無法適用。基于機器學(xué)習(xí)的入侵檢測算法能夠從圖像、文本等原始數(shù)據(jù)中直接進行特征表示學(xué)習(xí),其特征層參數(shù)通過程序從數(shù)據(jù)中進行學(xué)習(xí)調(diào)整[4],免除了人工特征處理的步驟,在處理大數(shù)據(jù)方面相比于淺模型具備更大優(yōu)勢。文獻[5]采用一種基于信息增益和主成分分析的數(shù)據(jù)處理方法,使用支持向量機(SVM)進行入侵流量分類,但是該方法為了使訓(xùn)練數(shù)據(jù)平衡,沒有使用全部數(shù)據(jù)集,而是進行抽取,在不平衡數(shù)據(jù)處理和數(shù)據(jù)集完整性方面存在不足。文獻[6]提出一種自學(xué)習(xí)入侵檢測系統(tǒng)(STL IDS)對數(shù)據(jù)集進行特征學(xué)習(xí)和降維,提升了SVM對攻擊的預(yù)測精度,但是存在識別率不高、模型泛化性不強等問題。文獻[7]提出一種BAT MC模型,結(jié)合了雙向長短時記憶(BLSTM)和注意力機制,采用卷積層對數(shù)據(jù)集進行處理,能夠自動完成網(wǎng)絡(luò)流量層次結(jié)構(gòu)的學(xué)習(xí)。文獻[8]針對傳統(tǒng)入侵檢測方法受限于數(shù)據(jù)集類不平衡以及所選特征代表性不強等問題,提出一種基于VAE CWGAN和特征統(tǒng)計重要性融合的檢測方法。
從無標簽的數(shù)據(jù)中提取相應(yīng)的特征信息,使得訓(xùn)練數(shù)據(jù)的獲取更加方便[9],主要缺陷為對相同數(shù)據(jù)集的檢測性能通常低于監(jiān)督學(xué)習(xí)算法。生成式對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)是一種無監(jiān)督的深度學(xué)習(xí)模型,能夠從估計的概率分布中生成與現(xiàn)有數(shù)據(jù)相似的新數(shù)據(jù)[10]。在入侵檢測中,可通過該特性設(shè)計數(shù)據(jù)擴充技術(shù)以解決入侵數(shù)據(jù)集的不平衡問題;也可使用該特性實現(xiàn)模型對數(shù)據(jù)特征關(guān)系的學(xué)習(xí),以實現(xiàn)對入侵流量的聚類。文獻[11]提出一種ACGAN SVM算法,實現(xiàn)了合成攻擊流量數(shù)據(jù)、擴充數(shù)據(jù)集的目的,算法對四種入侵流量數(shù)據(jù)集進行了分類測試,結(jié)果表明使用擴充后的數(shù)據(jù)集算法在分類精確率、召回率指標上性能均得到了提升。文獻[12]提出了一種GAN RF算法,使用生成對抗網(wǎng)絡(luò)對CICIDS2017數(shù)據(jù)集進行數(shù)據(jù)擴充,然后使用隨機森林(RF)模型進行入侵流量檢測分類,相比單獨使用RF模型,性能均得到提升。文獻[13]使用BiGAN(Bidirectional Generative Adversarial Networks)實現(xiàn)了對NSL KDD數(shù)據(jù)集的入侵檢測,并與原始GAN的檢測性能進行了對比,結(jié)果表明,使用BiGAN模型的入侵流量二分類檢測性能優(yōu)于原始GAN。文獻[14]對BiGAN的損失函數(shù)進行了改進,算法實現(xiàn)了對10%的KDD 99入侵流量數(shù)據(jù)集的分類識別。
以上文獻分別從數(shù)據(jù)擴充和分類檢測兩方面使用生成對抗網(wǎng)絡(luò)進行了方法改進,并在入侵檢測性能上獲得了提升。但尚未有方法對這兩方面同時進行GAN性能改善,且部分算法的檢測性能還有較大提升空間。基于此,本文提出了一種基于WGAN div和Info GAN(Information Maximizing Generative Adversarial Nets)的無監(jiān)督學(xué)習(xí)算法,使用WGAN div算法對NSL KDD數(shù)據(jù)集訓(xùn)練集進行數(shù)據(jù)擴充,解決了入侵流量占比不平衡的問題,提升了深度學(xué)習(xí)算法對入侵流量特征的提取能力;使用InfoGAN模型對NSL KDD、CICIDS2017、UNSW NB15數(shù)據(jù)集分別進行入侵流量分類性能測試,實驗結(jié)果表明,多分類任務(wù)準確率分別達到91.0%、97.1%、79.9%,二分類任務(wù)準確率可達90.9%、96.9%、86.1%,同時算法在精確率、召回率等指標上誤報率低,具備較強的泛化性,有較高的工程應(yīng)用價值。
1 基于WGAN div與Info GAN的無監(jiān)督
檢測模型
1.1 基于WGAN div的數(shù)據(jù)擴充方法
原始GAN在訓(xùn)練中存在梯度消失、訓(xùn)練不穩(wěn)定及模式崩潰等問題。用于量化兩個概率分布之間的相似度的度量通常采用KL散度(Kullback Leibler Divergence)和JS散度(Jensen Shannon Divergence),KL散度的計算如式(1):
KL(p‖q)=∫xp(x)lg p(x)q(x)dx=
Ex~plg p(x)q(x)(1)
JS散度是基于KL散度的變體,解決了后者的非對稱問題[15-17],其計算如式(2):
JS(p‖q)=12DKLp‖p+q2+
12DKLq‖p+q2 (2)
原始GAN正是使用JS散度來訓(xùn)練生成器減小真實分布與生成分布之間的距離,將判別器最優(yōu)解代入,其目標函數(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ǎ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)進行代換運算,可用JS散度形式表示Ex~pGlg (1-D(x)),移項得式(5):
Ex~pGlg (D(x))=2JS(pdata‖pG)-
KL(pdata‖pG)-Ex~pdatalg (D(x))-
2log 2(5)
式中僅前兩項與生成器相關(guān),即生成器目標函數(shù)表示為式(6):
LG=2JS(pdata‖pG)-KL(pdata‖pG)(6)
WGAN為了解決模式崩潰問題,采用Wasserstein距離來衡量分布間的距離[18]。其計算公式如式(7):
W(pdata,pG)=
infγ∈∏(pdata,pG)E(x-y)~y‖x-y‖(7)
由于‖x-y‖難以直接進行計算,因此引入利普希茨(Lipschitz)連續(xù)條件,即:設(shè)k≥0,定義域內(nèi)任意兩個x1,x2滿足如式(8)的關(guān)系:
f(x1)-f(x2)≤kx1-x2(8)
則稱k為f(x)的Lipschitz常數(shù)。則目標函數(shù)轉(zhuǎn)化為:
V(G,D)=
max D∈1-LipschitzEx~pdataD(x)-Ex~pGD(x)
(9)
WGAN GP采用梯度懲罰的方式,以在樣本的過渡區(qū)滿足約束,其表達式如式(10):
VGP(G,D)=
max D∈1-LipschitzEx~pdataD(x)-Ex~pGD(x)=
-λEx~py(‖
表示梯度算子,py是從真實數(shù)據(jù)pdata和偽數(shù)據(jù)pG分布點之間沿直線均勻采樣得到的分布。WGAN div通過引入Wasserstein散度,證明了L約束的可去除性。W散度的表達式如式(11)所示。
Wk,ppdata,pG=inf f∈C1c(Ω)Ex~pdataf(x)-
Ex~pGf(x)+kEx~pu‖
1.2 基于Info GAN的入侵檢測方法
Info GAN通過改進輸入噪聲矢量以解決該問題:將輸入噪聲分解為兩部分,一部分為不可壓縮的噪聲z,另一部分為潛向量c,用于針對數(shù)據(jù)分布的結(jié)構(gòu)化語義特征。用c=c1,c2,…,cL表示潛向量的集合,并且滿足式(13)的關(guān)系:
Pc1,c2,…,cL=∏Li=1P(ci) (13)
Info GAN的目的在于訓(xùn)練網(wǎng)絡(luò)在無監(jiān)督的條件下發(fā)現(xiàn)并恢復(fù)每個樣本數(shù)據(jù)中的潛向量。因此使用信息正則化方法來解決此問題,互信息熵的計算公式如式(14):
I(X;Y)=H(X)-H(X|Y)=
H(Y)-H(Y|X) (14)
在給定pG(x)的情況下,應(yīng)當保持pG(x|c)具備一個較小的熵,因此采用的目標函數(shù)如式(15):
min Gmax DV1(D,G)=V(D,G)-λI(c;G(z,c))(15)
實踐中,I(c;G(z,c))難以直接進行最大化,因此引入輔助分布q(c|x),其計算過程如式(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),將其簡寫為L1(G,Q),則目標函數(shù)轉(zhuǎn)換為式(19):
min G,Qmax DVInfo(D,G,Q)=V(D,G)-λL1(G,Q)(19)
綜合以上兩節(jié),提出了一種基于WGAN div的數(shù)據(jù)擴充方法以解決入侵流量數(shù)據(jù)集的不平衡問題,提升深度學(xué)習(xí)模型對少數(shù)樣本特征的提取能力;提出一種基于Info GAN的入侵流量檢測模型。將兩種方法結(jié)合起來,能夠得到一種入侵檢測性能良好的算法。
2 實驗分析
2.1 入侵流量數(shù)據(jù)集預(yù)處理
本文選用數(shù)據(jù)集為:NSL KDD數(shù)據(jù)集[5]、CICIDS2017數(shù)據(jù)集[3]、UNSW NB15數(shù)據(jù)集[18]。
由文獻可知,NSL KDD數(shù)據(jù)集共包括5種類型流量數(shù)據(jù),其中一種是正常流量,標簽為Normal,另外四種是攻擊流量,標簽分別為DoS、Probing、R2L、U2R。訓(xùn)練集和測試集都存在明顯的數(shù)據(jù)不平衡現(xiàn)象,數(shù)據(jù)量最少的樣本僅占比0.04%,樣本比例差距高達1336.5∶1,需要對數(shù)據(jù)集進行平衡化的處理。CICIDS2017數(shù)據(jù)集攻擊流量包含若干小類別,統(tǒng)一將數(shù)據(jù)按照大類別以6種攻擊類型流量進行標識,分別是Botnet、Brute Force、DoS、Infiltration、PortScan、Web Attack。該數(shù)據(jù)集中各類數(shù)據(jù)也存在明顯的分布不平衡問題,樣本比例差距高達83340∶1。本文設(shè)計在小樣本、數(shù)據(jù)分布不均衡的條件下進行入侵檢測,需要對數(shù)據(jù)集進行平衡化的處理。UNSW NB15數(shù)據(jù)集包含9種入侵流量,分別是Fuzzers、Analysis、Backdoors、Reconnaissance、 DoS、Exploit、Generic、Shellcode、Worms。觀察數(shù)據(jù)分布可發(fā)現(xiàn),正常流量(Normal流量)在訓(xùn)練集和測試集中占比最大,Worms流量占比最小,兩者樣本數(shù)量比例差異最高可達840.91∶1,這表明該數(shù)據(jù)集也存在樣本數(shù)量不平衡的問題,Analysis、Backdoors、Shellcode、Worms等都屬于小樣本類別數(shù)據(jù),需要對其進行數(shù)據(jù)擴充,以提升對小樣本類別的入侵檢測性能。另外,UNSW NB15預(yù)先劃分的訓(xùn)練集和測試集中均存在大量的重復(fù)冗余數(shù)據(jù),在進行預(yù)處理前需要對其進行移除。
2.2 實驗結(jié)果
將預(yù)處理完畢的數(shù)據(jù)集劃分為訓(xùn)練集和測試集。其中CICIDS2017采用1∶9的比例劃分訓(xùn)練集和測試集,另外兩種數(shù)據(jù)集采用公開數(shù)據(jù)集中給出的劃分方法確定訓(xùn)練集和測試集。其中,每種數(shù)據(jù)集均包括原數(shù)據(jù)集和經(jīng)SMOTE、ADASYN、WGAN div過采樣擴充的擴充數(shù)據(jù)集。采用的深度學(xué)習(xí)模型包括Info GAN以及經(jīng)典機器學(xué)習(xí)算法和深度學(xué)習(xí)算法。圖1表明Info GAN模型中生成器損失函數(shù)G_loss、判別器損失函數(shù)D_loss、分類器損失函數(shù)Q_loss在訓(xùn)練集訓(xùn)練過程中隨訓(xùn)練輪數(shù)epoch的變化情況。隨著訓(xùn)練輪數(shù)增加,模型的損失函數(shù)值首先逐步降低,在epoch=305~360之間取值達到最小,而后隨著訓(xùn)練輪數(shù)增長,取值在一定區(qū)間內(nèi)上下波動,最終趨于穩(wěn)定,這表明模型已經(jīng)接近收斂。
2.2.1 多分類模型性能對比
圖2是Info GAN模型在各數(shù)據(jù)集的不同訓(xùn)練集下進行訓(xùn)練得到的模型多分類性能評估圖。整體上看Info GAN模型對三種數(shù)據(jù)集都能夠?qū)崿F(xiàn)有效的多分類,分類準確率取決于數(shù)據(jù)集的數(shù)據(jù)分布。通過t SNE圖可得知,UNSW NB15數(shù)據(jù)集中訓(xùn)練集數(shù)據(jù)類間混疊較嚴重,會對分類準確率造成干擾。
在NSL KDD、CICIDS2017數(shù)據(jù)集的攻擊流量分類任務(wù)中,過采樣訓(xùn)練集均可提升模型的分類識別性能。在多分類性能評估中,Info GAN模型在三種數(shù)據(jù)集上均展現(xiàn)出一定的分類能力。通過對模型損失函數(shù)曲線的分析可知,隨著訓(xùn)練輪數(shù)增加,模型損失函數(shù)值先下降后趨于穩(wěn)定,表明模型逐漸收斂。在 NSL KDD 和 CICIDS2017 數(shù)據(jù)集的攻擊流量分類任務(wù)中,過采樣訓(xùn)練集對模型分類識別性能有提升作用,且 WGAN div 擴充后的訓(xùn)練集效果最佳。這是因為 WGAN div 生成的數(shù)據(jù)特征與原樣本更契合,類內(nèi)聚集性強,能有效提升對少數(shù)樣本的分類識別率。例如,在 NSL KDD 數(shù)據(jù)集中,WGAN div 處理后的訓(xùn)練集使模型準確率、精確率、召回率和 F1 值均達到最高。而 UNSW NB15 數(shù)據(jù)集訓(xùn)練集數(shù)據(jù)類間混疊較嚴重,對分類準確率產(chǎn)生一定干擾,但 WGAN div 仍能在一定程度上改善分類效果。進一步分析數(shù)據(jù)發(fā)現(xiàn),模型在處理類間差異較大的數(shù)據(jù)時,能夠更好地學(xué)習(xí)到不同類別的特征,但對于類間混疊嚴重的數(shù)據(jù),仍面臨挑戰(zhàn),未來可考慮結(jié)合特征工程或改進模型結(jié)構(gòu)來提高分類性能。
2.2.2 二分類模型性能對比
通過使用二分類的手段對流量進行劃分,可以方便快捷地篩選入侵流量并進行處理。為了檢驗在二分類情況下Info GAN模型對各類型數(shù)據(jù)集的分類性能,將多種攻擊流量標簽進行合并,統(tǒng)一改寫為“Attack”類型,便得到了用于二分類檢測識別的訓(xùn)練集和測試集。圖3展示的是Info GAN模型在各數(shù)據(jù)集的不同訓(xùn)練集下進行訓(xùn)練得到的模型的二分類性能評估圖。圖3(a)是模型對NSL KDD數(shù)據(jù)集的二分類測試集評估結(jié)果,整體上,二分類性能指標優(yōu)于多分類結(jié)果,這主要得益于二分類簡化了分類任務(wù),避免了攻擊流量間相互區(qū)分的難題。在 NSL KDD 數(shù)據(jù)集上,WGAN div 擴充的訓(xùn)練集使模型準確率提升明顯,相比其他過采樣算法對 Info GAN 模型分類效果提升最大。在 CICIDS2017 和 UNSW NB15 數(shù)據(jù)集上,SMOTE 和 ADASYN 算法過采樣的訓(xùn)練集導(dǎo)致 Info GAN 模型分類效果下降,而 WGAN div 擴充的模型性能指標均有所提升,再次證明 WGAN div 數(shù)據(jù)擴充技術(shù)的有效性和穩(wěn)定性。深入對比不同數(shù)據(jù)集的二分類結(jié)果,發(fā)現(xiàn)模型在不同數(shù)據(jù)分布下的表現(xiàn)有所差異,對于數(shù)據(jù)分布相對簡單的數(shù)據(jù)集(如 NSL KDD 在二分類時),模型能夠更高效地學(xué)習(xí)到區(qū)分正常與攻擊流量的特征,而對于復(fù)雜數(shù)據(jù)集(如 CICIDS2017 和 UNSW NB15),雖然 WGAN div 有提升作用,但仍有進一步優(yōu)化空間,可能需要更多的數(shù)據(jù)增強或模型改進策略。
2.2.3 與現(xiàn)有算法性能對比
為驗證Info GAN算法模型的實際性能和應(yīng)用價值,采用文獻[14]和文獻[15]提出的算法、經(jīng)典機器學(xué)習(xí)算法和深度學(xué)習(xí)算法與本文算法進行性能對比,分別在多分類和二分類的情況下針對準確率、精確率、召回率和F1值進行評估。表1中最后四行表示使用Info GAN模型,但使用了不同類型的訓(xùn)練集最終得到的結(jié)果,其余算法均使用數(shù)據(jù)集的原訓(xùn)練集進行模型訓(xùn)練。
表1的數(shù)據(jù)說明,在多分類任務(wù)中,Info GAN 分類模型性能顯著優(yōu)于其他算法,在三種數(shù)據(jù)集的測試集分類上均達到最高準確率和最低誤報率,充分體現(xiàn)了算法設(shè)計的合理性和模型分類的準確性、泛化性及可靠性。例如,在 NSL KDD 數(shù)據(jù)集上,Info GAN 模型的準確率達到 91.0%,相比其他算法有明顯提升。在二分類任務(wù)中,雖然 Info GAN 算法性能略低于部分有監(jiān)督算法(如 RF、CNN LSTM 等),但作為無監(jiān)督學(xué)習(xí)算法,其無需標注訓(xùn)練數(shù)據(jù)的優(yōu)勢不可忽視,在實際應(yīng)用中可大幅節(jié)省數(shù)據(jù)標注時間,提高訓(xùn)練效率。深入分析不同算法的性能差異,發(fā)現(xiàn)有監(jiān)督算法在有大量標注數(shù)據(jù)時能充分學(xué)習(xí)數(shù)據(jù)特征,但標注數(shù)據(jù)的獲取往往成本高昂。而 Info GAN 模型能夠直接從無標簽數(shù)據(jù)中學(xué)習(xí)有效特征,在處理小樣本和不平衡數(shù)據(jù)集時表現(xiàn)出色,尤其在數(shù)據(jù)標注困難的場景下具有更大的應(yīng)用潛力。同時,對比使用不同訓(xùn)練集(原訓(xùn)練集、SMOTE、ADASYN、WGAN div 擴充訓(xùn)練集)的 Info GAN 模型結(jié)果,進一步證實了 WGAN div 數(shù)據(jù)擴充技術(shù)對提升模型分類性能的重要作用。
2.2.4 復(fù)雜度分析
(1)WGAN div計算復(fù)雜度
生成器與判別器訓(xùn)練:WGAN div在訓(xùn)練過程中需要同時訓(xùn)練生成器和判別器。在每一輪訓(xùn)練中,生成器生成偽數(shù)據(jù)并輸入判別器,判別器計算損失函數(shù)并更新參數(shù),然后固定判別器參數(shù),生成器根據(jù)判別器的反饋更新自身參數(shù)。這個過程涉及復(fù)雜的神經(jīng)網(wǎng)絡(luò)計算,其計算復(fù)雜度較高。假設(shè)生成器和判別器的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)分別具有p和q個參數(shù),在訓(xùn)練過程中,計算生成器損失函數(shù)和判別器損失函數(shù)的時間復(fù)雜度分別約為O(p)和O(q)。由于每一輪訓(xùn)練都需要多次計算損失函數(shù)并更新參數(shù),因此整個WGAN div數(shù)據(jù)擴充過程的計算復(fù)雜度與訓(xùn)練輪數(shù)以及生成器和判別器的參數(shù)數(shù)量密切相關(guān),大致為O(t(p+q))。
樣本插值與梯度懲罰(WGAN GP部分):WGAN GP為了滿足約束條件,采用在真?zhèn)螛颖局须S機插值進行懲罰的方式。這一操作涉及對樣本的額外處理,其計算復(fù)雜度與數(shù)據(jù)集中樣本數(shù)量n以及插值計算的復(fù)雜度有關(guān)。假設(shè)插值計算的復(fù)雜度為O(k)(k取決于具體的插值算法),則這部分操作的計算復(fù)雜度約為O(nk)。在整體WGAN div數(shù)據(jù)擴充過程中,雖然這部分計算復(fù)雜度相對生成器和判別器訓(xùn)練較低,但也不可忽視。
(2)InfoGAN 計算復(fù)雜度
生成器與判別器對抗訓(xùn)練:Info GAN模型基于原始GAN的對抗訓(xùn)練框架,其生成器和判別器的訓(xùn)練過程與WGAN div類似,也涉及復(fù)雜的神經(jīng)網(wǎng)絡(luò)計算。同樣假設(shè)生成器和判別器的參數(shù)數(shù)量分別為p′和q′,訓(xùn)練輪數(shù)為t′,則這部分計算復(fù)雜度約為O(t′(p′+q′))。
潛向量處理與互信息計算:Info GAN通過改進輸入噪聲矢量,引入了潛向量,并在目標函數(shù)中考慮了潛向量與生成數(shù)據(jù)之間的互信息熵。計算互信息熵需要對數(shù)據(jù)分布進行估計和計算,這增加了一定的計算復(fù)雜度。假設(shè)處理潛向量和計算互信息熵的復(fù)雜度為O(l)(l取決于具體的計算方法和數(shù)據(jù)分布情況),則這部分操作在每一輪訓(xùn)練中都需要執(zhí)行,因此其計算復(fù)雜度約為O(t′l)。在整個 Info GAN 模型訓(xùn)練過程中,這部分計算復(fù)雜度雖然相對生成器和判別器對抗訓(xùn)練較低,但對于模型整體性能和計算資源需求也有一定影響。
綜合上述各部分的計算復(fù)雜度分析,基于WGAN div和Info GAN的無監(jiān)督學(xué)習(xí)入侵流量分類模型的總計算復(fù)雜度可以表示為O(t(p+q)+nk)+O(t′(p′+q′)+t′l)。
3 結(jié) 論
提出了一種基于WGAN div和Info GAN的無監(jiān)督學(xué)習(xí)入侵流量分類模型,算法通過改進輸入量為噪聲和潛向量的疊加量,解決了原始GAN可解釋性差的問題。相比于有監(jiān)督的深度學(xué)習(xí)模型,算法直接使用無標簽數(shù)據(jù)進行訓(xùn)練和分類,節(jié)省了標注數(shù)據(jù)標簽的工作量。通過WGAN div算法對數(shù)據(jù)訓(xùn)練集進行特征學(xué)習(xí),并合成少數(shù)樣本數(shù)據(jù)以實現(xiàn)數(shù)據(jù)擴充的目的,改善小樣本在不平衡數(shù)據(jù)集中的分布,解決了深度學(xué)習(xí)網(wǎng)絡(luò)在不平衡數(shù)據(jù)集的學(xué)習(xí)中易忽略小樣本特征信息的問題,通過過采樣前后的對比及與SMOTE、ADASYN過采樣效果的比較說明了WGAN div算法對于分類模型性能提高的重要作用。
本文提出的算法在NSL KDD、CICIDS2017、UNSW NB15的測試集上進行了入侵流量分類性能的測試和算法效能對比,使用的性能指標包括準確率、精確率、召回率、調(diào)和平均值。結(jié)果顯示,算法在多分類任務(wù)上性能均達到最佳,準確率分別達到91.0%,97.1%,79.9%,同時保持較高的二分類準確率和精確率,性能優(yōu)于大部分深度學(xué)習(xí)算法。整體來看,本文提出的算法誤報率低、泛化性好,具備較高的可靠性和工程應(yīng)用價值。
參考文獻
[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)計重要性融合的網(wǎng)絡(luò)流量異常檢測方法[J/OL].通信學(xué)報, 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ò)流量時空特征和自適應(yīng)加權(quán)系數(shù)的異常流量檢測方法[J].電子與信息學(xué)報, 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.