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