楊錦溦, 楊宇, 姚鋮鵬, 尹坤
(武警工程大學(xué)信息工程學(xué)院, 西安 710086)
20世紀(jì)80年代, Endsley[1]提出了態(tài)勢感知這一概念,即“在一定的時空范圍內(nèi),認(rèn)知、理解環(huán)境因素,并且對未來的發(fā)展趨勢進(jìn)行預(yù)測”。網(wǎng)絡(luò)安全態(tài)勢感知(network security situation awareness,NSSA)可以融合所有可獲取的信息并對網(wǎng)絡(luò)的安全態(tài)勢進(jìn)行評估,實現(xiàn)了傳統(tǒng)的網(wǎng)絡(luò)攻防方式向積極主動對網(wǎng)絡(luò)攻擊進(jìn)行一定的分析、評估和預(yù)測的轉(zhuǎn)變,對安全分析給予決議參考,對于提升網(wǎng)絡(luò)監(jiān)管水平、應(yīng)急響應(yīng)水平、預(yù)測網(wǎng)絡(luò)安全等方面具有重要價值[2]。
在已有的網(wǎng)絡(luò)安全態(tài)勢感知方法中,入侵檢測系統(tǒng)(intrusion detection system, IDS)是一種積極的安全防護(hù)形式,對網(wǎng)絡(luò)開展實時性的監(jiān)測,能夠較好地發(fā)現(xiàn)網(wǎng)絡(luò)攻擊,為相關(guān)人員提供了重要的響應(yīng)決策[3]。近年來,更多的新型的算法被應(yīng)用在了IDS領(lǐng)域來構(gòu)建相對穩(wěn)定以及準(zhǔn)確性更高的入侵檢測系統(tǒng)。機(jī)器學(xué)習(xí)策略通常需要人工選取特征,由此要求諸多從業(yè)人員具備更為專業(yè)的理論素養(yǎng)。但是,因為網(wǎng)絡(luò)中數(shù)據(jù)急劇增加,網(wǎng)絡(luò)帶寬也有了明顯的提高,信息的復(fù)雜特質(zhì)以及特性的多元化也正呈現(xiàn)出持續(xù)的提升態(tài)勢,新型的網(wǎng)絡(luò)攻擊形式越來越多,淺層的機(jī)器學(xué)習(xí)已然無法實現(xiàn)分析以及預(yù)測的目標(biāo)。深度學(xué)習(xí)為學(xué)習(xí)樣本信息的潛在規(guī)律以及表示層次,建立起包含諸多隱藏層的非線性網(wǎng)絡(luò)系統(tǒng)可以較好地滿足高維度研究,效率更高,能夠結(jié)合具體情況搭建模型,不局限于具體的固定問題,于處理入侵檢測方面有著重要價值[4]。文獻(xiàn)[5]提出了一種基于深層隨機(jī)卷積神經(jīng)網(wǎng)絡(luò)-雙向長短時記憶網(wǎng)絡(luò)(deep stochastic convolutional neural network-bi-directional long short-term memory,DSCNN-BiLSTM)的入侵檢測方法,該方法引入了深度可分離卷積代替標(biāo)準(zhǔn)卷積從而減少了模型參數(shù),降低了計算量,并應(yīng)用雙向長短期記憶網(wǎng)絡(luò)(bi-directional long short-term memory,BiLSTM)提取長距離依賴信息的特征,以解決前后特征之間的影響問題。文獻(xiàn)[6]提出了一種改進(jìn)人工蜂群優(yōu)化神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢評估方法,通過引入混沌序列改進(jìn)人工蜂群算法提高蜂群的多樣性,使其具備更強(qiáng)大的全局搜索能力。然后,利用改進(jìn)的蜂群算法代替反向傳播算法來優(yōu)化神經(jīng)網(wǎng)絡(luò)的各權(quán)值參數(shù),提高了安全評估精度,加快了收斂速度。文獻(xiàn)[7]通過分析總線中入侵?jǐn)?shù)據(jù)幀的特點,提出了基于門控循環(huán)單元(gated recurrent unit,GRU) 的入侵檢測方法,達(dá)到與長短期記憶(long short-term memory,LSTM) 模型相當(dāng)?shù)臋z測精度,并且具有更短的訓(xùn)練和檢測時間。
但是真實的網(wǎng)絡(luò)攻擊樣本數(shù)據(jù)集具有不平衡性,正常行為流量明顯多于異常行為流量,初始數(shù)據(jù)集攻擊形式的不平衡性會導(dǎo)致分類器的訓(xùn)練會出現(xiàn)較大偏差,分類結(jié)果往往會傾向于在數(shù)據(jù)集中更加頻繁出現(xiàn)的樣本,現(xiàn)階段已知數(shù)據(jù)樣本對新型攻擊活動的預(yù)測以及歸類效果應(yīng)對并不理想,從而影響最終的入侵檢測分類結(jié)果,無法對少見或者未知的攻擊類型進(jìn)行有效的檢測。
針對數(shù)據(jù)樣本不平衡的缺點,提出一種新的入侵檢測模型,即DCGAN-DNN。該模型是將改進(jìn)后的深層卷積生成對抗網(wǎng)絡(luò)(deep convolutional generative adversarial networks,DCGAN)和深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN)相結(jié)合。生成對抗網(wǎng)絡(luò)(generative adversarial networks,GAN)由生成 網(wǎng)絡(luò)和判別 網(wǎng)絡(luò)兩個神經(jīng)網(wǎng)絡(luò)組成,生成網(wǎng)絡(luò)反復(fù)學(xué)習(xí)真實 樣本的分布,最終達(dá)到生成真實 度很高的假樣本的目的,從而對數(shù)據(jù)集進(jìn)行增強(qiáng)和擴(kuò)充。DCGAN網(wǎng)絡(luò)在計算機(jī) 視覺、圖像翻譯等領(lǐng)域有著廣泛的應(yīng)用,而在入侵檢測中GAN及DNN相結(jié)合的研究并不多。文獻(xiàn)[8]引入了AT-GANs評估對抗樣本的散布;文獻(xiàn)[9]針對黑盒惡意軟件檢測系統(tǒng)提出了一種基于廣義對抗網(wǎng)絡(luò)的惡意軟件生成算法(MalGAN);文獻(xiàn)[10]提出了一類應(yīng)用GANs應(yīng)對ML進(jìn)攻的策略,從而促使IDS在應(yīng)對攻擊性流量干擾的時候表現(xiàn)更為平穩(wěn);文獻(xiàn)[11]引入了 Cycle-GAN將ADFA-LD數(shù)據(jù)集轉(zhuǎn)化成圖像形式,將得到的綜合性的異常信息和原始信息一同用在模型的訓(xùn)練方面;文獻(xiàn)[12]提出了圍繞GAN為基礎(chǔ)的全新的對抗網(wǎng)絡(luò)架構(gòu)繼而進(jìn)行對抗攻擊,這一攻擊能夠欺騙以及躲避入侵檢測模塊;文獻(xiàn)[13]將戰(zhàn)略對抗性干擾引入GAN網(wǎng)絡(luò)的樣本數(shù)據(jù)中, 用來更好地訓(xùn)練IDS模型,在應(yīng)對這種對抗性干擾時能夠有更好的檢測效果;文獻(xiàn)[14]提出了一類圍繞GAN損失函數(shù)為核心的高效能系統(tǒng),自常規(guī)的樣本內(nèi)研究它的分布以及得到最為相近的樣本,之后結(jié)合測試以及真實樣本彼此的不同從而詮釋異常信息的評估。此類研究均應(yīng)用了GAN,但GAN訓(xùn)練存在不可控性,會導(dǎo)致梯度消失情況,經(jīng)常性的誘發(fā)生成器出現(xiàn)無意義的輸出,有時反而會導(dǎo)致數(shù)據(jù)集更加龐雜,特征不夠明晰,反而增加了之后工作的難度,降低準(zhǔn)確性。因此,文獻(xiàn)[15]提出了DCGAN,將卷積神經(jīng)網(wǎng)絡(luò)和GAN結(jié)合起來,得到一個訓(xùn)練更穩(wěn)定、較容易收斂、生成較高數(shù)據(jù)質(zhì)量的網(wǎng)絡(luò)。
根據(jù)當(dāng)前的研究情況來看,DCGAN大量運(yùn)用到圖像數(shù)據(jù)集處理當(dāng)中,但是尚未涉及網(wǎng)絡(luò)安全態(tài)勢感知領(lǐng)域用來擴(kuò)充增強(qiáng)數(shù)據(jù)集。為此,將DCGAN引入數(shù)據(jù)預(yù)處理中,并對DCGAN的生成網(wǎng)絡(luò)中的激活函數(shù)進(jìn)行改進(jìn),最后利用CIC-IDS-2017數(shù)據(jù)集對DCGAN-DNN模型進(jìn)行評估,和已有的過采樣方法如ROS、SMOTE進(jìn)行對比。
根據(jù)Goodfellow等[16]提出的生成對抗網(wǎng)絡(luò)架構(gòu),生成模型與判別模型進(jìn)行博弈對抗,從而確定樣本是來自模型分布還是數(shù)據(jù)分布。對抗網(wǎng)絡(luò)在均采用多層感知模塊的情況下最為適用,為能夠?qū)W習(xí)生成器于數(shù)據(jù)x的分布pg,定義了輸入噪音z的先驗變量pz(z),將數(shù)據(jù)空間的映射定義為G(z;θg),其中G為典型的含有參量θg的多層感知模塊的可微函數(shù)。之后再定義一個用來輸出單獨標(biāo)量的多層感知機(jī)D(x;θd)。D(x)表示x來自真實數(shù)據(jù)分布,而不是pg的概率。訓(xùn)練D從而最大化分配給訓(xùn)練樣本以及生成新樣本的正確標(biāo)簽的概率,訓(xùn)練G使lg1-D[G(z)]最小化,則D和G的訓(xùn)練均為有關(guān)值函數(shù)V(G,D)的極小化極大的博弈過程,可表示為[16]
Ez~pz(z)lg{1-D[G(z)]}
(1)
GAN包含典型的兩個網(wǎng)絡(luò)部分,所以需要就該網(wǎng)絡(luò)進(jìn)行獨立的交錯迭代練習(xí),旨在使得生成器可以學(xué)習(xí)獲得真實數(shù)據(jù)的散布,即pdata(x)=pg(x)。
首先,固定G,最優(yōu)判別器D可表示為
(2)
給定任意生成器G,判別器D的最大化目標(biāo)函數(shù)為
lg[1-D(x)]dx
(3)
式(3)中:訓(xùn)練判別器D的訓(xùn)練目標(biāo)可以看作為條件概率P(Y=y|x)的最大似然估計,當(dāng)y=1時,x來自pdata(x);當(dāng)y=0時,x來自pg。
式(1)中的極小化極大問題可變形為
(4)
生成對抗網(wǎng)絡(luò)中對抗網(wǎng)絡(luò)在生成過程中無需反饋回路,因此不需要馬爾可夫鏈進(jìn)行采樣,可以較好地利用分段線性單元,提升了反向傳播的能力[13]。
DCGAN將卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)和GAN結(jié)合起來,從而使生成的數(shù)據(jù)質(zhì)量以及多樣性得以保證。DCGAN引入了歸一化(batch normalization,BN)穩(wěn)定訓(xùn)練,使用ReLU激活函數(shù)降低梯度消失風(fēng)險,消除池化層,引入跨步卷積以及微步幅卷積較好的保持了數(shù)據(jù)特征[17]。DCGAN運(yùn)行成本較低,可運(yùn)行在CPU上,處理數(shù)據(jù)樣本較為便捷迅速,有利于對數(shù)據(jù)集進(jìn)行實時的動態(tài)分析。
DCGAN對GAN的框架做出的改進(jìn)有:①全卷 積網(wǎng)絡(luò)結(jié)合跨步卷積取代了確定性空間池函數(shù),支持網(wǎng)絡(luò)學(xué)習(xí)自身的空間下采樣,DCGAN將這一策略應(yīng)用于生成以及判別網(wǎng)絡(luò)內(nèi),支持學(xué)習(xí)自身的空間上采樣;②于卷積特征的前提下去除了全連接層,全局平均池可以提升模型的穩(wěn)定效果,但同時減小了收斂速度。而在最高卷積 特征的中間區(qū)域,直接將生成 網(wǎng)絡(luò)的輸入和判別 網(wǎng)絡(luò)的輸出連接起來,有較為理想的效果;③批歸一化處理通過對每個單元的輸入進(jìn)行歸一化,使其具有零均值和單位方差,從而穩(wěn)定學(xué)習(xí),這有助于解決由于初始化不良導(dǎo)致的訓(xùn)練問題,并且有利于梯度流向更深的網(wǎng)絡(luò)。
DCGAN 的架構(gòu)大致為:①判別網(wǎng)絡(luò)使用跨步卷積替代全部池化層,生成網(wǎng)絡(luò)使用分?jǐn)?shù)跨步卷積替代全部池化層;②于生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)內(nèi)均應(yīng)用了批歸一化;③為能夠搭建更為深度的系統(tǒng)去除全連接層;④除去生成 網(wǎng)絡(luò)的輸出層采用了Tanh激活函數(shù),其他 層均采用了ReLU激活函數(shù);⑤各層的判別網(wǎng)絡(luò)中均應(yīng)用了LeakyReLU激活[18]。
入侵檢測模型如圖1所示,主要包括:①DCGAN網(wǎng)絡(luò)的訓(xùn)練,交替訓(xùn)練判別器和生成器;②生成新的數(shù)據(jù)樣本,將加入新生成的樣本的訓(xùn)練集進(jìn)行循環(huán)訓(xùn)練;③DNN分類器的訓(xùn)練,采用最終得到的真假混合樣本作為訓(xùn)練集對DNN進(jìn)行訓(xùn)練,而后以真實的數(shù)據(jù)集作為測試集,通過DNN分類器進(jìn)行分類,檢驗入侵檢測模型效果。
圖1 DCGAN-DNN入侵檢測模型Fig.1 DCGAN-DNN intrusion detection model
2.1.1 訓(xùn)練判別器D
如圖1所示,控制生成器G保持不變,判別器D的輸入層為真實攻擊的樣本集{x1,x2,…,xm}和生成器生成的假攻擊樣本集{G(z1),G(z2),…,G(zm)},輸出層為判別樣本真假的概率值,即{D(x1),D(x2),…,D(xm)}和{D[G(z1)],D[G(z2)],…,D[G(zm)]}。判別模塊D的訓(xùn)練目的是準(zhǔn)確的識別真假樣本,因此相當(dāng)于二分類器,真實攻擊樣本輸出為1,否則為0;最后結(jié)合激活函數(shù)把概率值轉(zhuǎn)化成樣本預(yù)測分類標(biāo)簽,采用交叉熵?fù)p失函數(shù)分析算出損失值。
2.1.2 訓(xùn)練生成器G
生成器G需要將生成網(wǎng)絡(luò)以及判別網(wǎng)絡(luò)的串聯(lián)進(jìn)行訓(xùn)練,它的訓(xùn)練宗目的是得到判別模塊D難以辨別的假樣本,經(jīng)過第一步之后,判別器D有了初步的判別能力,如圖1所示,把生成器G得到的假攻擊樣本集{G(z1),G(z2),…,G(zm)}當(dāng)做串聯(lián)在判別器D之后的輸入層,樣本為真假樣本的概率值為輸出層。訓(xùn)練生成器G的目標(biāo)值設(shè)為1,最大可能地得到真實樣本。采用交叉熵?fù)p失函數(shù)分析算出損失值。
2.1.3 交替訓(xùn)練
在損失值以及循環(huán)頻次沒有達(dá)到設(shè)置的閾值時,前兩個步驟交替對判別器D以及生成器G訓(xùn)練,直至達(dá)到設(shè)置的閾值終止訓(xùn)練,結(jié)合Adam優(yōu)化器更新優(yōu)化梯度。
如圖1所示,當(dāng)損失值或指定的循環(huán)數(shù)達(dá)到設(shè)定閾值時,則把最后得到的攻擊樣本集{G(z1),G(z2),…,G(zm)},添加至之前的生成樣本集內(nèi),獲得新樣本。
使用DNN算法來構(gòu)建分類器,用以檢測新生成數(shù)據(jù)樣本集的平衡性。深度神經(jīng)網(wǎng)絡(luò)可以結(jié)合組合低層次特征構(gòu)成更高層次的潛在特征,最后的訓(xùn)練集是混合數(shù)據(jù)集,DNN分類器分析真實標(biāo)簽以及預(yù)測結(jié)果之間的損失loss,直至實現(xiàn)預(yù)設(shè)的閾值。如圖1所示,把測試集輸入訓(xùn)練完畢的DNN分類器內(nèi)進(jìn)行分類,DCGAN-DNN系統(tǒng)入侵檢測模型算法為:①數(shù)據(jù)預(yù)處理,將數(shù)據(jù)集CSV文件之中的文本轉(zhuǎn)換成數(shù)值,去除缺失值所在行,就特征數(shù)據(jù)進(jìn)行歸一化,把字符特征以及分類標(biāo)簽進(jìn)行one-hot編碼,縮放至[0,1]區(qū)間;②結(jié)合預(yù)處理了的數(shù)據(jù)集為訓(xùn)練集就DCGAN予以練習(xí);③輸入隨機(jī)噪聲,得到新的攻擊樣本,同時添加至原始訓(xùn)練集內(nèi),最后獲得測試樣本集;④訓(xùn)練DNN分類器;⑤把測試集輸入到訓(xùn)練完畢的分類器中,得到分類結(jié)果。
使用5個典型的指標(biāo)評價入侵檢測性能,分別是準(zhǔn)確率Accuracy、精確率Precision、召回率Recall、假陽性率FPR和F1-measure[19],即
(5)
(6)
(7)
(8)
(9)
表1為真陽性(TP)、真陰性(TN)、假陽性(FP)、假陰性(FN)的混淆矩陣[15]。
表1 混淆矩陣Table 1 Confusion matrix
選用CIC-IDS-2017數(shù)據(jù)集,該數(shù)據(jù)集包含最新的常見攻擊,并且滿足現(xiàn)實攻擊的所有標(biāo)準(zhǔn)。這一數(shù)據(jù)集的信息,截至2017年7月7日(周五)下午17:00,共計5 d。
周一是正常的一天,只包括正常的流量,周二、周三、周四和周五上午和下午分別執(zhí)行FTP-Patator、SSH-Patator、DoS、Heartbleed、Web攻擊、滲透、僵尸網(wǎng)絡(luò)和DDoS攻擊[20]。表2總結(jié)了一周中每天每個文件中所包含的攻擊類型。
表2 CIC-IDS-2017數(shù)據(jù)集的文件描述Table 2 File descriptions of the CIC-IDS-2017 dataset
好的檢測模型應(yīng)該能夠檢測任何類型的攻擊,為了設(shè)計一個能夠全面檢測的入侵檢測系統(tǒng),需要將一周的流量數(shù)據(jù)合并在一起,形成一個單獨的數(shù)據(jù)集供IDS使用。通過合并CIC-IDS-2017數(shù)據(jù)集中5 d的數(shù)據(jù),可以得到一個包含3 119 345個實例和83個特征,包含15個類標(biāo)簽(1個正常標(biāo)簽+ 14個攻擊標(biāo)簽)的數(shù)據(jù)集。通過數(shù)據(jù)預(yù)處理,檢查組合數(shù)據(jù)集中的實例,將缺少類標(biāo)簽的實例和缺少信息的實例刪除之后,CIC-IDS-2017的組合數(shù)據(jù)集中現(xiàn)有2 830 540個實例。表3為各種攻擊類型數(shù)據(jù)的數(shù)量,并且可以發(fā)現(xiàn)CIC-IDS-2017數(shù)據(jù)集存在很大程度上的類別不平衡問題,類別不平衡的數(shù)據(jù)集可能會誤導(dǎo)分類器,分類結(jié)果偏向于大多數(shù)類別。
表3 CIC-IDS-2017 數(shù)據(jù)集數(shù)據(jù)分布Table 3 Distribution of data in the CIC-IDS-2017 dataset
實驗以CIC-IDS-2017數(shù)據(jù)集作為樣本數(shù)據(jù)對DCGAN-DNN入侵檢測模型的性能進(jìn)行評估,并將實驗結(jié)果與其他過采樣方法作以比較。
3.3.1 實驗參數(shù)和激活函數(shù)改進(jìn)
步驟1計算使用Adam優(yōu)化 器,學(xué)習(xí)率lr為0.000 2,批處理batch為128,循環(huán)數(shù)epoch為60 000。
步驟2對生成網(wǎng)絡(luò)中的線性整流(rectified linear unit, ReLU)激活函數(shù)加以改進(jìn)在DCGAN算法中,生成網(wǎng)絡(luò)主要使用了ReLU激活函數(shù)。然而以ReLU作為激活函數(shù)雖然解決了梯度消失的問題,但仍存在著均值偏移問題和神經(jīng)元死亡問題,對于生成網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定性和生成樣本效果有較大影響,因此針對這兩個問題對ReLU激活函數(shù)加以改進(jìn)。將ReLU函數(shù)x<0的部分用tanh函數(shù)取代,定義為
(10)
式(10)中:α為常數(shù),x<0部分圖像根據(jù)斜率α變化。
函數(shù)右邊的線性成分有著ReLU函數(shù)特質(zhì),對于x不低于0的方面導(dǎo)數(shù)是常數(shù),故而于飽和區(qū)之中沒有梯度是0的情況,可以較好的處理梯度損失情況,左邊的非線性方面不單單可以使得均值更加趨向0,規(guī)避均值偏轉(zhuǎn)情況,此外因為左邊方面沒有硬飽和性,沒有存在神經(jīng)元死亡情況。
步驟3損失函數(shù)計算。判別器的輸入為真實樣本以及生成器生成的假樣本,輸出為輸入樣本的真假概率。兩類樣本通過判別器后獲得未歸一化的概率,即真、假樣本在判別器中的損失結(jié)果。實驗中真樣本的損失函數(shù)輸入為真樣本的損失結(jié)果及其標(biāo)簽1,假樣本的損失函數(shù)輸入為假樣本的損失結(jié)果及其標(biāo)簽0,最終將輸出結(jié)果作均值處理得到判別器D的損失值。
生成器訓(xùn)練的目的是得到仿真度較高的假樣本,從而確保判別模塊難以識別真假。所以,把樣本的優(yōu)化目標(biāo)值設(shè)成1,交叉熵?fù)p失函數(shù)輸入為假樣本的損失結(jié)果及標(biāo)簽1,最終產(chǎn)生的結(jié)果為生成器G的損失值。
3.3.2 結(jié)果分析
從表3可以看出,CIC-IDS-2017數(shù)據(jù)集中不同攻擊類型數(shù)量差距較大,導(dǎo)致訓(xùn)練樣本不平衡。CIC-IDS-2017數(shù)據(jù)集對于FTP-Patator、SSH-Patator、Heartbleed、Web攻擊、滲透和僵尸網(wǎng)絡(luò)等攻擊只有少數(shù)記錄,由于正常網(wǎng)絡(luò)流量BEGINS、Dos Hulk、PortScan這3種數(shù)據(jù)樣本過于龐大,為提高生成新樣本和訓(xùn)練分類器的效率提高,先刪除一部分冗余數(shù)據(jù),然后使用DCGAN針對其他不同的攻擊類型來生成新的攻擊樣本以平衡訓(xùn)練數(shù)據(jù)集。結(jié)果如表4所示。
DCGAN-DNN模型結(jié)合DCGAN得到攻擊樣本,用來平衡增強(qiáng)數(shù)據(jù)集的過采樣方法主要有:隨機(jī)過采樣器(ROS)[17]和合成少數(shù)過采樣(SMOTE),為驗證DCGAN有更好的效果,下面通過比較ROS-DNN和SMOTE-DNN兩種過采樣分類模型。比較結(jié)果如表5所示。
可以看出,所提出的DCGAN-DNN模型在CIC-IDS-2017數(shù)據(jù)集上的檢測性能相比其他方法具有更高的準(zhǔn)確率、精確率、F1-measure和FPR值。實際上ROS、SMOTE過采樣技術(shù)都有一定的缺陷,ROS是訓(xùn)練樣本的簡單復(fù)制,可能會出現(xiàn)模型過擬合情況,削弱了分類模塊的泛化特性,SMOTE結(jié)合最近鄰
表4 在CIC-IDS-2017數(shù)據(jù)集上生成的樣本數(shù)量Table 4 Number of samples generated on the CIC-IDS-2017 dataset
表5 CIC-IDS-2017數(shù)據(jù)集上不同過采樣方法的檢測性能比較Table 5 Different oversampling methods on the CIC-IDS-2017 dataset comparison of detection performance
策略為少數(shù)樣本產(chǎn)生新樣本,容易過度泛化,相較而言DCGAN是通過學(xué)習(xí)真實樣本的特征分布,根據(jù)特征標(biāo)簽生成樣本,能夠最大程度保留數(shù)據(jù)樣本的自身特性,并且訓(xùn)練生成網(wǎng)絡(luò)時所采用的改進(jìn)的激活函數(shù)讓訓(xùn)練更加穩(wěn)定,對模型進(jìn)行了更好的優(yōu)化。
提出了DCGAN-DNN入侵檢測方法,得出以下結(jié)論。
(1)DCGAN能夠通過學(xué)習(xí)已知真實樣本的數(shù)據(jù)特征來生成新的樣本數(shù)據(jù)在一定程度上解決了樣本不平衡的問題,提升了分類器對少數(shù)以及未知攻擊的檢測效果。在CIC-IDS-2017數(shù)據(jù)集上對DCGAN-DNN的分類性能進(jìn)行了評估,并與兩種傳統(tǒng)的過采樣方法ROS、SMOTE進(jìn)行比較,測試結(jié)果表明,所提出的改進(jìn)的DCGAN-DNN模型就少數(shù)樣本攻擊表現(xiàn)出較好的檢測水平。
(2)對于DCGAN算法的改進(jìn),即將生成網(wǎng)絡(luò)中ReLU函數(shù)的非零區(qū)域改為tanh函數(shù),有效地改善了均值偏移和神經(jīng)元壞死的問題。