朱曉慧 錢麗萍 傅 偉
(北京建筑大學(xué)電氣與信息工程學(xué)院 北京 100044)(建筑大數(shù)據(jù)智能處理方法研究北京市重點(diǎn)實(shí)驗(yàn)室 北京 100044)
基于深度學(xué)習(xí)的人工智能技術(shù)蓬勃發(fā)展,在分類、識(shí)別、檢測(cè)等領(lǐng)域都已取得顯著進(jìn)展。但多數(shù)研究均從網(wǎng)絡(luò)結(jié)構(gòu)、訓(xùn)練策略進(jìn)行,忽視了數(shù)據(jù)本身的重要性?,F(xiàn)存眾多數(shù)據(jù)集都存在以下3個(gè)突出問題:
(1) 數(shù)據(jù)集規(guī)模小且數(shù)據(jù)相似度高,用于深度學(xué)習(xí)訓(xùn)練模型過程中易出現(xiàn)過擬合現(xiàn)象。
(2) 數(shù)據(jù)分布不均衡,正數(shù)據(jù)樣本數(shù)量遠(yuǎn)大于負(fù)數(shù)據(jù)樣本數(shù)量,不利于深度學(xué)習(xí)模型學(xué)習(xí)數(shù)據(jù)特征。
(3) 數(shù)據(jù)再采集和人工標(biāo)注過程耗費(fèi)大量人力、物力和財(cái)力。
針對(duì)數(shù)據(jù)集存在問題,國內(nèi)外研究者加強(qiáng)對(duì)數(shù)據(jù)增強(qiáng)技術(shù)的關(guān)注。文獻(xiàn)[1]對(duì)基于深度神經(jīng)網(wǎng)絡(luò)的少樣本學(xué)習(xí)方法進(jìn)行全面總結(jié),將其分為數(shù)據(jù)增強(qiáng)、遷移學(xué)習(xí)[2]、度量學(xué)習(xí)、元學(xué)習(xí)[3]四類,通過對(duì)各類方法進(jìn)行比較分析,闡明各方法對(duì)少樣本學(xué)習(xí)的優(yōu)劣之處和特點(diǎn),但文中只將數(shù)據(jù)增強(qiáng)作為解決少樣本學(xué)習(xí)困難問題的方法之一,沒有詳細(xì)闡釋其對(duì)小樣本數(shù)據(jù)集擴(kuò)充的具體應(yīng)用及意義。文獻(xiàn)[4]對(duì)基于生成對(duì)抗網(wǎng)絡(luò)的數(shù)據(jù)增強(qiáng)方法進(jìn)行介紹,針對(duì)網(wǎng)絡(luò)攻擊檢測(cè)數(shù)據(jù)綜述其具體應(yīng)用,只涉及部分網(wǎng)絡(luò)攻擊樣本擴(kuò)增實(shí)例介紹。本文將立足于生成對(duì)抗網(wǎng)絡(luò)數(shù)據(jù)增強(qiáng)技術(shù),對(duì)其在網(wǎng)絡(luò)安全小樣本數(shù)據(jù)增強(qiáng)上的應(yīng)用全面調(diào)研分析,探究其可提升之處。
深度學(xué)習(xí)是一種基于大數(shù)據(jù)的方法,數(shù)據(jù)規(guī)模越大、質(zhì)量越高,訓(xùn)練所得模型性能和泛化能力越好。然而在實(shí)際采集數(shù)據(jù)過程中往往很難覆蓋全部場景,且數(shù)據(jù)獲取需要大量成本。若能夠自動(dòng)化生成各種訓(xùn)練數(shù)據(jù),就能更好地開源節(jié)流。所以對(duì)多數(shù)小樣本數(shù)據(jù)集而言,數(shù)據(jù)增強(qiáng)是不可缺少的部分。
數(shù)據(jù)增強(qiáng)(Data Augmentation)也稱數(shù)據(jù)擴(kuò)增,是一種擴(kuò)充數(shù)據(jù)規(guī)模的有效方法[5]。按照對(duì)數(shù)據(jù)集處理的不同階段可分為離線增強(qiáng)和在線增強(qiáng),離線增強(qiáng)直接對(duì)數(shù)據(jù)集進(jìn)行處理,適用于較小數(shù)據(jù)集;在線增強(qiáng)先獲取批量數(shù)據(jù),然后再進(jìn)行增強(qiáng),適用于較大數(shù)據(jù)集。按照增強(qiáng)方式不同又可分為有監(jiān)督增強(qiáng)和無監(jiān)督增強(qiáng),其中有監(jiān)督增強(qiáng)指按照早已設(shè)定好的數(shù)據(jù)變換規(guī)則,在原數(shù)據(jù)基礎(chǔ)上進(jìn)行變換,有單樣本數(shù)據(jù)增強(qiáng)和多樣本數(shù)據(jù)增強(qiáng);無監(jiān)督增強(qiáng)可分為生成新數(shù)據(jù)和學(xué)習(xí)增強(qiáng)策略兩個(gè)方向,前者通過模型學(xué)習(xí)原數(shù)據(jù)的數(shù)據(jù)分布,生成分布一致的新數(shù)據(jù),以GAN[6]為代表,后者通過模型學(xué)習(xí)出適當(dāng)?shù)臄?shù)據(jù)增強(qiáng)方法,以AutoAugment[7]為代表。分類架構(gòu)如圖1所示。
圖1 數(shù)據(jù)增強(qiáng)分類
傳統(tǒng)數(shù)據(jù)增強(qiáng)方法大多采用有監(jiān)督形式,常用的包括旋轉(zhuǎn)、裁剪、噪聲、顏色變換、填充等操作。這些方法都是由使用者完全定義,并不適用于所有任務(wù)。因此為處理更多類型小規(guī)模數(shù)據(jù)集,使擴(kuò)增數(shù)據(jù)更具多樣性、合理性,許多研究者轉(zhuǎn)向運(yùn)用無監(jiān)督的方式,提出多種生成式模型。近幾年較主流的生成式模型有自動(dòng)編碼器、自回歸模型、生成對(duì)抗網(wǎng)絡(luò),其中基于生成對(duì)抗網(wǎng)絡(luò)的數(shù)據(jù)增強(qiáng)方法表現(xiàn)尤為突出。
生成對(duì)抗網(wǎng)絡(luò)(GAN)由Goodfellow等[6]提出,是一種無監(jiān)督學(xué)習(xí)的生成式模型。GAN思想的誕生啟發(fā)于博弈論中二人零和博弈,由兩個(gè)參與者對(duì)抗互相提升,所以相較于自動(dòng)編碼器[8]和變分自編碼器[9]等傳統(tǒng)生成模型,GAN中有兩個(gè)模型:生成模型G和判別模型D。
這兩個(gè)模型都可以被看作為黑匣子,是一種輸入輸出映射。原始GAN表示G和D只要是能夠擬合相應(yīng)生成和判別的函數(shù)即可,而在實(shí)際應(yīng)用中二者多采用神經(jīng)網(wǎng)絡(luò)。其中G是一個(gè)樣本生成器,用來擬合數(shù)據(jù)分布,目的是生成與真實(shí)數(shù)據(jù)極相似的數(shù)據(jù)以欺騙判別模型D。而D相當(dāng)于一個(gè)二分類器,用來判別輸入數(shù)據(jù)是否真實(shí),目的是盡可能區(qū)分真實(shí)樣本和生成樣本。在訓(xùn)練過程中G和D單獨(dú)交替迭代訓(xùn)練,在相互對(duì)抗中不斷提高自身性能,構(gòu)成動(dòng)態(tài)的博弈過程。具體模型結(jié)構(gòu)如圖2所示,其中:x表示真實(shí)數(shù)據(jù)集中數(shù)據(jù);z表示隨機(jī)噪聲。
圖2 GAN模型
自GAN問世以來,用于數(shù)據(jù)增強(qiáng)的生成對(duì)抗網(wǎng)絡(luò)架構(gòu)在繼承原始GAN優(yōu)點(diǎn)的同時(shí)不斷克服其在理論與實(shí)踐中的問題,相繼出現(xiàn)CGAN[10]、DCGAN[11]、WGAN[12]、CycleGAN[13]等模型架構(gòu),為GAN更好用于小樣本數(shù)據(jù)增強(qiáng)提供堅(jiān)實(shí)的理論基礎(chǔ)。
1.3.1CGAN
GAN的優(yōu)勢(shì)在于不需要預(yù)先假設(shè)數(shù)據(jù)分布而可以直接對(duì)數(shù)據(jù)分布進(jìn)行采樣,在理論上能夠完全擬合真實(shí)數(shù)據(jù),但在實(shí)踐中發(fā)現(xiàn)該方式因沒有任何限制而過于自由,對(duì)于較大圖片和復(fù)雜數(shù)據(jù),基礎(chǔ)GAN將變得難以控制,于是Mirza等[10]提出條件生成式對(duì)抗網(wǎng)絡(luò)理論(CGAN)。該模型對(duì)原始GAN附加約束,在生成模型和判別模型中引入條件變量y,理論上條件變量y可以采用各種有意義的信息,將無監(jiān)督學(xué)習(xí)的GAN轉(zhuǎn)變?yōu)槿醣O(jiān)督或有監(jiān)督的方式。條件生成對(duì)抗網(wǎng)絡(luò)(CGAN)的提出一定程度上解決原始GAN因輸入為沒有限制的隨機(jī)噪聲而導(dǎo)致在訓(xùn)練過程中容易造成模型崩潰的問題,目前CGAN在MNIST和MIR Flickr25000數(shù)據(jù)集都取得不錯(cuò)的效果。
1.3.2DCGAN
深度卷積生成對(duì)抗網(wǎng)絡(luò)(DCGAN)由Radford等[11]提出。通過對(duì)GAN網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn),首次將卷積神經(jīng)網(wǎng)絡(luò)運(yùn)用到GAN中。在DCGAN中完全使用卷積層替代全連接層,整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)中沒有pooling層和上采樣層,生成器和判別器總體呈對(duì)稱分布,在實(shí)際運(yùn)用中采用帶步長的卷積層替代上采樣過程,通過引入架構(gòu)變化來解決訓(xùn)練不穩(wěn)定、模式崩潰和內(nèi)部協(xié)變量轉(zhuǎn)換等問題,DCGAN的出現(xiàn)是GAN研究史上一個(gè)重要里程碑。Radford使用DCGAN在LSUN數(shù)據(jù)集上進(jìn)行無監(jiān)督學(xué)習(xí),獲得較高質(zhì)量的生成樣本。此后,在DCGAN結(jié)構(gòu)基礎(chǔ)上引入了大量GAN衍生結(jié)構(gòu)。
1.3.3WGAN
然而DCGAN沒有從根本上解決問題,且訓(xùn)練時(shí)仍需要小心平衡G、D的訓(xùn)練進(jìn)程,往往采用交替迭代的方式訓(xùn)練。與DCGAN不同,WGAN主要從損失函數(shù)角度對(duì)GAN改進(jìn),研究者通過研究分析得出交叉熵不適合用來衡量不相交數(shù)據(jù)之間分布距離是造成原始GAN訓(xùn)練不穩(wěn)定的主要原因,提出使用wassertein距離來衡量生成數(shù)據(jù)與真實(shí)數(shù)據(jù)分布之間的距離[12]。此模型架構(gòu)不僅提高訓(xùn)練穩(wěn)定性,還為類別數(shù)據(jù)的處理提供有效方法。在Kaggle競賽中的Sberbank Russian Housing Market數(shù)據(jù)集上運(yùn)用WGAN成功生成數(shù)據(jù)樣本,擴(kuò)展了包含連續(xù)數(shù)據(jù)和類別數(shù)據(jù)的數(shù)據(jù)集,獲得了穩(wěn)定且收斂的損失函數(shù)曲線。
1.3.4CycleGAN
利用原始GAN和已有衍生GAN模型直接生成風(fēng)格相同的數(shù)據(jù)擴(kuò)充數(shù)據(jù)集已經(jīng)得到很好應(yīng)用,然而由不成對(duì)數(shù)據(jù)集通過風(fēng)格遷移來增強(qiáng)數(shù)據(jù)卻沒有較好的實(shí)現(xiàn)方法?;诖?,CycleGAN[13]模型架構(gòu)應(yīng)運(yùn)而生,其創(chuàng)新點(diǎn)在于能夠通過沒有成對(duì)的訓(xùn)練數(shù)據(jù)將圖片內(nèi)容從源域遷移到目標(biāo)域。CycleGAN有別于傳統(tǒng)的單向GAN,由兩個(gè)生成網(wǎng)絡(luò)和兩個(gè)判別網(wǎng)絡(luò)組成,整個(gè)網(wǎng)絡(luò)是一個(gè)對(duì)偶的環(huán)形結(jié)構(gòu),可以將某一類圖片轉(zhuǎn)化成另一類圖片,提高圖片數(shù)據(jù)增強(qiáng)的多樣性。
鑒于網(wǎng)絡(luò)數(shù)據(jù)的特殊性,現(xiàn)存數(shù)據(jù)集規(guī)模普遍較小。為發(fā)揮深度學(xué)習(xí)優(yōu)勢(shì),自動(dòng)生成符合真實(shí)數(shù)據(jù)分布的可用攻擊數(shù)據(jù),研究者加強(qiáng)對(duì)GAN用于數(shù)據(jù)增強(qiáng)的探究。本節(jié)將先對(duì)網(wǎng)絡(luò)安全常用數(shù)據(jù)集進(jìn)行介紹,然后選取部分已采用GAN進(jìn)行增強(qiáng)的數(shù)據(jù)集展開闡述。
目前網(wǎng)絡(luò)安全數(shù)據(jù)集已有很多,常見的有:AWID[14]、Booters[15]、CIC DoS[16]、CICIDS 2017[17]、CIDDS-001[18]、CIDDS-002[19]、CTU-13[20]、DARPA[21-22]、DDoS 2016[23]、IRSC[24]、ISCX 2012[25]、ISOT[26]、KDD CUP99[27]、PUF[28]、UNSW-NB15[29]、Botnet(僵尸網(wǎng)絡(luò))[30]、Malicious-URLs等。本節(jié)將對(duì)這些數(shù)據(jù)集進(jìn)行介紹、分析與比較,具體如表1所示。
表1 網(wǎng)絡(luò)安全常用數(shù)據(jù)集
續(xù)表1
通過表1發(fā)現(xiàn):(1) 現(xiàn)存常用的網(wǎng)絡(luò)安全數(shù)據(jù)集規(guī)模普遍較?。?2) 數(shù)據(jù)采集大多通過模擬網(wǎng)絡(luò)環(huán)境獲得;(3) 部分在真實(shí)環(huán)境中創(chuàng)建的數(shù)據(jù)集因其隱私性而不能公開使用。
2.2.1惡意軟件生成
惡意軟件檢測(cè)是網(wǎng)絡(luò)入侵檢測(cè)的重要部分之一,近年來深度學(xué)習(xí)技術(shù)已被用于檢測(cè)新的惡意軟件。為獲得大量合乎要求的惡意軟件數(shù)據(jù)用于訓(xùn)練,提高檢測(cè)率,許多研究者投入到對(duì)生成模型的探究中。文獻(xiàn)[31]提出一種基于生成對(duì)抗網(wǎng)絡(luò)的算法-MalGAN,用來生成對(duì)抗惡意軟件示例。該模型由神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的生成器和替代判別器構(gòu)成,先將噪聲和原始惡意軟件樣本作為輸入放進(jìn)生成器;然后將生成的惡意樣本與原始良性樣本一起送入黑盒進(jìn)行分類識(shí)別并打上標(biāo)簽;最后將分類結(jié)果作為替代判別器的輸入,用來訓(xùn)練判別器。以此迭代訓(xùn)練,調(diào)整參數(shù)直至整個(gè)過程結(jié)束。由此生成的惡意軟件能夠躲避檢測(cè)器檢測(cè),甚至可以使檢測(cè)率降低至零,豐富了現(xiàn)有惡意軟件數(shù)據(jù)集。
Hu等[32]針對(duì)基于機(jī)器學(xué)習(xí)的惡意軟件檢測(cè)算法在對(duì)抗性示例攻擊下很脆弱問題提出一種新穎的生成算法,生成順序?qū)剐允纠?。該算法采用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)結(jié)構(gòu)的生成器和判別器,將惡意軟件的API序列作為輸入,經(jīng)過生成器生成對(duì)抗性API序列,再用良性序列和生成序列訓(xùn)練判別器,最終生成的示例無法被基于RNN的惡意軟件檢測(cè)算法檢測(cè)出來。該對(duì)抗性樣本生成算法既可以應(yīng)用在現(xiàn)有惡意軟件,也可以用在看不見的惡意軟件。
文獻(xiàn)[33]實(shí)施一種新穎的端到端黑盒方法,針對(duì)許多先進(jìn)機(jī)器學(xué)習(xí)惡意軟件分類生成對(duì)抗性示例樣本。文獻(xiàn)[34]為可靠地檢測(cè)包括零日時(shí)差攻擊在內(nèi)的惡意軟件,提出一種轉(zhuǎn)移深度卷積生成對(duì)抗網(wǎng)絡(luò)方法-tDCGAN。該方法生成偽造惡意軟件,并將其與真實(shí)數(shù)據(jù)分開。其架構(gòu)包括生成器、判別器和深度自編碼器,在訓(xùn)練GAN之前運(yùn)用深度自編碼器學(xué)習(xí)惡意軟件特征,然后更加穩(wěn)定地訓(xùn)練生成器和判別器。實(shí)驗(yàn)結(jié)果證明將tDCGAN生成數(shù)據(jù)用于訓(xùn)練分類器,能夠有效提高平均分類精度,增加學(xué)習(xí)穩(wěn)定性。文獻(xiàn)[35]采用文獻(xiàn)[34]所用數(shù)據(jù)集,提出一種轉(zhuǎn)移生成的對(duì)抗網(wǎng)絡(luò)方法-tGAN,基于轉(zhuǎn)移學(xué)習(xí)對(duì)GAN生成器進(jìn)行預(yù)訓(xùn)練,并通過GAN鑒別器對(duì)惡意軟件檢測(cè)器進(jìn)行預(yù)訓(xùn)練,包括預(yù)訓(xùn)練模塊、生成模塊和檢測(cè)模塊。實(shí)驗(yàn)結(jié)果表明該模型具有很好的檢測(cè)性能,但其惡意軟件生成性能的優(yōu)劣還有待測(cè)試。
文獻(xiàn)[36]為檢測(cè)帶有混淆的惡意軟件,提出一種潛在語義控制生成對(duì)抗網(wǎng)絡(luò)(LSC-GAN)方法。該方法先由可變自動(dòng)編碼器投影數(shù)據(jù)提取特征,再將帶有i特征的特定高斯分布經(jīng)生成器學(xué)習(xí)生成具有i特征的惡意軟件,生成數(shù)據(jù)帶有經(jīng)過修改的特征。實(shí)驗(yàn)結(jié)果顯示,LSC-GAN模型生成數(shù)據(jù)與真實(shí)數(shù)據(jù)相似,且經(jīng)由此訓(xùn)練的檢測(cè)器平均檢測(cè)精度高于其他常規(guī)模型。
文獻(xiàn)[37]以MalGAN研究為基石,深入研究提出一種雙目標(biāo)GAN方法(E-MalGAN)。該方法能夠生成信息不完整的對(duì)抗性示例,采用兩個(gè)目標(biāo)不同的判別器來擴(kuò)展傳統(tǒng)GAN,由其生成的惡意軟件樣本具備攻擊性,能夠突破配備防火墻的檢測(cè)系統(tǒng),有效增強(qiáng)惡意軟件數(shù)據(jù)量。同樣針對(duì)MalGAN存在的現(xiàn)實(shí)問題,文獻(xiàn)[38]對(duì)其生成器模型和替代檢測(cè)器模型進(jìn)行改進(jìn),從多個(gè)正常和惡意軟件中創(chuàng)建API列表。實(shí)驗(yàn)結(jié)果顯示改進(jìn)MalGAN可以生成特征量,獲得更好性能。
文獻(xiàn)[39]是一項(xiàng)比較研究,將目前兩種最受歡迎且最有前途的生成模型-生成對(duì)抗網(wǎng)絡(luò)(GAN)和變異自動(dòng)編碼器(VAE)進(jìn)行比較,闡述二者對(duì)惡意軟件數(shù)據(jù)的生成,討論其優(yōu)劣之處。在分析性能和結(jié)果后可知使用GAN模型生成惡意軟件數(shù)據(jù)比VAE更加有效,更有利于提高檢測(cè)準(zhǔn)確性。為生成攜帶PE文件的惡意軟件,更有效地進(jìn)行對(duì)抗學(xué)習(xí),文獻(xiàn)[40]設(shè)計(jì)使用GAN通過注入字節(jié)級(jí)擾動(dòng)來生成惡意軟件對(duì)抗性示例的方法。該方法能夠擴(kuò)展先前檢測(cè)到的PE惡意軟件攻擊向量,生成的對(duì)抗性示例能夠成功繞過靜態(tài)惡意軟件分類器。文獻(xiàn)[41]針對(duì)真實(shí)網(wǎng)絡(luò)攻擊數(shù)據(jù)不平衡問題,提出一種使用GAN創(chuàng)建相似攻擊流量的方法,通過增強(qiáng)數(shù)據(jù)集來提高攻擊流量數(shù)據(jù)檢測(cè)的準(zhǔn)確率。運(yùn)用該方法對(duì)入侵檢測(cè)學(xué)習(xí)常用數(shù)據(jù)集如NSL-KDD、ISCX 2012和USTC_TFC 2016數(shù)據(jù)集進(jìn)行擴(kuò)增,實(shí)驗(yàn)結(jié)果表明每個(gè)數(shù)據(jù)集中的不平衡問題都得以緩解,分類準(zhǔn)確率提高10~12%。
與其他GAN變體不同,文獻(xiàn)[42]將視角放在鑒別器上,提出一種基于GAN的僵尸網(wǎng)絡(luò)檢測(cè)增強(qiáng)框架,該網(wǎng)絡(luò)通過生成器連續(xù)生成“假”樣本,并擴(kuò)展標(biāo)記的數(shù)量,幫助原始模型進(jìn)行僵尸網(wǎng)絡(luò)檢測(cè)和分類。
2.2.2惡意域名生成
目前針對(duì)網(wǎng)絡(luò)惡意攻擊的主流檢測(cè)方法包括基于人工規(guī)則的檢測(cè)算法和基于機(jī)器學(xué)習(xí)的檢測(cè)算法,然而它們分別存在無法及時(shí)識(shí)別檢測(cè)快速更新的DGA域名和缺乏訓(xùn)練數(shù)據(jù)的問題。為解決這些問題,研究者嘗試采用GAN對(duì)域名數(shù)據(jù)進(jìn)行增強(qiáng),但由于樸素GAN在處理如序列這種離散數(shù)據(jù)時(shí),存在生成器難以傳遞梯度更新和判別器難以評(píng)估完整序列問題,所以利用GAN生成具有序列性域名數(shù)據(jù)的研究較少。文獻(xiàn)[43]提出一種基于GAN的域名生成算法,構(gòu)建一個(gè)基于字符的生成器,模仿Alexa域名分布。其框架包含自編碼器、生成器和判別器,自編碼器是一個(gè)數(shù)據(jù)壓縮算法,用于對(duì)放入訓(xùn)練的數(shù)據(jù)進(jìn)行預(yù)先處理和轉(zhuǎn)換,生成器和判別器進(jìn)行迭代訓(xùn)練達(dá)到平衡,最終生成符合字符分布、無法被分類器識(shí)別的域名。
在文獻(xiàn)[43]基礎(chǔ)上,袁辰等[44]改進(jìn)域名編解碼器構(gòu)造和復(fù)雜的數(shù)據(jù)處理變換,更有針對(duì)性地提出一種結(jié)合編、解碼器和GAN的方法,用于生成符合真實(shí)惡意域名分布的域名變體樣本。文獻(xiàn)[44]對(duì)離散數(shù)據(jù)進(jìn)行處理,加入編、解碼器設(shè)計(jì),將數(shù)據(jù)放入GAN中訓(xùn)練之前先通過設(shè)置的編碼器對(duì)樣本數(shù)據(jù)進(jìn)行分析變換。具體模型結(jié)構(gòu)如圖3所示。
圖3 基于GAN的DGA域名字符生成網(wǎng)絡(luò)模型
該惡意域名生成模型主要由域名編碼器、生成網(wǎng)絡(luò)、判別網(wǎng)絡(luò)、域名解碼器組成。其中:編碼器是基于字符的ASCII碼規(guī)則進(jìn)行編碼;生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)均采用四層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在Alexa數(shù)據(jù)集和100萬條DGA惡意域名樣本上進(jìn)行實(shí)驗(yàn),從能否作為域名、域名字符頻率和由生成域名訓(xùn)練分類器的分類結(jié)果三方面做出分析。結(jié)果表明,生成的惡意域名從外形結(jié)構(gòu)到各字符分布都與真實(shí)樣本差別不大,分類各指標(biāo)與基準(zhǔn)值保持同一性能狀態(tài),生成數(shù)據(jù)具備有效性。
文獻(xiàn)[45]利用GAN生成域名對(duì)抗樣本,由實(shí)驗(yàn)驗(yàn)證生成的對(duì)抗樣本在充當(dāng)惡意域名數(shù)據(jù)和預(yù)測(cè)未知DGA時(shí)均有良好表現(xiàn)。由于GAN在處理離散序列數(shù)據(jù)上的局限性,文獻(xiàn)[46]提出SeqGAN進(jìn)行改進(jìn),對(duì)未來基于GAN生成更高質(zhì)量的域名對(duì)抗樣本拓展思路。
2.2.3惡意網(wǎng)絡(luò)流生成
在網(wǎng)絡(luò)安全防護(hù)中除對(duì)惡意域名的檢測(cè)外,惡意網(wǎng)絡(luò)流的檢測(cè)也是不可忽視的一部分。相較于域名,網(wǎng)絡(luò)流中所包含的信息量更多,各屬性之間的關(guān)聯(lián)度更密切,因此想要通過算法自主學(xué)習(xí)特征并生成惡意網(wǎng)絡(luò)流數(shù)據(jù)面臨著巨大的考驗(yàn),并且網(wǎng)絡(luò)流數(shù)據(jù)不同于圖像樣本,新生成的樣本數(shù)據(jù)不僅需要滿足視覺角度上整體結(jié)構(gòu)的相似性,還需要保證樣本具備有效的可執(zhí)行性和攻擊性,這一特殊性無疑也成為惡意網(wǎng)絡(luò)流樣本增強(qiáng)的嚴(yán)苛條件?;趯?duì)上述問題的考慮,潘一鳴等[47]提出一種基于GAN的新模型MNF-GAN,首次將惡意網(wǎng)絡(luò)流作為原始樣本進(jìn)行擴(kuò)展生成。文獻(xiàn)[47]采用UNSW-NB15數(shù)據(jù)集,先對(duì)網(wǎng)絡(luò)流樣本通過預(yù)處理轉(zhuǎn)化為合理的特征向量形式,然后放入由生成網(wǎng)絡(luò)、判別網(wǎng)絡(luò)和驗(yàn)證網(wǎng)絡(luò)組成的對(duì)抗模型結(jié)構(gòu)中,生成符合原惡意網(wǎng)絡(luò)流分布的數(shù)據(jù)。
文獻(xiàn)[47]中還提出弱相關(guān)位的概念,其目的是保證生成樣本在形式上滿足網(wǎng)絡(luò)流的基礎(chǔ)上,依然能夠具有有效的可執(zhí)行性和攻擊性。通過直接修改惡意網(wǎng)絡(luò)流樣本弱相關(guān)位的方法生成對(duì)抗樣本,在實(shí)際應(yīng)用中更有意義。由對(duì)生成樣本檢出率和攻擊性的驗(yàn)證實(shí)驗(yàn)表明,惡意網(wǎng)絡(luò)流可以直接作為深度學(xué)習(xí)模型的初始樣本,用于增強(qiáng)數(shù)據(jù)。
2.2.4惡意代碼生成
惡意用戶通過瀏覽器端腳本語言JavaScript攻擊其他用戶客戶端瀏覽器,實(shí)施破壞盜取信息。為提供更加安全的網(wǎng)絡(luò)環(huán)境,在惡意代碼執(zhí)行之前高效地將其檢測(cè)出來,研究者在傳統(tǒng)的靜態(tài)檢測(cè)和動(dòng)態(tài)檢測(cè)方法基礎(chǔ)上將機(jī)器學(xué)習(xí)技術(shù)運(yùn)用于惡意代碼識(shí)別。然而惡意JavaScript代碼難以收集且難以進(jìn)行人工標(biāo)記,所以使用現(xiàn)有小規(guī)模惡意代碼庫進(jìn)行機(jī)器學(xué)習(xí)的訓(xùn)練無法發(fā)揮其優(yōu)勢(shì)。為對(duì)惡意代碼數(shù)據(jù)進(jìn)行增強(qiáng),曹啟云等[48]提出基于GAN的惡意代碼生成方法。該方法將有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)相結(jié)合,通過最小化損失使GAN生成的樣本既能擬合有標(biāo)簽數(shù)據(jù),又能由無標(biāo)簽數(shù)據(jù)學(xué)習(xí)特征。
模型框架包含生成模型和判別模型,二者均采用有多個(gè)隱含層的神經(jīng)網(wǎng)絡(luò),具體如圖4-圖5所示,其中W表示各層各輸入分量對(duì)應(yīng)的權(quán)重參數(shù)。
圖4 生成網(wǎng)絡(luò)模型
圖5 判別網(wǎng)絡(luò)模型
按照上述模型框架,文獻(xiàn)[48]設(shè)計(jì)方法選擇API作為特征,先將收集的JavaScript代碼以選取的225個(gè)API進(jìn)行數(shù)據(jù)預(yù)處理,處理為225維的二進(jìn)制向量;然后將一個(gè)滿足高斯正態(tài)分布的隨機(jī)噪聲放入生成器,經(jīng)過多層隱含層后生成225維的樣本數(shù)據(jù);再將真實(shí)樣本和生成樣本輸入判別器,經(jīng)多層隱藏層后給出真假樣本以及真實(shí)樣本良惡性的判斷。通過兩個(gè)模型的交叉訓(xùn)練,達(dá)到納什平衡。最后由在RF、LR、DT、SVM、KNN五種分類器上的分類效果來驗(yàn)證生成樣本的有效性,實(shí)驗(yàn)結(jié)果表明,文獻(xiàn)[48]所提方法有效生成大量接近真實(shí)樣本且無須人工標(biāo)記的數(shù)據(jù),對(duì)于傳統(tǒng)分類器提升近5%的識(shí)別效果。
2.2.5小 結(jié)
本節(jié)對(duì)上述網(wǎng)絡(luò)惡意數(shù)據(jù)樣本生成方法進(jìn)行總結(jié),表2從模型結(jié)構(gòu)、創(chuàng)新之處、數(shù)據(jù)集、生成樣本效果、實(shí)際應(yīng)用價(jià)值等方面展示。
表2 網(wǎng)絡(luò)數(shù)據(jù)增強(qiáng)模型總結(jié)
續(xù)表2
本節(jié)介紹目前GAN在網(wǎng)絡(luò)安全小樣本數(shù)據(jù)增強(qiáng)上的發(fā)展與應(yīng)用。通過探究發(fā)現(xiàn),運(yùn)用GAN對(duì)網(wǎng)絡(luò)安全數(shù)據(jù)集主要從兩方面進(jìn)行增強(qiáng),(1) 轉(zhuǎn)化為圖像,先將網(wǎng)絡(luò)安全數(shù)據(jù)進(jìn)行簡單圖像轉(zhuǎn)換再學(xué)習(xí)特征,生成樣本數(shù)據(jù);(2) 從文本角度,分析找尋網(wǎng)絡(luò)安全數(shù)據(jù)本身內(nèi)容和結(jié)構(gòu)形式存在的聯(lián)系和特點(diǎn),生成具有序列關(guān)系或分布特點(diǎn)的樣本數(shù)據(jù)。
基于GAN的數(shù)據(jù)增強(qiáng)技術(shù)在圖像數(shù)據(jù)增強(qiáng)方面應(yīng)用已經(jīng)相當(dāng)成熟,通過其擴(kuò)增的數(shù)據(jù)不僅達(dá)到數(shù)量上的需求,還具備較高的質(zhì)量,部分研究者將GAN對(duì)網(wǎng)絡(luò)安全數(shù)據(jù)增強(qiáng)與圖像處理相結(jié)合,推動(dòng)網(wǎng)絡(luò)安全領(lǐng)域理論和應(yīng)用的發(fā)展。也有部分研究者堅(jiān)持從文本角度深入研究,探究更好處理離散數(shù)據(jù)的GAN衍生模型。
從圖像角度,經(jīng)研究發(fā)現(xiàn)圖像數(shù)據(jù)和網(wǎng)絡(luò)惡意代碼指令二者形式雖不同但存有相通之處,可以將惡意代碼先轉(zhuǎn)化為圖像圖再處理。此想法在惡意代碼分類方向已經(jīng)得到初步應(yīng)用,在Kaggle平臺(tái)上發(fā)起的惡意代碼分類競賽中,冠軍參賽者通過將惡意代碼轉(zhuǎn)換為圖像并將其選作特征進(jìn)行學(xué)習(xí),獲得了理想分類效果;同樣文獻(xiàn)[49]訓(xùn)練惡意代碼分類檢測(cè)系統(tǒng)也將該思想運(yùn)用其中。由此看出將惡意代碼作為圖像處理能夠有效學(xué)習(xí)到特征?;谠撍枷胩岢鰞蓚€(gè)未來研究方向:
1) 與GAN結(jié)合應(yīng)用于數(shù)據(jù)增強(qiáng)方向。此前將網(wǎng)絡(luò)安全數(shù)據(jù)轉(zhuǎn)換為圖像處理多用于檢測(cè)或分類,目前還沒有系統(tǒng)將其應(yīng)用于數(shù)據(jù)增強(qiáng)且具備較好通用性的研究。如何將基于GAN的圖像數(shù)據(jù)增強(qiáng)方法應(yīng)用于惡意網(wǎng)絡(luò)代碼數(shù)據(jù)集的增強(qiáng),促進(jìn)網(wǎng)絡(luò)安全領(lǐng)域的發(fā)展值得探討。
2) 優(yōu)化或?qū)ふ液线m的轉(zhuǎn)化方法。通過二進(jìn)制值-灰度值映射能夠?qū)崿F(xiàn)圖像轉(zhuǎn)換,但由于其簡潔的過程會(huì)導(dǎo)致有效信息丟失且轉(zhuǎn)換效率不高,因此亟須從多方面探究能夠保全信息、表現(xiàn)內(nèi)部特征、突出不同家族惡意代碼差異并且提高效率的轉(zhuǎn)換方法。
從文本角度,由研究發(fā)現(xiàn)在改良原始GAN模型基礎(chǔ)上,能夠避開生成器離散數(shù)據(jù)采樣的問題,生成離散文本數(shù)據(jù)。但目前運(yùn)用GAN生成網(wǎng)絡(luò)安全數(shù)據(jù)方法只是選取某個(gè)具體特征,如字符特征或API序列等,涉及范圍和包含信息較少。鑒于此后續(xù)可以從以下兩個(gè)方向加強(qiáng)研究:
1) 探究覆蓋信息更多的文本數(shù)據(jù)編碼方式,使處理后放入GAN中訓(xùn)練的數(shù)據(jù)包含更多網(wǎng)絡(luò)記錄信息,并能夠處理長文本數(shù)據(jù)。
2) 尋找能夠挖掘網(wǎng)絡(luò)安全數(shù)據(jù)之間深層關(guān)聯(lián)的方法,與GAN結(jié)合,使生成數(shù)據(jù)在滿足基礎(chǔ)字符或數(shù)據(jù)特征基礎(chǔ)上,能夠體現(xiàn)如上下文關(guān)系之類的深層特征,更好地具備真實(shí)數(shù)據(jù)特點(diǎn)。
本文綜述生成對(duì)抗網(wǎng)絡(luò)對(duì)網(wǎng)絡(luò)安全小樣本數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)的方法,首先介紹數(shù)據(jù)增強(qiáng)技術(shù)研究的必要性以及GAN思想應(yīng)用于數(shù)據(jù)增強(qiáng)上的充分性;然后具體探究GAN對(duì)惡意網(wǎng)絡(luò)數(shù)據(jù)集的增強(qiáng)應(yīng)用,展現(xiàn)其在網(wǎng)絡(luò)安全領(lǐng)域極大的潛在價(jià)值和可能;最后在現(xiàn)有研究基礎(chǔ)上從兩方面提出展望,將GAN對(duì)圖像數(shù)據(jù)成熟的增強(qiáng)技術(shù)運(yùn)用于網(wǎng)絡(luò)安全數(shù)據(jù)的擴(kuò)展,另外加強(qiáng)從文本處理角度生成網(wǎng)絡(luò)安全數(shù)據(jù)方法的探究。GAN作為一種無監(jiān)督的深度生成式模型,其強(qiáng)大的生成能力還有待人們研究挖掘,融會(huì)貫通增強(qiáng)各種形式小樣本數(shù)據(jù)集,推動(dòng)多領(lǐng)域發(fā)展。