顧兆軍,楊文瑾,周景賢
1.中國(guó)民航大學(xué) 信息安全測(cè)評(píng)中心,天津300300
2.中國(guó)民航大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津300300
3.中國(guó)民航大學(xué) 中歐航空工程師學(xué)院,天津300300
域名對(duì)僵尸網(wǎng)絡(luò)、釣魚(yú)網(wǎng)絡(luò)、勒索軟件等惡意網(wǎng)絡(luò)活動(dòng)的構(gòu)建起著重要的作用。為了更好地隱蔽網(wǎng)絡(luò)攻擊,惡意域名通常會(huì)使用一些方法以躲避安全人員的封堵,域名生成算法(Domain Generation Algorithm,DGA)就是一種常用的手段[1]。通過(guò)特定算法和強(qiáng)隨機(jī)性的種子,嵌入在惡意程序中的DGA可以生成大量域名,其中只有一部分域名會(huì)被用來(lái)注冊(cè)。當(dāng)某個(gè)惡意域名被甄別并加入黑名單攔截后,攻擊者仍可使用DGA 生成的新的惡意域名進(jìn)行通信和攻擊,因此很難通過(guò)黑名單的方式有效實(shí)現(xiàn)對(duì)攻擊的攔截。
早期DGA的檢測(cè)方法主要包括逆向工程技術(shù)和蜜罐技術(shù)[2],但是這種方法往往耗費(fèi)資源較大,檢測(cè)周期較長(zhǎng)。近年來(lái),有關(guān)惡意域名檢測(cè)方法的研究逐漸轉(zhuǎn)向域名自身語(yǔ)言特征挖掘和流量分析的方向。Yadav等人對(duì)擁有同一IP 地址的域名進(jìn)行KL 距離、編輯距離以及Jaccard系數(shù)的測(cè)量,證明該方法對(duì)Conficker類(lèi)DGA域名有較好的檢測(cè)效果[3]。Fu等人在Yadav等人所使用的三個(gè)系數(shù)的基礎(chǔ)上增加了隱馬爾科夫模型和概率上下無(wú)關(guān)文法的應(yīng)用,優(yōu)化了DGA檢測(cè)模型[4]。Jose等人使用N-gram 等方法對(duì)域名特征進(jìn)行提取,并建立隨機(jī)森林分類(lèi)模型,提高了域名檢測(cè)系統(tǒng)的性能[5]。近年來(lái)仍不斷有新型DGA域名出現(xiàn)[6],當(dāng)出現(xiàn)新的DGA種類(lèi)時(shí),由于傳統(tǒng)機(jī)器學(xué)習(xí)依賴(lài)于人工特征提取,分類(lèi)器往往不能很好地適應(yīng)新的DGA域名。為了減少人工提取特征工作,研究人員實(shí)現(xiàn)了深度學(xué)習(xí)在DGA 域名檢測(cè)上的應(yīng)用。Xu 等人提出基于N-gram 和卷積神經(jīng)網(wǎng)絡(luò)的NCBDC 域名分類(lèi)模型,提升檢測(cè)模型的魯棒性[7]。陳立國(guó)等人提出了基于GRU的DGA域名檢測(cè)算法,進(jìn)一步提升了模型的收斂速度[8]。周康等人提出了基于自編碼網(wǎng)絡(luò)和LSTM的惡意域名檢測(cè)方法,提高了模型的檢測(cè)率和實(shí)時(shí)性[9]。由于深度學(xué)習(xí)方法需要大量數(shù)據(jù)支撐,當(dāng)樣本不足時(shí),訓(xùn)練結(jié)果將很難提升,而遷移學(xué)習(xí)可以達(dá)到提升分類(lèi)效果的作用。段萌等人提出基于遷移學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)的小樣本圖像識(shí)別方法,提高了識(shí)別的準(zhǔn)確率和模型的魯棒性[10]。Hu等人基于局部遷移學(xué)習(xí)提出端到端的衛(wèi)星圖像分類(lèi)方法CPADA,提高了缺乏足夠數(shù)據(jù)的衛(wèi)星圖像的分類(lèi)效果[11]。邱寧佳等人提出結(jié)合遷移學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)算法,實(shí)現(xiàn)了在少量數(shù)據(jù)標(biāo)注下對(duì)微博文本進(jìn)行情感分類(lèi)[12]。
現(xiàn)有大多數(shù)惡意域名檢測(cè)方法通?;诔渥愕挠蛎麛?shù)據(jù)集進(jìn)行特征提取和模型訓(xùn)練,當(dāng)數(shù)據(jù)量不足時(shí),分類(lèi)效果將大大降低。為了減少人工特征提取成本,解決DGA 域名樣本不足的問(wèn)題,本文基于多核卷積神經(jīng)網(wǎng)絡(luò)對(duì)24類(lèi)DGA域名檢測(cè)方法進(jìn)行研究,并提出了一個(gè)基于遷移學(xué)習(xí)的小樣本DGA域名檢測(cè)模型。該模型可以實(shí)現(xiàn)減少人工特征提取成本,并解決DGA 域名樣本不足的問(wèn)題。模型首先使用數(shù)據(jù)量充足的DGA種類(lèi)進(jìn)行預(yù)訓(xùn)練,并將預(yù)訓(xùn)練過(guò)程中所學(xué)到的域名知識(shí)遷移到小樣本DGA域名檢測(cè)模型中。為了避免遷移學(xué)習(xí)過(guò)程中出現(xiàn)過(guò)擬合,遷移知識(shí)只應(yīng)用于多核卷積神經(jīng)網(wǎng)絡(luò)的初始化。模型實(shí)現(xiàn)了基于遷移學(xué)習(xí)的小樣本DGA域名種類(lèi)的檢測(cè)方法,最終達(dá)到提升小樣本DGA 分類(lèi)模型的準(zhǔn)確率的目的。
域名生成算法可以采用日期、熱搜詞等進(jìn)行特定變換生成DGA 域名。雖然域名生成算法不同,但是域名生成的整體思路相似,因此神經(jīng)網(wǎng)絡(luò)對(duì)不同種類(lèi)DGA域名所提取的特征有一定的通用性。許多研究在訓(xùn)練分類(lèi)模型的過(guò)程中往往需要使用上千條數(shù)據(jù),然而在獲取域名數(shù)據(jù)時(shí),發(fā)現(xiàn)存在數(shù)據(jù)量極少的DGA 域名種類(lèi)。當(dāng)某種DGA 數(shù)據(jù)量不足以支撐模型訓(xùn)練時(shí),該模型使用遷移學(xué)習(xí)借鑒其他DGA 種類(lèi)分類(lèi)模型參數(shù),有效提高分類(lèi)效果,實(shí)現(xiàn)了僅使用10條小樣本DGA數(shù)據(jù)完成分類(lèi)模型的訓(xùn)練。
針對(duì)小樣本DGA 域名分類(lèi)問(wèn)題,本研究采用遷移學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)的方法將已有知識(shí)遷移到小樣本數(shù)據(jù)集的分類(lèi)過(guò)程中。小樣本DGA域名分類(lèi)模型整體框架思路如圖1所示。
圖1 小樣本DGA域名分類(lèi)框架
本研究首先對(duì)小樣本域名數(shù)據(jù)集進(jìn)行預(yù)處理,使用one-hot 編碼方式將域名轉(zhuǎn)化為模型可讀的數(shù)據(jù)類(lèi)型,并將域名字符進(jìn)行嵌入映射到向量空間中。在訓(xùn)練分類(lèi)模型之前,使用樣本數(shù)據(jù)量充足的DGA 域名種類(lèi)進(jìn)行預(yù)訓(xùn)練,預(yù)訓(xùn)練過(guò)程中所獲得的知識(shí)將用于遷移學(xué)習(xí)傳入到小樣本DGA 域名分類(lèi)模型中。之后,將預(yù)處理得到的數(shù)據(jù)和預(yù)訓(xùn)練獲得的知識(shí)傳入多核卷積神經(jīng)網(wǎng)絡(luò)的卷積層進(jìn)行特征提取,并使用池化層對(duì)特征進(jìn)行篩選。最后將特征傳入神經(jīng)網(wǎng)絡(luò)線(xiàn)性層進(jìn)行分類(lèi),通過(guò)迭代使模型達(dá)到一個(gè)較好的分類(lèi)效果并拿到最終的分類(lèi)結(jié)果。
域名如“google.cn”等由兩個(gè)及以上的部分組成,從右至左稱(chēng)為頂級(jí)域名和二級(jí)域名,以此推類(lèi)還有三級(jí)域名等級(jí)別,不同域名級(jí)別以“.”進(jìn)行劃分。目前大部分學(xué)者針對(duì)DGA 域名的二級(jí)域名進(jìn)行了研究[13-14]。根據(jù)頂級(jí)域名的不同,申請(qǐng)域名的限制條件和成本有所區(qū)別,某些DGA 種類(lèi)常常選用一些較為容易申請(qǐng)的頂級(jí)域名如“.xyz”進(jìn)行注冊(cè),同時(shí),不同類(lèi)別的DGA 所使用的頂級(jí)域名也不同。因此,本文將頂級(jí)域名加入考慮范圍,使得特征的提取更加全面。
為了方便用戶(hù)記憶,正常域名的字符通常會(huì)采用更符合發(fā)音習(xí)慣的組合方式,這與DGA 生成的域名有所不同。表1 中列出了幾種常見(jiàn)DGA 的生成域名形式,可以看出某些在正常域名中出現(xiàn)概率極低的字符排列方式會(huì)出現(xiàn)在DGA域名中。
表1 三種常見(jiàn)DGA域名
為了將域名傳入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,首先采用onehot的編碼方式對(duì)域名可用字符進(jìn)行處理。然而采用此種編碼方式得到的域名向量只能單純地區(qū)分不同字符,不能表達(dá)字符排列方式的出現(xiàn)概率等信息。在自然語(yǔ)言處理的任務(wù)中,分布式表示因其對(duì)詞之間距離的良好表達(dá),以及出色的信息包含能力被廣泛應(yīng)用,因此在編碼完成后采用分布式表示的方法,將域名嵌入到向量空間中。設(shè)域名數(shù)據(jù)集為D(d1,d2,…,dn),每一個(gè)dn的字符排列方式記為L(zhǎng)(ln1,ln2,…,lnm),根據(jù)字符排列方式出現(xiàn)概率不同,可以通過(guò)一個(gè)轉(zhuǎn)換矩陣T將域名轉(zhuǎn)換為一個(gè)嵌入向量E:
其中,m為域名字符串長(zhǎng)度,T為1×k維的轉(zhuǎn)換矩陣,這樣域名就映射到m×k維的向量空間中以表示域名字符間的關(guān)聯(lián)程度。
小樣本DGA檢測(cè)模型所使用的預(yù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖2所示。
圖2 預(yù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
在卷積神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練過(guò)程中,使用樣本數(shù)量充足的DGA種類(lèi)數(shù)據(jù)集。首先將經(jīng)過(guò)處理的域名0編碼補(bǔ)齊為等長(zhǎng)度字符串并傳入嵌入層,之后將嵌入層的輸出的向量與卷積核進(jìn)行卷積,使用激活函數(shù)進(jìn)行激活,卷積層所使用的計(jì)算公式如公式(2)所示:
其中,x為嵌入層傳遞輸出,ki為卷積核,b為偏置,激活函數(shù)g使用ReLU函數(shù)。
n-gram 是自然語(yǔ)言處理中常用到的一種編碼方式[15-16],目前已有部分研究使用這種方法提高DGA域名的分類(lèi)精度[17-19]。若文本長(zhǎng)度為l,n-gram 方法可以將文本分割成l+1-n個(gè)連續(xù)的n元組,從而保留文本的語(yǔ)序信息。然而隨著n的不斷增大,特征向量空間會(huì)不斷增大,特征矩陣也會(huì)越來(lái)越稀疏。卷積神經(jīng)網(wǎng)絡(luò)中的卷積核可以起到與n-gram 方法類(lèi)似的作用,通過(guò)設(shè)置卷積核的大小可以保留域名字符串的局部語(yǔ)序信息,而且不會(huì)帶來(lái)特征稀疏的問(wèn)題,從而省去了降維的過(guò)程,避免了在降維過(guò)程中信息的丟失。根據(jù)英文字符發(fā)音音節(jié)的經(jīng)驗(yàn),本文的卷積核大小第一維度設(shè)置為n={2,3,4}。
卷積層得到的結(jié)果將傳入池化層,本文采用max pooling 的方法篩選掉不必要的冗余信息,之后將不同卷積核所對(duì)應(yīng)的池化結(jié)果進(jìn)行拼接。為了防止模型過(guò)擬合,提高模型的泛化能力,在傳入線(xiàn)性層分類(lèi)之前首先使用Dropout方法對(duì)神經(jīng)元進(jìn)行隨機(jī)丟棄,Dropout值取0.5。
本研究使用softmax函數(shù)和交叉熵對(duì)經(jīng)過(guò)線(xiàn)性層得到的分類(lèi)結(jié)果進(jìn)行損失計(jì)算,這里應(yīng)用的計(jì)算公式為:
其中,y為線(xiàn)性層的分類(lèi)結(jié)果,i為域名的種類(lèi)。為了得到最小損失,使用可以為各個(gè)參數(shù)設(shè)置不同的自適應(yīng)性學(xué)習(xí)率的Adam優(yōu)化器更新卷積神經(jīng)網(wǎng)絡(luò)的權(quán)重。
數(shù)據(jù)樣本的大小對(duì)神經(jīng)網(wǎng)絡(luò)模型的分類(lèi)效果有極大的影響,對(duì)模型的上限有著決定性的作用。由于DGA是不斷更新的,當(dāng)特征發(fā)生改變的新型DGA域名樣本數(shù)據(jù)量不足時(shí),很難通過(guò)模型的優(yōu)化實(shí)現(xiàn)對(duì)該類(lèi)域名的高精度檢測(cè)。遷移學(xué)習(xí)可以將模型在某領(lǐng)域已學(xué)習(xí)到的知識(shí)應(yīng)用到另一相關(guān)領(lǐng)域當(dāng)中,根據(jù)已有經(jīng)驗(yàn)和極少的樣本就可以完成對(duì)該領(lǐng)域的學(xué)習(xí)。
已有研究證明,卷積神經(jīng)網(wǎng)絡(luò)的淺層網(wǎng)絡(luò)所提取的特征通常是較為簡(jiǎn)單的底層通用特征[20],因此將預(yù)訓(xùn)練所得到的嵌入層和卷積層參數(shù)作為知識(shí)遷移部分傳遞給小樣本DGA 分類(lèi)模型的特征提取模塊。小樣本DGA域名數(shù)據(jù)經(jīng)過(guò)預(yù)處理傳入遷移學(xué)習(xí)后的多核卷積神經(jīng)網(wǎng)絡(luò)并進(jìn)行訓(xùn)練。為了避免參數(shù)固定導(dǎo)致訓(xùn)練效果降低或過(guò)擬合的現(xiàn)象出現(xiàn),遷移的知識(shí)只應(yīng)用于模型的初始化,在之后的訓(xùn)練過(guò)程中,遷移部分的模型參數(shù)仍參與訓(xùn)練更新。
小樣本DGA分類(lèi)模型使用的損失函數(shù)采用Sigmoid和BCELoss相結(jié)合的方法,計(jì)算公式如下所示:
其中,xn為預(yù)測(cè)第n個(gè)樣本為正例的得分,zn為第n個(gè)樣本為正例的預(yù)測(cè)概率,yn表示第n個(gè)樣本的類(lèi)別。優(yōu)化器同樣采用Adam以更新神經(jīng)網(wǎng)絡(luò)權(quán)重,在更新的過(guò)程中,為了使損失函數(shù)較為穩(wěn)定的降低,學(xué)習(xí)率階段性衰減,每次衰減為上一次迭代的0.5。
2.1.1 域名數(shù)據(jù)集和測(cè)試環(huán)境
域名數(shù)據(jù)集來(lái)源于Alexa 網(wǎng)站和360Netlab 網(wǎng)站公開(kāi)的數(shù)據(jù),域名分為正常域名和DGA域名兩部分。Alexa上提供了各個(gè)網(wǎng)站訪(fǎng)問(wèn)量排名,由于DGA 域名通常生存周期短,訪(fǎng)問(wèn)量通常不高,所以本文選取Alexa數(shù)據(jù)集中訪(fǎng)問(wèn)量較大的前10萬(wàn)條域名數(shù)據(jù)作為正常域名數(shù)據(jù)集。DGA 域名數(shù)據(jù)集來(lái)源于360Netlab的開(kāi)源數(shù)據(jù),該項(xiàng)目目前公布了44種不同類(lèi)別的DGA域名共125多萬(wàn)條,包括常見(jiàn)的virut、tinba 等類(lèi)型,以及suppobox 等基于字典的DGA 種類(lèi)。由于部分域名種類(lèi)數(shù)據(jù)數(shù)量過(guò)少,不足以支撐分類(lèi)模型效果的驗(yàn)證,因此本文選用數(shù)據(jù)量較為充足的24類(lèi)進(jìn)行實(shí)驗(yàn),360網(wǎng)站所提供的24類(lèi)DGA 域名數(shù)據(jù)大小如表2 所示。小樣本遷移卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練集僅使用10條DGA域名進(jìn)行訓(xùn)練,遷移知識(shí)來(lái)自除小樣本訓(xùn)練集以外的23個(gè)DGA域名類(lèi)別。
表2 24類(lèi)DGA域名數(shù)量
本文的測(cè)試環(huán)境為Windows10,Intel?CoreTMi7-8565U CPU,8 GB 內(nèi)存。模型的實(shí)現(xiàn)基于Pytorch 深度學(xué)習(xí)框架,版本為1.3.1,開(kāi)發(fā)環(huán)境為Anaconda4.8.2,Python版本為3.7.4,模型支持GPU加速。
2.1.2 評(píng)價(jià)指標(biāo)
準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)和F值(F1)是常用的幾種機(jī)器學(xué)習(xí)評(píng)價(jià)指標(biāo),準(zhǔn)確率表示總樣本中預(yù)測(cè)正確占比,精確率表示預(yù)測(cè)是正類(lèi)中預(yù)測(cè)正確占比,召回率表示所有正類(lèi)中預(yù)測(cè)正確占比,F(xiàn)值為精確率和召回率的調(diào)和平均值,因此,若是精確率和準(zhǔn)確率都較好,F(xiàn)1 值也會(huì)較高。本研究將采用這四種方式對(duì)模型進(jìn)行評(píng)估。這四個(gè)指標(biāo)的計(jì)算公式如下列公式所示:
其中,TP為將正類(lèi)預(yù)測(cè)為正類(lèi)數(shù),TN為將負(fù)類(lèi)預(yù)測(cè)為負(fù)類(lèi)數(shù),F(xiàn)P為將負(fù)類(lèi)預(yù)測(cè)為正類(lèi)數(shù),即誤報(bào)數(shù),F(xiàn)N為將正類(lèi)預(yù)測(cè)為負(fù)類(lèi)數(shù),即漏報(bào),這四個(gè)參數(shù)共同組成混淆矩陣。
為了將域名數(shù)據(jù)轉(zhuǎn)化成模型可讀數(shù)據(jù),首先使用one-hot 編碼方式對(duì)原始域名進(jìn)行編碼,頂級(jí)域名將被保留。之后通過(guò)嵌入層將編碼后的數(shù)據(jù)映射到向量空間中,根據(jù)公式(1),通過(guò)矩陣變換,編碼數(shù)據(jù)轉(zhuǎn)化為domain_len×Embedding_size的矩陣,其中第一維度為域名字符串長(zhǎng)度,第二維度為嵌入維度,在本研究中取值為30。數(shù)據(jù)預(yù)處理的過(guò)程及最終結(jié)果如圖3所示。
圖3 數(shù)據(jù)預(yù)處理
基于遷移學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)的小樣本DGA分類(lèi)模型使用預(yù)訓(xùn)練的23 種域名分類(lèi)器進(jìn)行知識(shí)遷移,用于特征提取的卷積核大小為n×Embedding_size,其中第一維度n={2,3,4},卷積核個(gè)數(shù)為5。最終得到的分類(lèi)效果如表3 所示。通過(guò)知識(shí)遷移,大部分DGA 種類(lèi)都能被較好地分類(lèi),20 類(lèi)DGA 域名分類(lèi)準(zhǔn)確率在92%以上,其中11 類(lèi)準(zhǔn)確率在97%以上,其余4 類(lèi)準(zhǔn)確率在80%到90%之間。
表3 遷移學(xué)習(xí)的小樣本DGA分類(lèi)結(jié)果 %
在24 類(lèi)DGA 域名中,pykspa_v1、simda、suppobox和virut 類(lèi)的遷移效果不夠理想。simda 類(lèi)和suppobox類(lèi)域名的構(gòu)成較為符合發(fā)音規(guī)則,如“nopolomojen.eu”,virut類(lèi)大多數(shù)域名字符串長(zhǎng)度都較短,二級(jí)域名長(zhǎng)度通常只有6個(gè)字符,無(wú)法提取到充足的分類(lèi)特征。
為了更直觀地體現(xiàn)遷移學(xué)習(xí)在小樣本DGA分類(lèi)模型中起到的作用,本文使用樣本充足的多核卷積神經(jīng)網(wǎng)絡(luò)DGA 分類(lèi)模型和無(wú)知識(shí)遷移的小樣本DGA 分類(lèi)模型進(jìn)行對(duì)比。圖4至圖7為三種模型得到的四項(xiàng)評(píng)價(jià)指標(biāo)的對(duì)比結(jié)果。
圖4 三種模型分類(lèi)準(zhǔn)確率對(duì)比
圖5 三種模型分類(lèi)精確率對(duì)比
圖6 三種模型分類(lèi)召回率對(duì)比
圖7 三種模型分類(lèi)F 值對(duì)比
當(dāng)數(shù)據(jù)樣本充足時(shí),單層多核卷積神經(jīng)網(wǎng)絡(luò)可以滿(mǎn)足大多數(shù)種類(lèi)的DGA 域名檢測(cè)且識(shí)別結(jié)果較好,其中21 類(lèi)DGA 域名的分類(lèi)準(zhǔn)確率達(dá)到95%以上,14 類(lèi)的準(zhǔn)確率、精確率、召回率和F值均在98%以上。而無(wú)知識(shí)遷移的小樣本DGA 域名分類(lèi)效果明顯較差,大部分種類(lèi)的四項(xiàng)評(píng)價(jià)標(biāo)準(zhǔn)均有明顯下降,僅有少部分DGA 域名仍能達(dá)到訓(xùn)練數(shù)據(jù)充足時(shí)的檢測(cè)效果,11類(lèi)域名準(zhǔn)確率達(dá)到92%以上。
對(duì)比兩個(gè)小樣本DGA 分類(lèi)模型,通過(guò)對(duì)充足樣本訓(xùn)練的神經(jīng)網(wǎng)絡(luò)進(jìn)行遷移,23 類(lèi)DGA 域名的四項(xiàng)評(píng)價(jià)標(biāo)準(zhǔn)較未遷移之前均有較為明顯的提升。將經(jīng)過(guò)遷移學(xué)習(xí)的小樣本分類(lèi)模型和充足樣本所訓(xùn)練的分類(lèi)模型進(jìn)行對(duì)比,20 類(lèi)小樣本DGA 分類(lèi)模型四項(xiàng)評(píng)價(jià)標(biāo)準(zhǔn)與樣本充足時(shí)所訓(xùn)練的模型差值不超過(guò)-4%,3類(lèi)小樣本DGA域名分類(lèi)模型的準(zhǔn)確率、精確率和F1 值優(yōu)于樣本充足時(shí)的訓(xùn)練結(jié)果。pykspa_v1、suppobox 和virut 類(lèi)DGA域名的遷移模型訓(xùn)練結(jié)果與樣本充足訓(xùn)練結(jié)果相比差距仍較大,但pykspa_v1和virut類(lèi)小樣本分類(lèi)結(jié)果較無(wú)知識(shí)遷移的分類(lèi)結(jié)果已有明顯提升,suppobox類(lèi)域名遷移后的效果比未遷移的結(jié)果略差。
此外,在訓(xùn)練過(guò)程中,訓(xùn)練數(shù)據(jù)量不足的模型需要花費(fèi)更長(zhǎng)的時(shí)間迭代更多次數(shù)才能得到模型較優(yōu)參數(shù)。而經(jīng)過(guò)知識(shí)遷移的模型收斂速度較快,所花費(fèi)時(shí)間大約為無(wú)知識(shí)遷移模型的25%。
本文提出了基于遷移學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)小樣本DGA 域名分類(lèi)模型,并對(duì)24 種DGA 域名進(jìn)行了測(cè)試。首先在數(shù)據(jù)預(yù)處理部分保留了頂級(jí)域名的特征,并將域名映射在向量空間中完成字符嵌入。預(yù)訓(xùn)練部分使用其他多種類(lèi)DGA 域名對(duì)多核卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。之后將預(yù)訓(xùn)練得到的知識(shí)遷移到小樣本DGA分類(lèi)模型中,并使用處理后的數(shù)據(jù)進(jìn)行訓(xùn)練。實(shí)驗(yàn)結(jié)果表明,大部分經(jīng)過(guò)知識(shí)遷移的DGA域名分類(lèi)結(jié)果較無(wú)遷移模型有明顯提升,四項(xiàng)評(píng)價(jià)標(biāo)準(zhǔn)接近數(shù)據(jù)充足時(shí)訓(xùn)練的模型,20類(lèi)域名準(zhǔn)確率在92%以上,11類(lèi)準(zhǔn)確率達(dá)到97%。由于遷移后的模型對(duì)小部分的域名種類(lèi)效果不夠理想,在接下來(lái)的工作中,將在進(jìn)行知識(shí)遷移之前分析各類(lèi)域名的領(lǐng)域分布差異,并對(duì)自動(dòng)檢測(cè)新型小樣本域名的無(wú)監(jiān)督方法進(jìn)行研究以進(jìn)一步減少人工標(biāo)注成本。