張永斌,常文欣,孫連山,張 航
(陜西科技大學(xué)電子信息與人工智能學(xué)院,西安 710021)
(*通信作者電子郵箱920647953@qq.com)
僵尸網(wǎng)絡(luò)、勒索病毒等惡意軟件往往將命令與控制服務(wù)器(Command and Control server,C&C)的連接信息(如:域名、IP 地址)硬編碼在二進(jìn)制文件中,以便接收指令、竊取收集到的情報(bào)或從事其他惡意活動(dòng),嚴(yán)重威脅著國(guó)家安全和社會(huì)穩(wěn)定,這種方式實(shí)現(xiàn)簡(jiǎn)單,但很容易被黑名單封堵。為躲避黑名單封堵,很多惡意軟件采用域名生成算法(Domain Generation Algorithm,DGA)生成大量域名,由于每個(gè)周期生成的惡意域名數(shù)量較大,導(dǎo)致黑名單無(wú)法正常工作。在早期,僵尸網(wǎng)絡(luò)等惡意軟件主要通過(guò)DGA 隨機(jī)選取字符生成域名,即:基于隨機(jī)字符的DGA,生成的惡意域名在字符構(gòu)成、字符分布上與良性域名存在很大差異,基于這些特征研究人員提出了很多檢測(cè)算法[1]。但隨著網(wǎng)絡(luò)對(duì)抗力度的加大,攻擊者為了更好地躲避檢測(cè)與封堵,一些僵尸網(wǎng)絡(luò)采用基于字典的DGA,與早期基于隨機(jī)字符的DGA不同,基于字典的DGA通過(guò)從內(nèi)嵌的單詞列表中隨機(jī)選取一個(gè)或多個(gè)單詞組合生成域名,由于與良性域名命名規(guī)則相近,導(dǎo)致這些算法生成的惡意域名更不易檢測(cè)[2]。
現(xiàn)有研究主要關(guān)注基于隨機(jī)字符DGA 生成域名的檢測(cè),由于域名生成方式不同,基于字典的DGA 生成域名與基于隨機(jī)字符DGA 生成域名在字符構(gòu)成上存在很大差異,它與良性域名更為相似,不易檢測(cè),而現(xiàn)有檢測(cè)算法缺乏有效的針對(duì)性。因此,本文提出一種卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和長(zhǎng)短時(shí)記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)相結(jié)合的網(wǎng)絡(luò)模型——CL 模型,對(duì)基于字典的DGA生成域名進(jìn)行檢測(cè)。
目前,學(xué)術(shù)界針對(duì)DGA 生成域名的檢測(cè)算法可以分為基于傳統(tǒng)機(jī)器學(xué)習(xí)的檢測(cè)算法與基于深度學(xué)習(xí)的檢測(cè)算法兩大類。在早期研究中,研究人員主要通過(guò)從域名字符構(gòu)成、字符分布、解析結(jié)果等方面提取特征,利用隨機(jī)森林(Random Forest,RF)、支持向量機(jī)(Support Vector Machine,SVM)等機(jī)器學(xué)習(xí)方法建立檢測(cè)模型[3-6]。隨著深度學(xué)習(xí)的發(fā)展與普及,很多研究人員提出了基于深度學(xué)習(xí)的檢測(cè)模型,與早期研究方法相比,研究人員不用再選取具體的分類特征。Woodbridge 等[7]最先采用LSTM 對(duì)DGA 生成域名進(jìn)行檢測(cè)與分類,與隱馬爾可夫模型(Hidden Markov Model,HMM)等傳統(tǒng)方法相比,LSTM 的性能明顯優(yōu)于其他方法,在10-4的假陽(yáng)性率下取得90%的檢測(cè)率。在后續(xù)研究中,大量研究人員提出多種不同的深度網(wǎng)絡(luò)模型,例如,Berman[8]使用CapsNet,Drichel 等[9]使用殘差網(wǎng)絡(luò)(ResNets),Qiao 等[10]使用具有注意力機(jī)制的LSTM 對(duì)DGA 生成域名進(jìn)行檢測(cè),在檢測(cè)性能上均取得較好結(jié)果。Sivaguru 等[11-13]分別將LSTM、并行卷積神經(jīng)網(wǎng)絡(luò)等典型的深度學(xué)習(xí)模型與機(jī)器學(xué)習(xí)方法進(jìn)行對(duì)比,結(jié)果表明深度學(xué)習(xí)方法在檢測(cè)性能上均優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)方法。裴蘭珍等[14]對(duì)門控循環(huán)單元(Gated Recurrent Unit,GRU)、LSTM 等24 種深度學(xué)習(xí)模型進(jìn)行了比較,研究結(jié)果表明在多種模型中,采用卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)組合的方法可有效提升模型的檢測(cè)性能。但以上研究主要是對(duì)基于隨機(jī)字符DGA 生成域名進(jìn)行檢測(cè),目前,對(duì)基于字典的DGA研究才逐步引起關(guān)注,相關(guān)研究較少。Curtin 等[15]結(jié)合域名字符特征和WHOIS 注冊(cè)信息特征(如:注冊(cè)商、注冊(cè)郵件等)一起構(gòu)建模型對(duì)基于字典的DGA 生成域名進(jìn)行檢測(cè),然而根據(jù)數(shù)據(jù)保護(hù)條例,WHOIS 信息已不再可用。Koh 等[16]通過(guò)使用預(yù)訓(xùn)練的詞嵌入向量與簡(jiǎn)單的全連接層結(jié)合起來(lái)對(duì)基于字典的DGA 生成域名進(jìn)行檢測(cè),但該方法需要對(duì)域名進(jìn)行分詞處理,由于不同域名包含的詞數(shù)量不同,導(dǎo)致模型靈活性差。Highnam 等[17]提出混合神經(jīng)網(wǎng)絡(luò)Bilbo模型,該模型是通過(guò)CNN 和LSTM 并行使用來(lái)檢測(cè)基于字典的DGA 生成域名,模型通過(guò)CNN 提取域名中字符的n-grams 特征,對(duì)域名中的單詞特征進(jìn)行學(xué)習(xí),但簡(jiǎn)單地將CNN 和LSTM 并行使用,弱化了n-grams 之間的上下文關(guān)系。因此,本文提出一種將CNN和LSTM 串行連接使用的網(wǎng)絡(luò)模型,模型通過(guò)CNN 提取基于字典的DGA 生成域名的n-grams 特征,然后利用LSTM 學(xué)習(xí)ngrams 間的上下文特征,實(shí)驗(yàn)結(jié)果表明:CL 模型具有更好的檢測(cè)性能。
基于字典的DGA 生成域名時(shí),是以有意義的單詞為單位,通常從一個(gè)或多個(gè)單詞列表中抽取單詞,組合生成域名,如:Matsnu家族包含動(dòng)詞單詞列表及名詞單詞列表,在生成域名時(shí),先從動(dòng)詞列表中隨機(jī)抽取單詞,然后在名詞列表中隨機(jī)抽取單詞,進(jìn)行組合后生成域名,如“charactermarry.com”。Nymaim 家族包含兩個(gè)單詞列表,生成域名時(shí),先后從兩個(gè)單詞列表中隨機(jī)抽取單詞,組成生成域名,如“recent-hospitality.com”。
為了便于人們的理解和記憶,良性域名通常采用有意義的單詞或詞組來(lái)命名,如:“facebook.com”,而基于字典的DGA 生成域名也是由有意義單詞的構(gòu)成,由于命名規(guī)則的相近,基于字典的DGA 生成域名與良性域名在字符分布上十分相近、差異并不明顯,如圖1所示。而基于隨機(jī)字符的DGA在生成域名時(shí),往往以字符為單位,通過(guò)隨機(jī)抽取字符生成域名。由于生成域名的方式不同,基于隨機(jī)字符的DGA 生成域名在字符構(gòu)成、字符分布上與良性域名、基于字典的DGA 生成域名存在著顯著區(qū)別,更易于檢測(cè)與識(shí)別。
圖1 DGA域名與良性域名的字符分布概率Fig.1 Distribution probability of DGA domain names and benign domain names
雖然良性域名與基于字典的DGA 生成域名命名規(guī)則相近,但良性域名選詞廣泛,而字典DGA 的命名空間卻受限于內(nèi)嵌的單詞列表及從不同列表中取詞的順序,因此,可通過(guò)學(xué)習(xí)字典DGA 所有單詞列表中的單詞及不同列表中單詞之間的組合關(guān)系,對(duì)基于字典的DGA生成域名進(jìn)行檢測(cè)。
基于字典的DGA 生成域名由英文單詞構(gòu)成,英文單詞主要由詞根、詞綴組成,通常詞根決定單詞的意思,前綴可以改變?cè)~義,后綴決定單詞詞性。為更好地學(xué)習(xí)基于字典的DGA生成域名中的單詞特征,本文借鑒文本分類思想提出CNN 與LSTM 串行連接的CL 模型,該模型首先利用CNN 捕捉域名的局部特征,對(duì)于域名來(lái)說(shuō),局部特征就是由若干字母組成的滑動(dòng)窗口,CNN 可有效提取域名字符構(gòu)成中關(guān)鍵的n-grams 信息,如:詞根、詞綴的特征,同時(shí)可選擇不同大小卷積核學(xué)習(xí)多個(gè)不同長(zhǎng)度的n-grams信息,因此,CL模型通過(guò)CNN 可有效學(xué)習(xí)基于字典的DGA 各個(gè)內(nèi)嵌單詞列表中單詞的關(guān)鍵n-grams特征。由于CNN 學(xué)習(xí)到的特征具有平移不變性,學(xué)習(xí)到的n-grams 特征缺少在域名中出現(xiàn)的位置信息,因此,CL 模型進(jìn)一步利用LSTM 學(xué)習(xí)n-grams 之間的上下文關(guān)系,如:前綴、詞根、后綴之間的順序關(guān)系,目的是進(jìn)一步強(qiáng)化對(duì)單詞列表中單詞特征的學(xué)習(xí),同時(shí)學(xué)習(xí)基于字典的DGA 中不同單詞列表之間單詞的組合關(guān)系,以便從單詞特征及單詞間組合關(guān)系對(duì)基于字典的DGA 生成域名進(jìn)行檢測(cè)。CL 模型充分利用了CNN和LSTM 的優(yōu)點(diǎn),與傳統(tǒng)基于字符的LSTM 模型相比,CL 模型使用的是n-grams之間的特征而不是單個(gè)字符之間的特征,可更有效地學(xué)習(xí)基于字典的DGA 生成域名中的單詞特征,與CNN、Bilbo模型相比,CL 模型有效地保留了n-grams之間的位置信息,更利于學(xué)習(xí)單詞特征及單詞之間的組合關(guān)系。
CNN 是深度學(xué)習(xí)的代表算法之一,在圖像識(shí)別領(lǐng)域取得了巨大成功,如人臉識(shí)別等。目前,CNN在自然語(yǔ)言處理領(lǐng)域也得到廣泛應(yīng)用。在文本處理過(guò)程中,一維卷積窗口在文本上滑動(dòng),提取不同位置的單詞序列特征。卷積核與詞向量進(jìn)行卷積計(jì)算,生成每個(gè)位置有效的特征映射:
其中:k表示文本中的k個(gè)位置;⊕(wi:i+k-1)表示卷積窗口內(nèi)的詞向量wi,wi+1,…,wi+k-1,xi為第i個(gè)窗口的連續(xù)向量;u為卷積核中的權(quán)重向量;b是偏置;g為非線性激活函數(shù)。
LSTM是一種能夠?qū)W習(xí)長(zhǎng)期依賴性的網(wǎng)絡(luò)模型,廣泛應(yīng)用于自然語(yǔ)言處理領(lǐng)域,LSTM主要通過(guò)“門”結(jié)構(gòu)控制信息的輸入與輸出,LSTM 引入了3 個(gè)門,即輸入門(input gate)、遺忘門(forget gate)和輸出門(output gate),這3 個(gè)門主要用于捕獲各個(gè)狀態(tài)的依賴關(guān)系。LSTM 還需要計(jì)算候選記憶細(xì)胞。當(dāng)前時(shí)間步記憶細(xì)胞ct的計(jì)算組合了上一時(shí)間步記憶細(xì)胞和當(dāng)前時(shí)間步候選記憶細(xì)胞的信息,并通過(guò)遺忘門和輸入門來(lái)控制信息的流動(dòng)。有了記憶細(xì)胞后,通過(guò)輸出門來(lái)控制從記憶細(xì)胞到隱藏狀態(tài)ht的信息的流動(dòng)。相關(guān)方程為:
其中:σ是sigmoid 激活函數(shù);W是權(quán)重矩陣;xt是當(dāng)前時(shí)刻的輸入向量;ht-1是上一時(shí)刻的輸出向量;b是偏置;°表示按元素乘法。
CL 模型主要由字符嵌入層、特征提取層和全連接層三部分組成,網(wǎng)絡(luò)模型如圖2所示。
圖2 CL模型Fig.2 CL model
1)嵌入層。對(duì)輸入域名的有效字符(小寫(xiě)字母、數(shù)字和連字符)進(jìn)行編碼,每個(gè)字符通過(guò)128維的向量表示。
2)特征提取層。通過(guò)選取不同大小卷積核的CNN 學(xué)習(xí)不同長(zhǎng)度的n-grams 特征,將CNN 學(xué)習(xí)到的特征輸入到LSTM中進(jìn)行再次學(xué)習(xí),以便通過(guò)LSTM 學(xué)習(xí)n-grams 之間的上下文關(guān)系,最后將所有LSTM 的輸出進(jìn)行Concatenate。實(shí)驗(yàn)結(jié)果表明:卷積核大?。╧ernel_size)為3 和4,卷積核的數(shù)量為128時(shí),模型性能最佳。
3)全連接層。在神經(jīng)網(wǎng)絡(luò)中起到“分類器”的作用,將學(xué)習(xí)到的特征表示映射為樣本標(biāo)記的類別屬性,即良性域名或惡意域名。在實(shí)驗(yàn)時(shí),使用binary_crossentropy 衡量模型的損失,sigmoid作為模型的分類函數(shù)。
CL模型的偽代碼如下所示。
目前,典型用于檢測(cè)DGA 生成域名的深度學(xué)習(xí)網(wǎng)絡(luò)模型有:CNN[11-13]、雙向LSTM(Bi-directional LSTM,B-LSTM)[11-13]、LSTM[7]和Bilbo[17],前三種網(wǎng)絡(luò)模型主要檢測(cè)基于隨機(jī)字符DGA 生成域名,Bilbo 模型是混合網(wǎng)絡(luò)模型,主要用于檢測(cè)基于字典的DGA 生成域名。本文在同一數(shù)據(jù)集上,從以下幾個(gè)方面,將CL模型與這四種典型的網(wǎng)絡(luò)模型進(jìn)行對(duì)比。
1)檢測(cè)能力對(duì)比:比較模型對(duì)良性域名和基于字典的DGA生成域名的檢測(cè)能力。
2)泛化能力對(duì)比:比較模型在各家族之間的泛化能力,即對(duì)未訓(xùn)練家族的識(shí)別能力。
3)時(shí)間依賴性對(duì)比:測(cè)試不同模型的時(shí)間依賴性,即時(shí)間變化對(duì)模型檢測(cè)性能的影響。
本文所使用的數(shù)據(jù)均來(lái)自公開(kāi)數(shù)據(jù)集,如表1 所示。良性域名數(shù)據(jù)集來(lái)自Alexa的前100萬(wàn)個(gè)域名,基于字典的DGA生成域名使用了兩個(gè)數(shù)據(jù)源:DGArchive 逆向工程生成的DGA 域名樣本和Netlab 360 DGA 發(fā)布的真實(shí)DGA 域名。使用DGArchive 逆向工程生成2018年4個(gè)基于字典的DGA 家族的域名數(shù)據(jù),用于模型的訓(xùn)練和測(cè)試。對(duì)于時(shí)間依賴性的檢測(cè),使用DGArchive 生成2020 年的域名數(shù)據(jù)樣本,以及Netlab 360 DGA在2020年6月—7月發(fā)布的真實(shí)DGA域名。
表1 實(shí)驗(yàn)數(shù)據(jù)集Tab.1 Experimental datasets
4.2.1 模型的檢測(cè)性能
為比較模型在良性域名和基于字典的DGA 生成域名的檢測(cè)能力,進(jìn)行了不同家族數(shù)量和良性域名的二分類對(duì)比實(shí)驗(yàn)。
實(shí)驗(yàn)1 三個(gè)家族二分類對(duì)比。
實(shí)驗(yàn)首先復(fù)現(xiàn)文獻(xiàn)[17]所使用的3個(gè)基于字典的DGA家族的二分類實(shí)驗(yàn),即Suppobox(S)、Matsnu(M)、Goz(iG)家族。實(shí)驗(yàn)數(shù)據(jù)包含良性域名3 萬(wàn),DGA 域名3 萬(wàn),其中每個(gè)家族域名各1萬(wàn)。實(shí)驗(yàn)結(jié)果如表2所示。
表2 三個(gè)字典DGA家族的實(shí)驗(yàn)結(jié)果Tab.2 Experimental results of three dictionary-based DGA families
從表2可看出:CL、LSTM和B-LSTM模型都能達(dá)到很高的檢測(cè)率,但CL 模型在準(zhǔn)確率上比LSTM 提升了0.93%,比CNN提升了2.90%。
實(shí)驗(yàn)2 四個(gè)家族的二分類對(duì)比。
在三個(gè)家族二分類對(duì)比的實(shí)驗(yàn)基礎(chǔ)上添加Nymaim2(N)家族。實(shí)驗(yàn)數(shù)據(jù)包含良性域名3 萬(wàn),DGA 域名3 萬(wàn),每個(gè)家族域名各7 500個(gè)。其實(shí)驗(yàn)結(jié)果如表3所示。
表3 四個(gè)字典DGA家族的實(shí)驗(yàn)結(jié)果Tab.3 Experimental results of four dictionary-based DGA families
從表3 可看出:添加一個(gè)家族之后,各模型指標(biāo)均有所下降,但CL 模型各項(xiàng)指標(biāo)仍比其他模型高。其中每個(gè)家族的Recall值如表4所示,整體上CL模型仍高于其他模型。從表4中可以看出,各個(gè)網(wǎng)絡(luò)模型在各家族的檢測(cè)結(jié)果上具有一定的差異。CL 模型的最高和最低Recall 值分別為96.22%、91.03%,Bilbo 網(wǎng)絡(luò)模型的最高和最低Recall 值分別為97.20%、83.06%。除Gozi家族之外,CL模型在其余各家族的Recall 值上均高于其他網(wǎng)絡(luò)模型。尤其是對(duì)Suppobox 家族的檢測(cè)上,CL 模型比CNN 模型提升了14.29%,比Bilbo 網(wǎng)絡(luò)模型提升了15.84%。
表4 每個(gè)家族實(shí)驗(yàn)結(jié)果的Recall值Tab.4 Recall of experimental results of different families
實(shí)驗(yàn)3 不同家族數(shù)量的二分類對(duì)比。
通過(guò)對(duì)比實(shí)驗(yàn)2 的表3 與實(shí)驗(yàn)1 的表2,增加一個(gè)DGA 家族之后,所有模型檢測(cè)指標(biāo)都有所下降。在實(shí)驗(yàn)1、2 中,分別覆蓋了三個(gè)家族和四個(gè)家族,為驗(yàn)證不同家族數(shù)量對(duì)模型的影響,分別補(bǔ)充一個(gè)家族及兩個(gè)家族實(shí)驗(yàn),之后對(duì)比4 個(gè)實(shí)驗(yàn)結(jié)果的Accuracy 值和Recall 值,如圖3~4 所 示。其中:S 為Suppobox家族;SG為Suppobox家族和Gozi家族;SGM為Suppobox 家族、Gozi 家族和Matsnu 家族;SGMN 為Suppobox 家族、Gozi家族、Matsnu家族和Nymaim2家族。
圖3 四次實(shí)驗(yàn)結(jié)果的Accuracy值對(duì)比Fig.3 Accuracy comparison of four experimental results
從圖3~4 可以看出,隨著家族數(shù)量的增加,各個(gè)模型的檢測(cè)能力都在下降,但通過(guò)對(duì)比Accuracy 值和Recall 值可以發(fā)現(xiàn),CL模型降低的幅度更小,具有更好的穩(wěn)定性。
4.2.2 模型的泛化性能
為測(cè)試模型的泛化性能,使用4個(gè)家族中任意3個(gè)家族訓(xùn)練模型,用剩下的1個(gè)家族測(cè)試模型,檢測(cè)結(jié)果如表5所示。
圖4 四次實(shí)驗(yàn)結(jié)果的Recall值對(duì)比Fig.4 Recall comparison of four experimental results
表5 不同模型對(duì)字典DGA家族的泛化性能比較Tab.5 Comparison of generalization performance of different models for dictionary-based DGA families
實(shí)驗(yàn)結(jié)果表明,CNN 網(wǎng)絡(luò)模型在泛化性能上優(yōu)于CL 模型。當(dāng)使用Suppobox(S)、Matsnu(M)、Nymaim2(N)三個(gè)家族一起作為訓(xùn)練家族,Goz(iG)作為測(cè)試家族時(shí),所有模型的泛化結(jié)果都表現(xiàn)為最好。使用Suppobox(S)、Gozi(G)、Matsnu(M)三個(gè)家族一起作為訓(xùn)練家族,Nymaim2(N)作為測(cè)試家族時(shí),模型的泛化結(jié)果都較差。
4.2.3 模型的時(shí)間依賴性能
為測(cè)試模型的時(shí)間依賴性,使用了4 個(gè)家族的二分類模型對(duì)DGArchive 生成的2020 年數(shù)據(jù)進(jìn)行測(cè)試,其實(shí)驗(yàn)結(jié)果如表6所示。
表6 2020年DGArchive測(cè)試結(jié)果的Recall值Tab.6 Recall of test results of DGArchive in 2020
對(duì)比表6 和表4 可以發(fā)現(xiàn),所有網(wǎng)絡(luò)模型在2018 年和2020 年的數(shù)據(jù)檢測(cè)上均無(wú)顯著差異。這說(shuō)明當(dāng)內(nèi)嵌單詞列表未發(fā)生變化時(shí),生成域名的種子變化對(duì)網(wǎng)絡(luò)模型均不會(huì)造成影響。為驗(yàn)證模型在真實(shí)數(shù)據(jù)上的檢測(cè)能力,選取Netlab 360 的字典DGA 進(jìn)行檢測(cè),但由于Netlab 360 只提供了4 個(gè)基于字典的DGA 家族中的Suppobox 和Matsnu 2 個(gè)家族數(shù)據(jù)。因此只對(duì)這兩個(gè)家族進(jìn)行了檢測(cè),其檢測(cè)結(jié)果如表7所示。
表7 2020年Netlab 360測(cè)試結(jié)果的Recall值Tab.7 Recall of test results of Netlab 360 in 2020
從實(shí)驗(yàn)結(jié)果可以看出,Suppobox 家族與2020 年DGArchive檢測(cè)結(jié)果相似,但Matsnu家族與2020年DGArchive檢測(cè)結(jié)果存在較大差異。對(duì)Matsnu家族的2020年DGArchive數(shù)據(jù)Netlab 360數(shù)據(jù)進(jìn)行分析,兩者詞重復(fù)率高達(dá)97.81%,域名重復(fù)率為8.15%。Netlab 360 數(shù)據(jù)中Matsnu 家族平均連字符數(shù)為1.2,而DGArchive 中Matsnu 家族的平均連字符數(shù)為0.13。因此本文認(rèn)為,由于連字符的變化,使各個(gè)網(wǎng)絡(luò)模型學(xué)習(xí)n-grams之間的關(guān)系發(fā)生了改變,所以對(duì)Matsnu家族的檢測(cè)結(jié)果產(chǎn)生了影響。
以上實(shí)驗(yàn)結(jié)果表明:在檢測(cè)性能上CL模型各項(xiàng)指標(biāo)都最優(yōu),明顯優(yōu)于其他模型,在四個(gè)家族的二分類實(shí)驗(yàn)時(shí),其Accuracy 為93.12%,比CNN 提升了2.20%,比Bilbo 提升了1.87%。隨著惡意家族數(shù)量的增加,CL 模型的Accuracy、Recall 下降最低,具有更好的穩(wěn)定性。在泛化性上CNN 表現(xiàn)最好,這是由于CNN 學(xué)習(xí)到的n-grams 特征具有位置無(wú)關(guān)性,同樣由于缺少n-grams 間的上下文關(guān)系特征,導(dǎo)致CNN 的Accuracy 最差。B-LSTM 和LSTM 是循環(huán)神經(jīng)網(wǎng)絡(luò),主要學(xué)習(xí)字符之間的上下文特征,其各方面表現(xiàn)居中。Bilbo 和CL 模型都是基于CNN 和LSTM 的混合模型,不同之處在于Bilbo 模型使用的是并行的CNN 和LSTM 結(jié)構(gòu),由于Bilbo 模型保留了CNN 的位置無(wú)關(guān)性,其具有較好的泛化性能。CL模型是多個(gè)CNN 和LSTM 串行連接的網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)不同的卷積核學(xué)習(xí)不同的n-grams特征,并通過(guò)LSTM 學(xué)習(xí)不同n-grams之間的上下文特征,導(dǎo)致其在泛化性能上較弱,但在其他各個(gè)方面表現(xiàn)最優(yōu)。
本文提出一種卷積神經(jīng)網(wǎng)絡(luò)與長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(CL)相結(jié)合的基于字典的DGA 生成域名的檢測(cè)模型,該模型利用卷積神經(jīng)網(wǎng)絡(luò)與長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)提取n-grams 信息及其上下文特征。實(shí)驗(yàn)結(jié)果表明,CL 模型在分類性能及時(shí)間依賴性上優(yōu)于其他模型。在未來(lái)研究中,將進(jìn)一步探索模型的泛化性能,研究影響泛化性能的結(jié)果的影響因子。