国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于生成對抗網(wǎng)絡(luò)的惡意域名訓(xùn)練數(shù)據(jù)生成方法

2024-01-06 08:26:18劉偉山馬旭琦吳子琰
關(guān)鍵詞:域名字符檢測器

劉偉山, 馬旭琦, 汪 航, 吳子琰

(1. 國家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心 甘肅分中心, 甘肅 蘭州 730000; 2. 蘭州理工大學(xué) 機(jī)電工程學(xué)院, 甘肅 蘭州 730050; 3. 蘭州大學(xué) 信息科學(xué)與工程學(xué)院, 甘肅 蘭州 730000)

在互聯(lián)網(wǎng)產(chǎn)業(yè)蓬勃發(fā)展的同時(shí),網(wǎng)絡(luò)詐騙、DDoS攻擊、勒索軟件、計(jì)算機(jī)惡意程序感染等各類網(wǎng)絡(luò)安全事件層出不窮.據(jù)國家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心(CNCERT/CC)監(jiān)測顯示[1],2020年我國境內(nèi)木馬或僵尸程序控制服務(wù)器IP地址數(shù)量為12 810個(gè),境內(nèi)木馬或僵尸程序受控主機(jī)IP地址數(shù)量為5 338 246個(gè),由此構(gòu)成的僵尸網(wǎng)絡(luò)已經(jīng)成為當(dāng)前網(wǎng)絡(luò)安全領(lǐng)域的巨大威脅.

僵尸網(wǎng)絡(luò)[2]廣泛采用域名生成算法[3]生成大量的隨機(jī)域名來躲避安全檢測,惡意域名的準(zhǔn)確檢測和識別成為當(dāng)前網(wǎng)絡(luò)安全管理的重要課題.基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法在惡意域名檢測方面表現(xiàn)優(yōu)異.Woodbridge等[4]首次利用長短期記憶網(wǎng)絡(luò)[5]構(gòu)建DGA(domain generation algorithm)域名檢測器,并在檢測準(zhǔn)確率、召回率等方面相較于傳統(tǒng)機(jī)器學(xué)習(xí)模型有著明顯優(yōu)勢.Yu等[6]對利用不同的卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練出的DGA域名檢測器檢測準(zhǔn)確率高達(dá)90%以上.袁辰等[7]提出一種DGA域名訓(xùn)練數(shù)據(jù)的生成模型,該模型結(jié)合了生成對抗網(wǎng)絡(luò)的思想,直接將數(shù)據(jù)輸入GAN(generative adversarial network)原始模型進(jìn)行學(xué)習(xí)訓(xùn)練,保持了數(shù)據(jù)的真實(shí)特性.Anderson等[8]將自編碼器融入生成對抗網(wǎng)絡(luò),提出一種DGA生成模型和檢測模型(Deep DGA),通過多次迭代訓(xùn)練生成對抗網(wǎng)絡(luò)后,生成器可以模擬出特征類似的真實(shí)DGA域名,使采用隨機(jī)森林算法的DGA檢測器的性能明顯降低.

現(xiàn)有的DGA檢測器均是基于公開的DGA域名數(shù)據(jù)集進(jìn)行訓(xùn)練構(gòu)建,缺乏最新的豐富的DGA域名訓(xùn)練樣本數(shù)據(jù),導(dǎo)致檢測模型更新周期過長、過慢,檢測的實(shí)效性、快速性不強(qiáng),對未知的DGA域名檢測效率不高.本文利用真實(shí)域名數(shù)據(jù)訓(xùn)練出一個(gè)自編碼器,并將自編碼器的編碼網(wǎng)絡(luò)和解碼網(wǎng)絡(luò)分別用作GAN網(wǎng)絡(luò)的判別器與生成器,從而構(gòu)建出一個(gè)基于GAN的DGA序列生成器.與袁辰等[7-8]提出模型的不同之處在于:

1) 通過預(yù)訓(xùn)練自編碼器并將其應(yīng)用于GAN網(wǎng)絡(luò)最大程度地學(xué)習(xí)到了真實(shí)域名的潛在特性;

2) 在自編碼器結(jié)構(gòu)中除了設(shè)計(jì)卷積層來提取域名的n-gram信息外,還引入LSTM網(wǎng)絡(luò)層以更好地捕獲域名字符間的潛在特征[9],從而生成長度可變的字符序列;

3) 采用基于最大均值差異(maximum mean discrepancy,MMD)的兩樣本檢驗(yàn)方法來驗(yàn)證生成器的輸出樣本與真實(shí)的Alexa域名樣本來自相同的分布,保證生成模型和生成數(shù)據(jù)的有效性;

4) 將生成數(shù)據(jù)在基于LSTM網(wǎng)絡(luò)的DGA域名檢測器上進(jìn)行驗(yàn)證,發(fā)現(xiàn)其能夠有效降低檢測模型的效率,而后進(jìn)一步通過生成數(shù)據(jù)對域名檢測器進(jìn)行訓(xùn)練后,模型器性能明顯提升.

1 相關(guān)理論

1.1 自編碼器

自編碼器(auto encoder,AE)通常被視為無監(jiān)督學(xué)習(xí)網(wǎng)絡(luò)[10],常用于幫助數(shù)據(jù)分類、可視化和存儲,其核心作用是對輸入序列進(jìn)行壓縮降維,之后再進(jìn)行重建恢復(fù).一個(gè)典型的自編碼器包括編碼器和解碼器兩個(gè)部分,其中編碼器通過一系列預(yù)先設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)將輸入序列編碼為相應(yīng)的低維向量,稱為編碼過程;編碼后的數(shù)據(jù)通過解碼器中的隱藏層來重建輸入數(shù)據(jù),即為解碼過程.通過定義合適的損失函數(shù),選擇恰當(dāng)?shù)木W(wǎng)絡(luò)模型加以訓(xùn)練,可以近乎完美地重建輸入序列,從而實(shí)現(xiàn)編碼器輸出的低維向量完整地表達(dá)原始序列內(nèi)在特征的功能.

1.2 生成對抗網(wǎng)絡(luò)

Goodfellow等[11]在2014年提出的生成對抗網(wǎng)絡(luò)(GAN)是一種無監(jiān)督式深度學(xué)習(xí)模型[12],其原理主要是通過兩個(gè)神經(jīng)網(wǎng)絡(luò)相互博弈的方式來學(xué)習(xí)樣本特征,從而根據(jù)原有數(shù)據(jù)集生成以假亂真的新數(shù)據(jù)[13].生成對抗網(wǎng)絡(luò)包含兩個(gè)獨(dú)立的神經(jīng)網(wǎng)絡(luò)——生成網(wǎng)絡(luò)G和判別網(wǎng)絡(luò)D,D負(fù)責(zé)判別輸入其中的數(shù)據(jù)是來自G產(chǎn)生的虛假數(shù)據(jù)還是真實(shí)數(shù)據(jù);而G則不斷提升自己的造假能力,只為生成能夠成功欺騙D的對抗樣本;雙方在對抗過程中采取交替迭代的方法不斷優(yōu)化自身網(wǎng)絡(luò),從而形成一種對抗,最終達(dá)到平衡.

2 DGA域名生成模型設(shè)計(jì)

2.1 域名自編碼器

一般的域名編/解碼器常通過建立單個(gè)域名字符到數(shù)字編碼的一一映射來實(shí)現(xiàn),如袁辰等[7,14]將域名字符轉(zhuǎn)換為基于 ASCII碼的編碼方式實(shí)現(xiàn)向量映射及逆映射.

為了更好地捕獲域名字符間的潛在關(guān)系,并對長域名進(jìn)行壓縮表示,本文設(shè)計(jì)的自編碼器編碼網(wǎng)絡(luò)主要由3個(gè)平行的卷積網(wǎng)絡(luò)和1個(gè)LSTM網(wǎng)絡(luò)級聯(lián)組成,3個(gè)平行的卷積層各自有100個(gè)濾波核,卷積核尺寸分別為2、3、4,對應(yīng)捕獲域名數(shù)據(jù)字符間的n-gram信息,LSTM網(wǎng)絡(luò)用于挖掘和表示變長域名序列的潛在特征,從而實(shí)現(xiàn)可變長序列的生成.具體來說,首先將Alexa域名進(jìn)行序列標(biāo)記(Tokenization),之后進(jìn)行獨(dú)熱編碼(One-hot),再將編碼后的序列輸入到級聯(lián)的卷積層,之后將級聯(lián)卷積層的輸出并列拼接后送入到另一個(gè)卷積層,最后通過展平層將輸入序列平展成一個(gè)1維的矢量,作為編碼器的輸出.該輸出表達(dá)了原序列數(shù)據(jù)經(jīng)過編碼器壓縮提取后的核心信息.編碼器的輸出作為解碼器的輸入,首先通過重構(gòu)層將一維的輸入序列重組成一個(gè)二維矩陣,然后將二維矩陣輸入到與編碼器結(jié)構(gòu)類似的級聯(lián)卷積層,之后將級聯(lián)卷積層的輸出并列拼接后送入輸出卷積層,輸出卷積層的有37個(gè)卷積核,卷積核的個(gè)數(shù)對應(yīng)域名序列化字典的長度,激活函數(shù)為Softmax.Softmax激活函數(shù)的輸出表示了域名的每個(gè)字符在標(biāo)記字典上的概率分布.自編碼器網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.

2.2 生成對抗網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)

2.1節(jié)設(shè)計(jì)的編碼器實(shí)現(xiàn)了復(fù)雜域名字符序列在低維特征空間中的壓縮表示,解碼器則可以將該壓縮表示還原成原始域名.基于此,將解碼器用于構(gòu)造GAN網(wǎng)絡(luò)生成器,將編碼器用于GAN網(wǎng)絡(luò)判別器,從而設(shè)計(jì)一個(gè)新的域名生成網(wǎng)絡(luò)模型.其中GAN模型生成器將被訓(xùn)練用于產(chǎn)生與Alexa Top 100萬數(shù)據(jù)盡可能相似的域名,而判別器則盡可能地識別出輸入的域名數(shù)據(jù)是由生成網(wǎng)絡(luò)產(chǎn)生的還是從真實(shí)數(shù)據(jù)集采樣而來的.圖2為生成對抗網(wǎng)絡(luò)結(jié)構(gòu)圖.

圖1 域名自編碼器碼器結(jié)構(gòu)圖Fig.1 Domain name autoencoder architecture

圖2 生成對抗網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 GAN architectures

生成器的網(wǎng)絡(luò)結(jié)構(gòu)由一個(gè)全連接層與解碼器構(gòu)成.首先使用隨機(jī)噪聲發(fā)生器產(chǎn)生在[-1,1]上均勻分布的噪聲,之后通過全連接層完成隨機(jī)噪聲的線性變換,使其維度與編碼器的輸出維度一致,最后通過ReLU函數(shù)激活后送入預(yù)先訓(xùn)練好的解碼器,得到輸出域名的標(biāo)記采樣.直觀上,全連接層學(xué)習(xí)了從均勻分布的噪聲空間到低維編碼特征空間映射,而該低維空間正是編碼器用來學(xué)習(xí)生成真實(shí)域名的特征空間.為了保證解碼器的輸出就是生成的域名數(shù)據(jù),本文在訓(xùn)練生成器時(shí)凍結(jié)解碼器的參數(shù)值,生成器的結(jié)構(gòu)如圖3所示.

圖3 生成對抗網(wǎng)絡(luò)生成器結(jié)構(gòu)圖Fig.3 Generator architecture of GAN

判別器的結(jié)構(gòu)與生成器類似,由編碼器和一個(gè)全連接網(wǎng)絡(luò)構(gòu)成.預(yù)先訓(xùn)練好的編碼器作為判別網(wǎng)絡(luò)接收真實(shí)的Alexa域名或者生成器生成的假域名序列,之后將其輸出經(jīng)過全連接層變換為低維數(shù)據(jù),最后通過Sigmoid函數(shù)激活后輸出.在訓(xùn)練判別器網(wǎng)絡(luò)時(shí)同樣把預(yù)訓(xùn)練好的編碼器的權(quán)重參數(shù)凍結(jié)之后再進(jìn)行訓(xùn)練.判別器的結(jié)構(gòu)如圖4所示.

圖4 生成對抗網(wǎng)絡(luò)判別器結(jié)構(gòu)圖

2.3 生成對抗網(wǎng)絡(luò)模型的訓(xùn)練

本文在采用標(biāo)簽光滑、改進(jìn)損失更新等策略來提升模型訓(xùn)練的穩(wěn)定性之外,特別考慮了借助統(tǒng)計(jì)中兩樣本檢驗(yàn)的思想來指導(dǎo)模型的訓(xùn)練進(jìn)程.一些實(shí)驗(yàn)中,常通過觀察訓(xùn)練損失變化、肉眼判別域名相似度、繪制生成樣本的直方圖等手段來判別生成網(wǎng)絡(luò)的訓(xùn)練質(zhì)量,但這些操作很難給出明確的指標(biāo)來判定GAN網(wǎng)絡(luò)的訓(xùn)練質(zhì)量.本文考慮在GAN模型訓(xùn)練的中間過程中,通過引入MMD檢驗(yàn)來判別當(dāng)前生成網(wǎng)絡(luò)的輸出樣本是否與真實(shí)的Alexa域名樣本來自相同的分布,即進(jìn)行雙樣本檢驗(yàn).Gretton等[15]給出了MMD在雙樣本檢驗(yàn)中的應(yīng)用,其基本假設(shè)是:對于兩個(gè)分布p和q,給定所有以分布生成的樣本空間為輸入的函數(shù)族F,若p、q對應(yīng)生成的樣本x和y在F中每個(gè)函數(shù)f上像的均值都相等,則可認(rèn)為這兩個(gè)分布相同.MMD具體定義如下:

其中:F通常取為希爾伯特空間中的單位球,實(shí)際操作時(shí)借助預(yù)先設(shè)定的核函數(shù),如高斯核函數(shù)來表示.

實(shí)驗(yàn)中,若MMD檢驗(yàn)通過,則說明生成樣本的質(zhì)量較好,從統(tǒng)計(jì)檢驗(yàn)的角度已無法區(qū)分其與真實(shí)域名的差別,此時(shí)可停止訓(xùn)練.

3 實(shí)驗(yàn)與分析

3.1 實(shí)驗(yàn)環(huán)境與數(shù)據(jù)集

本文實(shí)驗(yàn)主要使用PyTorch深度學(xué)習(xí)框架,具體實(shí)驗(yàn)環(huán)境配置如表1所列.

表1 實(shí)驗(yàn)環(huán)境具體配置

本文實(shí)驗(yàn)所使用的數(shù)據(jù)集由兩部分組成.第一部分從Alexa網(wǎng)站獲取的排名前100萬真實(shí)Web站點(diǎn)的域名,這部分?jǐn)?shù)據(jù)作為模型的訓(xùn)練數(shù)據(jù).第二部分是來自360安全實(shí)驗(yàn)室的現(xiàn)有DGA域名數(shù)據(jù)集,此部分用來對比實(shí)驗(yàn).在實(shí)驗(yàn)之前,對使用的數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,將所有域名的一級域名和二級域名(如.com、.net、.org等)剔除,只保留主機(jī)域名進(jìn)行模型訓(xùn)練.

3.2 實(shí)驗(yàn)設(shè)計(jì)

3.2.1訓(xùn)練自編碼器

在對GAN模型進(jìn)行訓(xùn)練之前,需要對自編碼器預(yù)訓(xùn)練.該步驟的必要性在于,若不用Alexa域名對自編碼器進(jìn)行預(yù)訓(xùn)練,后續(xù)GAN網(wǎng)絡(luò)的訓(xùn)練會高度不穩(wěn)定,且很難收斂.具體的實(shí)驗(yàn)步驟如下所述.

1) 抽取10萬條Alexa數(shù)據(jù),隨機(jī)打亂后按照80/20的百分比劃分成訓(xùn)練集和測試集;嘗試不同的數(shù)據(jù)批大小(64,128,256等),最后綜合考慮訓(xùn)練效率與模型表現(xiàn),選擇最優(yōu)數(shù)據(jù)批大小為64.

2) 對自編碼器中設(shè)計(jì)的LSTM網(wǎng)絡(luò)的隱藏神經(jīng)元個(gè)數(shù)嘗試不同的取值(5,10,50,100等)進(jìn)行消融實(shí)驗(yàn)對比,根據(jù)自編碼器訓(xùn)練時(shí)間和后續(xù)用于GAN網(wǎng)絡(luò)的表現(xiàn),選擇LSTM網(wǎng)絡(luò)隱藏神經(jīng)元個(gè)數(shù)為10.

3) 用交叉熵[16]作為訓(xùn)練的損失函數(shù),即度量解碼器Softmax輸出的損失大小.

4) 初始學(xué)習(xí)率設(shè)置為0.000 1,后續(xù)隨著損失的變小,學(xué)習(xí)率也隨之減小,由此得到更好、更穩(wěn)定的訓(xùn)練結(jié)果.

5) 訓(xùn)練中采用自適應(yīng)矩估計(jì)(Adam)優(yōu)化算法來更新自編碼器網(wǎng)絡(luò)的權(quán)重,同時(shí)設(shè)置權(quán)重衰減率為0.8,即借助L2正則防止訓(xùn)練出現(xiàn)過擬合.

實(shí)驗(yàn)發(fā)現(xiàn),僅通過不到10個(gè)訓(xùn)練周期,自編碼器就能近似無損地恢復(fù)輸入的Alexa域名.經(jīng)過計(jì)算,測試集上的均方誤差(mean square error,MSE)約為3.234×10-5.這表明設(shè)計(jì)的自編碼器結(jié)構(gòu)可以完整地捕獲復(fù)雜正常域名中的幾乎全部信息,并給出相應(yīng)的低維向量表示.圖5為訓(xùn)練過程中自編碼器損失值的變化過程, 其中橫軸表示訓(xùn)練的周期,縱軸表示模型在測試集上的損失.可以明顯看出,隨著訓(xùn)練次數(shù)增加,自編碼器損失值逐漸降低并保持穩(wěn)定,網(wǎng)絡(luò)參數(shù)已非常穩(wěn)定.

圖5 自編碼器訓(xùn)練損失圖Fig.5 Autoencoder training loss

3.2.2GAN生成對抗模型的訓(xùn)練與檢驗(yàn)

在該階段,訓(xùn)練好的自編碼器將被拆分為編碼器和解碼器,并分別嵌入到GAN網(wǎng)絡(luò)的判別網(wǎng)絡(luò)和生成網(wǎng)絡(luò)中.對于GAN的訓(xùn)練過程詳述如下.

1) 選取兩部分?jǐn)?shù)據(jù)作為訓(xùn)練數(shù)據(jù),一部分是劃分后的Alexa真實(shí)域名,另一部分是隨機(jī)抽取的、服從均勻分布的噪聲向量(其維數(shù)設(shè)置為8)通過生成網(wǎng)絡(luò)后產(chǎn)生的樣本.兩部分樣本各自采用5萬條,其中Alexa域名被用作正樣本,生成域名被用作負(fù)樣本,用于判別網(wǎng)絡(luò)的訓(xùn)練;此外,再將5萬條生成域名當(dāng)作正樣本,用于生成網(wǎng)絡(luò)的同步訓(xùn)練.

2) 嘗試不同的批數(shù)據(jù)大小(64,128,256等)進(jìn)行消融對比實(shí)驗(yàn),根據(jù)GAN網(wǎng)絡(luò)訓(xùn)練效率和穩(wěn)定性,選擇最優(yōu)數(shù)據(jù)批大小為128,訓(xùn)練周期設(shè)為50.

3) 判別器使用交叉熵作為損失函數(shù).

4) 實(shí)驗(yàn)中設(shè)置負(fù)樣本的標(biāo)簽為0,同時(shí)對正樣本的標(biāo)簽進(jìn)行光滑處理,即從1隨機(jī)變換到0.8~1.0的小數(shù),來提升訓(xùn)練的穩(wěn)定性.

5) 考慮到實(shí)驗(yàn)中判別器比生成器的收斂速度要快很多,在反向傳播更新網(wǎng)絡(luò)參數(shù)時(shí),本文選取較強(qiáng)的Adam優(yōu)化器來訓(xùn)練生成網(wǎng)絡(luò),同時(shí)采用較為樸素的動量隨機(jī)梯度下降(stochastic gradient descent,SGD)優(yōu)化器訓(xùn)練判別器,學(xué)習(xí)率分別設(shè)置為0.000 001與0.000 000 1,同時(shí)使用權(quán)重衰減來減少訓(xùn)練的過擬合.

6) 在訓(xùn)練過程中一些損失較小的周期間隔,對訓(xùn)練好的GAN網(wǎng)絡(luò)中的生成器所生成的序列進(jìn)行MMD兩樣本檢驗(yàn),由此決定是否進(jìn)行訓(xùn)練早停(early stopping),完成GAN網(wǎng)絡(luò)的訓(xùn)練.

對MMD兩樣本檢驗(yàn)的過程做更進(jìn)一步的詳細(xì)說明,注意到此處待檢驗(yàn)的問題為

H0∶P真實(shí)域名=P生成域名

其中:P真實(shí)域名和P生成域名分別表示真實(shí)域名與GAN網(wǎng)絡(luò)生成域名的概率分布.實(shí)驗(yàn)中,通過計(jì)算MMD檢驗(yàn)統(tǒng)計(jì)量,并進(jìn)行Bootstrap抽樣,可以估計(jì)出檢驗(yàn)的p值(p-value),p值越小,表明拒絕原假設(shè)的把握越大.表2列出了在一些選定的訓(xùn)練周期,基于相應(yīng)的生成樣本計(jì)算出的p值.可以看出,在訓(xùn)練初期,盡管生成的樣本看起來與Alexa域名接近,但對應(yīng)檢驗(yàn)的p值很小,顯然生成網(wǎng)絡(luò)輸出的域名與真實(shí)域名仍有差異;但在訓(xùn)練后期,p值增大,若選取顯著性水平為0.05,已無法拒絕原假設(shè),表明從統(tǒng)計(jì)檢驗(yàn)的角度,已無法區(qū)分生成樣本和Alexa樣本是否來自不同的分布,這保證了生成樣本的質(zhì)量.總結(jié)來說,GAN網(wǎng)絡(luò)的訓(xùn)練經(jīng)過85個(gè)周期的反向傳播更新,最終得到收斂.

表2 生成模型MMD兩樣本檢驗(yàn) p值

3.3 實(shí)驗(yàn)結(jié)果分析

使用3.2實(shí)驗(yàn)中訓(xùn)練完成的GAN模型中的生成器生成20萬條數(shù)據(jù)并將其去重后作為實(shí)驗(yàn)結(jié)果分析的驗(yàn)證數(shù)據(jù)集,分別從生成序列展示、生成序列字符頻率分布、生成序列長度統(tǒng)計(jì)及其在DGA檢測器的表現(xiàn)進(jìn)行對比分析.

1) 生成對抗網(wǎng)絡(luò)生成序列結(jié)果

表3為Alexa真實(shí)域名、真實(shí)的DGA域名與使用對抗生成網(wǎng)絡(luò)生成的字符序列數(shù)據(jù).通過觀察發(fā)現(xiàn),生成序列長度可變,字符序列表示已經(jīng)與真實(shí)DGA域名較為近似,可以作為域名使用.

表3 Alexa域名、真實(shí)DGA域名與生成序列對比

2) 生成序列與真實(shí)域名長度分布圖

DGA域名檢測器通常會將序列的長度特征作為判斷該序列是否為Alexa域名或DGA域名的特征,所以如果生成序列在長度特征上與Alexa真實(shí)域名保持相似,則更有可能躲避DGA域名檢測器的檢測.圖6所示為Alexa真實(shí)域名與生成序列的長度分布圖,圖中橫坐標(biāo)表示域名序列長度,縱坐標(biāo)為不同長度的域名數(shù)量所占比率.由圖6可以看出,生成序列與真實(shí)域名在長度分布上非常接近,這一特性可以有效躲避一些以域名長度作為檢測特征的DGA域名檢測器,降低生成序列被發(fā)現(xiàn)的概率.

此處需要說明的是,通過對真實(shí)域名數(shù)據(jù)的統(tǒng)計(jì)特性進(jìn)行分析,可以得出大部分正常域名的長度在20個(gè)字符以內(nèi),所以本文在訓(xùn)練模型時(shí)選擇長度為20個(gè)字符的Alexa真實(shí)域名作為訓(xùn)練數(shù)據(jù),生成的序列長度也是在20個(gè)字符以內(nèi).

3) 生成序列與真實(shí)域名長度分布圖

同序列長度一樣,序列的字符頻率分布特征同樣是DGA域名檢測器判別真實(shí)域名與DGA域名的重要因素,如果生成序列的字符頻率分布特征能夠與Alexa真實(shí)域名盡可能相似,則有很大可能降低被發(fā)現(xiàn)率.圖7為Alexa真實(shí)域名與生成序列的字符頻率分布圖,圖中橫坐標(biāo)表示域名序列中的各個(gè)字符,縱坐標(biāo)表示各個(gè)字符在所有域名序列中所占比率.由圖7可以看出,生成序列與Alexa域名字符頻率分布十分相似,躲避DGA域名檢測器的概率較大.

圖6 生成序列長度分布圖Fig.6 Generated domain lengths distributions

圖7 字符頻率分布圖Fig.7 Unigram character distributions of Alexa top 1M and generated domains

4) DGA域名檢測器驗(yàn)證結(jié)果

本文使用基于LSTM網(wǎng)絡(luò)構(gòu)建的DGA域名檢測器對生成數(shù)據(jù)進(jìn)行驗(yàn)證測試,表4為測試結(jié)果,具體測試過程如下:

a) 使用真實(shí)Alexa域名數(shù)據(jù)和DGA數(shù)據(jù)對基于LSTM網(wǎng)絡(luò)的DGA域名檢測器進(jìn)行訓(xùn)練,之后使用真實(shí)的DGA數(shù)據(jù)作為驗(yàn)證集,發(fā)現(xiàn)模型的準(zhǔn)確率和召回率均在91%以上;

表4 DGA域名檢測器測試結(jié)果

b) 將本文生成的序列20萬條數(shù)據(jù)去重后按照1∶9的比例進(jìn)行劃分,其中第一部分?jǐn)?shù)據(jù)首先拿來作為驗(yàn)證集,與真實(shí)域名數(shù)據(jù)混合后輸入a)中訓(xùn)練好的DGA域名檢測器中進(jìn)行驗(yàn)證,發(fā)現(xiàn)模型在生成數(shù)據(jù)上的準(zhǔn)確率和召回率均大幅下降,檢測性能明顯降低,說明生成序列在對抗DGA域名檢測器方面取得良好的效果,有很大的概率能夠躲避模型的檢測;

c) 將生成序列的第二部分?jǐn)?shù)據(jù),即生成數(shù)據(jù)的90%作為訓(xùn)練集和測試集,對DGA域名檢測器進(jìn)行訓(xùn)練;

d) 將b)中準(zhǔn)備好的驗(yàn)證集在c)中訓(xùn)練好的模型上進(jìn)行驗(yàn)證,可以看到使用生成數(shù)據(jù)訓(xùn)練過后,模型發(fā)現(xiàn)生成序列的性能又有了提升,幾乎回到了之前的水平.

通過對生成序列在字符序列表示、序列長度、字符頻率分布的對比,以及使用生成序列在基于LSTM的DGA域名檢測器進(jìn)行檢測和加強(qiáng)訓(xùn)練,對生成序列進(jìn)行多方位的對比和驗(yàn)證,各項(xiàng)結(jié)果充分說明生成序列既具有真實(shí)域名的特性,又具備對抗現(xiàn)有DGA域名檢測器的特性,使用其不僅可以有效解決模型訓(xùn)練數(shù)據(jù)不足的問題,又可以提升模型在對抗型惡意域名數(shù)據(jù)上的魯棒性,達(dá)到了本文的目的.

4 結(jié)語

惡意域名數(shù)據(jù)集采集是訓(xùn)練DGA域名檢測器工作中非常重要的一環(huán).本文嘗試將自編碼器和生成對抗網(wǎng)絡(luò)結(jié)合應(yīng)用,生成惡意DGA域名序列,豐富惡意域名數(shù)據(jù)集,從而提升了檢測模型的性能,并通過實(shí)驗(yàn)驗(yàn)證了此方法的可行性.

下一步工作將結(jié)合現(xiàn)有的深度學(xué)習(xí)技術(shù)繼續(xù)改進(jìn)域名特征提取算法,以期進(jìn)一步提升生成域名的種類與質(zhì)量,并評估生成模型的性能.

猜你喜歡
域名字符檢測器
尋找更強(qiáng)的字符映射管理器
字符代表幾
一種USB接口字符液晶控制器設(shè)計(jì)
電子制作(2019年19期)2019-11-23 08:41:50
消失的殖民村莊和神秘字符
如何購買WordPress網(wǎng)站域名及綁定域名
車道微波車輛檢測器的應(yīng)用
一種霧霾檢測器的研究與設(shè)計(jì)
騰訊八百萬美元收購域名
一體化火焰檢測器常見故障分析
河南科技(2014年22期)2014-02-27 14:18:12
3種HPLC檢測器測定單甘酯含量的方法比較
洛扎县| 武城县| 邵东县| 新干县| 绥棱县| 陵水| 平乐县| 鹤岗市| 富宁县| 藁城市| 含山县| 黄石市| 类乌齐县| 嫩江县| 桂东县| 鲁甸县| 长阳| 城固县| 镇坪县| 堆龙德庆县| 通化县| 阿鲁科尔沁旗| 汶上县| 西乌珠穆沁旗| 临江市| 司法| 商丘市| 顺平县| 金阳县| 伊金霍洛旗| 开远市| 磴口县| 东阿县| 四川省| 三河市| 淮南市| 监利县| 遵义县| 阆中市| 阳江市| 焦作市|