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

?

基于注意力特征融合網(wǎng)絡(luò)的DGA惡意域名檢測方法

2024-03-01 04:29:52郝旭光
關(guān)鍵詞:域名字符卷積

郝旭光

(山西省政務(wù)和公益域名注冊管理中心,山西 太原 030024)

0 引言

域名服務(wù)系統(tǒng)(Domain Name System,DNS)是互聯(lián)網(wǎng)最基礎(chǔ)的應(yīng)用系統(tǒng),通過建立域名和IP地址的對應(yīng)關(guān)系支撐服務(wù)其他業(yè)務(wù)應(yīng)用,但其開放性和公平性也被惡意軟件利用。僵尸網(wǎng)絡(luò)借助域名生成算法(Domain Generation Algorithm,DGA)大量生成DGA域名,通過命令與控制(Command-and-Control,C&C)服務(wù)器操控受害者主機,達(dá)到逃避安全監(jiān)控、提高生存和攻擊能力的目的,從而進(jìn)行大規(guī)模的分布式拒絕服務(wù)攻擊、發(fā)送垃圾郵件、傳播非法信息和釣魚網(wǎng)站、運行勒索軟件等惡意活動。其復(fù)雜性和隱蔽性導(dǎo)致傳統(tǒng)的網(wǎng)絡(luò)安全防御手段難以有效應(yīng)對,追蹤控制服務(wù)器位置變得更加困難。

如何高效檢測和攔截DGA域名,是近年來網(wǎng)絡(luò)安全防護(hù)技術(shù)研究的熱點方向??v觀當(dāng)前DGA惡意域名的檢測方法主要包括基于特征提取的機器學(xué)習(xí)方法檢測、基于無特征提取的深度學(xué)習(xí)方法檢測和基于附加條件的深度學(xué)習(xí)方法檢測[1]?;谔卣魈崛〉臋C器學(xué)習(xí)方法優(yōu)勢在于可以利用常見特征實現(xiàn)高效檢測,比如借助于人工提取的諸如域名長度、元輔音占比、字符頻率等,以及DNS請求和響應(yīng)的頻率、時序和地理分布等特征,使用分類器進(jìn)行域名分類實現(xiàn)快速檢測?;跓o特征提取的深度學(xué)習(xí)方法借助深度學(xué)習(xí)的自動特征學(xué)習(xí)能力,既能緩解對人工提取特征的過度依賴又能發(fā)現(xiàn)傳統(tǒng)統(tǒng)計方法無法發(fā)現(xiàn)的特征,很大程度上解決了特征檢測法實時性差和易被繞開的缺點,提高了DGA惡意域名檢測的準(zhǔn)確性?;诟郊訔l件的深度學(xué)習(xí)方法添加了某種附加條件以提高檢測準(zhǔn)確率,例如將注意力集中在域中更重要的子串并改善域的表達(dá),增加域名的多字符隨機性提取方法,通過詞法分析和Web搜索來估計域名隨機性等措施,以提高模型的檢測性能,特別是針對新型DGA域名的檢測。

以上方法雖然在一定范圍內(nèi)取得了效果,但為了提高生存率,DGA算法也在不斷更新迭代,導(dǎo)致現(xiàn)有檢測方法逐步失效。特征法依賴人工提取字符和流量特征,易受到復(fù)雜網(wǎng)絡(luò)環(huán)境的干擾,攻擊者可以重新設(shè)計DGA生成算法繞過檢測,導(dǎo)致此類方法在面對新型DGA域名時,泛化能力和準(zhǔn)確率受限。深度學(xué)習(xí)法在遇到如數(shù)據(jù)量少的DGA域名家族、新型DGA域名時,無法捕捉到某些關(guān)鍵信息,且易受到精心設(shè)計的對抗樣本的欺騙,在應(yīng)對更加智能的DGA域名上的表現(xiàn)不佳。附加條件法在不同的附加機制中,針對一些如短域名、高可讀性域名存在誤判和表現(xiàn)效果不佳的現(xiàn)象。

本文提出了一種注意力特征融合網(wǎng)絡(luò)。通過Embedding層、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)層、注意力模塊和長短時記憶(Long Short Term Memory,LSTM)網(wǎng)絡(luò)層集合了各種檢測方法的優(yōu)勢和長處,顯著提升了對DGA域名檢測的能力。首先,Embedding層使得網(wǎng)絡(luò)能夠?qū)W習(xí)輸入數(shù)據(jù)的稠密向量表示,從而捕捉更豐富的信息。其次,CNN層和LSTM網(wǎng)絡(luò)層的組合實現(xiàn)了層次化特征提取,前者負(fù)責(zé)提取局部特征,后者捕捉長期依賴關(guān)系,增強了模型的泛化能力。第三,注意力模塊的引入有助于關(guān)注域名字符間重要的局部特征,進(jìn)一步解決長距離依賴關(guān)系難以捕捉的問題。實驗表明,使用本文方法檢測DGA域名,在準(zhǔn)確率、精確率、召回率和綜合性能上都有著明顯的提升。

1 DGA域名及其特征

1.1 DGA域名

DGA域名指通過DGA算法自動生成的域名,通常依賴于一個種子值(如當(dāng)前日期、特定數(shù)值或者內(nèi)置種子等)和一個預(yù)定義的算法。僵尸網(wǎng)絡(luò)客戶端通過DGA算法生成大量域名,并且進(jìn)行查詢,攻擊者在控制端運行同一套DGA算法,生成相同的備選域名列表。當(dāng)需要發(fā)動攻擊的時候,從列表中選擇少量的域名注冊開通便可以建立通信,同時可以利用IP速變技術(shù),實現(xiàn)IP和域名快速變化隱藏C&C服務(wù)器,逃避網(wǎng)絡(luò)安全設(shè)備的監(jiān)測跟蹤,為僵尸網(wǎng)絡(luò)提供一個持續(xù)且難以被追蹤的通信連接。

以著名的Conficker僵尸網(wǎng)絡(luò)為例,其A/B變種的DGA算法基于當(dāng)前日期作為種子值,每天生成250個.com域名和250個.net域名。具體的,其使用一個基于時間的種子值,對26個字母進(jìn)行置換,生成長度不同的域名。而CryptoLocker是一種勒索軟件,其基于種子值和日期,通過一系列的數(shù)學(xué)運算和映射,生成不同的域名。Banjori是一種惡意軟件,其DGA具有多元遞歸關(guān)系,每次都會根據(jù)前一個域名生成下一個域名,用加減和取模運算得到下一個域名的前四個字母,同時保持后綴不變。表1展示了這三種惡意軟件中使用DGA所生產(chǎn)的惡意域名以及部分正常的域名。

表1 DGA域名與正常域名示例

1.2 DGA域名特征

DGA域名由算法自動生成,無需人工干預(yù)。其具有語義不明確、結(jié)構(gòu)不均衡、長度變化大、存活時間短等特征??梢詫GA域名與正常域名的差異總結(jié)為以下三點:

(1)語義性。正常域名通常具有較強的語義性,通常是為了表示實際的公司、組織或產(chǎn)品而創(chuàng)建的。正常域名往往包含有意義的單詞、縮寫或短語,以便用戶能夠輕松地識別和記住。相反,DGA域名通常缺乏語義性,因為由算法自動生成,目的是讓其難以被預(yù)測和追蹤。

(2)結(jié)構(gòu)和可讀性。正常域名通常具有較好的結(jié)構(gòu)和可讀性,字符分布較為均衡,可能包含輔音和元音的組合,以及一定比例的數(shù)字和特殊字符。而DGA域名的結(jié)構(gòu)和可讀性通常較差,字符分布可能不均衡,字符組合可能顯得更加隨機和無規(guī)律。

(3)域名長度。正常域名的長度通常在一定范圍內(nèi)變化,具有較短的平均長度。而DGA域名的長度可能有很大差異,根據(jù)所使用的生成算法,長度可能非常短或非常長。不過部分DGA可能會生成較短的域名,以模仿正常域名的外觀。

雖然這三個方面的差異能夠幫助區(qū)分正常域名與DGA域名,但也正因為DGA域名無語義、無規(guī)律的特點導(dǎo)致一般方法難以有效檢測。

2 相關(guān)工作

基于DGA域名的特征,通過分析其不同的生成算法,研究者設(shè)計提出了不同的應(yīng)對思路和檢測方法,歸納起來主要為以下三類。

2.1 基于特征提取的機器學(xué)習(xí)方法的檢測

利用合法域名與DGA域名在字符組合上的差異,Ma等人[2]提出了一種輕量化的方法來檢測DGA域名。該方法利用URL的詞法構(gòu)造特征,如URL的長度、中英文句號的數(shù)量和特殊字符的數(shù)量等判定DGA域名。Wang和Shirley[3]使用詞語分割從域名中提取標(biāo)記來檢測惡意域名。所提出的特征空間包括字符數(shù)、數(shù)字和連字符的數(shù)量等。胡鵬程等人[4]從域名中提取了包括隨機性、可讀性、數(shù)字與字母分布情況、頂級域名、域名長度在內(nèi)的多個特征,并使用機器學(xué)習(xí)算法進(jìn)行測試。王紅凱等人[5]通過人工提取域名長度、字符信息熵、多類字符比例等特征,使用隨機森林實現(xiàn)DGA域名的檢測。Agyepong等人[6]則通過人工提取的KL散度、Jaccard系數(shù)等特征用于訓(xùn)練模型完成檢測。

通過網(wǎng)絡(luò)流量分析并結(jié)合上下文特征,韓春雨等人[7]提出了一種基于DNS流量的Fast-flux域名檢測方法,利用DNS流量中的域名語言特征和統(tǒng)計特征來區(qū)分Fast-flux域名和正常域名,并使用機器學(xué)習(xí)模型進(jìn)行分類。其也引入了量化的地理廣度、國家向量表和時間向量表特征,以加強對Fast-flux域名檢測的針對性。Manasrah等人[8]提出了一種基于DNS流量挖掘的DGA域名檢測方法。該方法使用了多個相關(guān)的語言特征,如隨機度、稀有度、打字難度等來衡量域名的特征,在不同類型的DGA域名上實現(xiàn)了高準(zhǔn)確率和低誤報率。Wang等人[9]利用DNS流量中的域名統(tǒng)計特征和時間序列特征來區(qū)分DGA域名和正常域名,并使用聚類算法來劃分不同類型的DGA域名。該方法使用如域名長度、元音比例、熵、請求頻率和持續(xù)時間等特征來描述域名的特征,并在多種DGA家族上實現(xiàn)了良好的檢測效果。Antonakakis等人[10]提出稱為Pleiades的檢測系統(tǒng)。通過提取與NXDOMAIN字符串相關(guān)的統(tǒng)計特征,包括n元分布和字符頻率,并使用機器學(xué)習(xí)算法將NXDOMAIN字符串分成DGA生成和合法兩類,在大規(guī)模的DNS流量測試中表現(xiàn)出高檢測率和低誤報率。Silveira等人[11]提出了一種使用被動DNS自動檢測惡意域名的方法,從DNS流量中提取了12類不同的特征,并使用XGboost算法對特征進(jìn)行學(xué)習(xí),在數(shù)據(jù)集上的AUC達(dá)到了0.976。

2.2 基于無特征提取的深度學(xué)習(xí)方法的檢測

Highnam等人[12]提出了一種混合神經(jīng)網(wǎng)絡(luò)Bilbo,用于分析域名并評分其由字典DGA生成的可能性。該模型在跨不同字典DGA分類任務(wù)的泛化性能方面,在AUC、F1分?jǐn)?shù)和準(zhǔn)確性方面都能取得較好的成績。Kumar等人[13]提出了一種基于深度神經(jīng)網(wǎng)絡(luò)的增強DGA檢測模型,該模型結(jié)合了額外提取的人工特征以及由深度學(xué)習(xí)模型提取的特征,在DGA域名分類方面的性能優(yōu)于SVM、RF等現(xiàn)有方法。Yu等人[14]通過將LSTM和CNN用于DGA域名檢測,證明了深度學(xué)習(xí)方法相比于如隨機森林等機器學(xué)習(xí)方法在檢測時性能上的優(yōu)越性。但其同時也發(fā)現(xiàn),傳統(tǒng)深度學(xué)習(xí)方法的性能容易受到數(shù)據(jù)不平衡的影響,導(dǎo)致在樣本較少的DGA域名家族上的檢測效果較差。申宋彥[15]通過卷積神經(jīng)網(wǎng)絡(luò)分別提取域名中的字符特征和詞特征,并通過改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)了對難度較大的惡意域名家族的識別效果提升。Vinayakumar等人[16]比較了RNN、CNN、LSTM等深度學(xué)習(xí)方法在檢測DAG惡意域名時的性能,發(fā)現(xiàn)遞歸神經(jīng)網(wǎng)絡(luò)的架構(gòu)能夠有效增強深度學(xué)習(xí)模型的整體檢測能力。還有部分工作[17-19]采用了不同架構(gòu)的RNN來檢測惡意域名,包括門控循環(huán)單元(Gated Recurrent Units,GRU)和雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bi-directional Long Short-term Memory,Bi-LSTM)等,但這些方法在檢測隨機性較高的DGA域名時無法很好地捕捉到字符之間的序列關(guān)系,識別率較低。此外,生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)得益于其建立在博弈論上優(yōu)秀的網(wǎng)絡(luò)訓(xùn)練機制,在DGA域名識別任務(wù)中也得到了使用。如袁辰等人[20]和Anderson等人[21]通過在生成網(wǎng)絡(luò)中不斷生成真實度更高的惡意域名,同時在判別網(wǎng)絡(luò)中對生成的惡意域名進(jìn)行檢測,使得判別網(wǎng)絡(luò)的識別能力不斷提高。

2.3 基于附加條件的深度學(xué)習(xí)方法的檢測

隨著DGA域名的算法越來越智能化,采用基于特征和深度學(xué)習(xí)的檢測方法愈感力不從心。研究者又在此基礎(chǔ)上增加一些附加條件來達(dá)到提高檢測率的目標(biāo)。Chen等人[22]提出了一個結(jié)合注意機制的LSTM模型,將注意力集中在域中更重要的子串并改善域的表達(dá),達(dá)到了更好的性能,在二元分類中,其誤報率和假陰率分別低至 1.29%和0.76%。陳立皇等[23]也提出了一種基于注意力機制的深度學(xué)習(xí)模型,不同的是,他們采用一種域名的多字符隨機性提取方法,提升了識別低隨機 DGA 域名的有效性。Satoh 等[24]通過詞法分析和 Web 搜索來估計域名隨機性,但該方法對域名長度較短時,無法區(qū)分,不包含在字典中的域名會被誤判。

為了逃避神經(jīng)網(wǎng)絡(luò)的檢測,惡意域名已升級為多個單詞的組合。為此,Curtin等[25]提出了用smash分?jǐn)?shù)來評估DGA域名與英文單詞的相似程度,并設(shè)計了遞歸神經(jīng)網(wǎng)絡(luò)架構(gòu)與域注冊信息的組合模型。雖然實驗在對 matsnu和suppobox像自然域名的家族的檢測效果好,但是在那些不像自然域名DGA系列表現(xiàn)效果欠佳。

綜合分析以上相關(guān)DGA域名檢測方法,各種模型算法面對不同的DGA家族在一定時期達(dá)到了較高的檢測準(zhǔn)確率和較好的網(wǎng)絡(luò)防御效果,但在面對不斷升級的DGA算法和一些特殊的結(jié)構(gòu)設(shè)計還存在著漏檢和誤檢的情況。隨著新技術(shù)的發(fā)展,特別是惡意算法對新技術(shù)的綜合運用使得惡意域名特征更加難以捕捉,需要綜合利用各種檢測方法的優(yōu)勢,提升檢測范圍的覆蓋率、準(zhǔn)確率。因此,本文集合深度學(xué)習(xí)模型的優(yōu)點,引入注意力模塊,提高了DGA域名的檢測能力。

3 注意力特征融合網(wǎng)絡(luò)

本文所提出的注意力特征融合網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示,包括輸入層、Embedding層、卷積網(wǎng)絡(luò)層、注意力模塊、長短期記憶網(wǎng)絡(luò)層和輸出層。功能分別為:(1)輸入層:負(fù)責(zé)接收原始的域名數(shù)據(jù),作為神經(jīng)網(wǎng)絡(luò)的起始輸入;(2)Embedding層:負(fù)責(zé)將輸入的離散域名字符映射為稠密向量表示,以便更好地捕捉字符間的相關(guān)性;(3)卷積網(wǎng)絡(luò)層:負(fù)責(zé)提取域名序列中的局部特征,如字符的組合模式,有助于識別DGA惡意域名中的模式;(4)注意力模塊:緊接在卷積網(wǎng)絡(luò)層之后,負(fù)責(zé)在處理域名的局部特征時關(guān)注更具判別力的局部特征,以提高惡意域名檢測的準(zhǔn)確性;(5)長短期記憶網(wǎng)絡(luò)層:依據(jù)得到的重要性不同的域名局部特征來捕捉域名序列中的長期依賴關(guān)系,以便更好地理解字符間的上下文關(guān)系;(6)輸出層:負(fù)責(zé)將神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果轉(zhuǎn)化為具體的分類標(biāo)簽,例如判斷輸入域名是正常域名還是DGA惡意域名。

圖1 注意力特征融合網(wǎng)絡(luò)整體結(jié)構(gòu)

3.1 輸入層

接收原始的域名數(shù)據(jù),并將其轉(zhuǎn)換為適合神經(jīng)網(wǎng)絡(luò)處理的格式。作為神經(jīng)網(wǎng)絡(luò)的起始部分,輸入層對數(shù)據(jù)質(zhì)量和格式的處理至關(guān)重要,因為它們會直接影響網(wǎng)絡(luò)的學(xué)習(xí)效果和性能。

輸入數(shù)據(jù)通常以域名序列的形式提供,每個域名由一系列字符組成,包括字母、數(shù)字和連字符等。為了使神經(jīng)網(wǎng)絡(luò)能夠更好地處理這些離散字符,需要對輸入數(shù)據(jù)進(jìn)行預(yù)處理。預(yù)處理的主要步驟包括:(1)將域名轉(zhuǎn)換為小寫形式,以消除字符大小寫的影響;(2)統(tǒng)一域名的長度,對較短的域名進(jìn)行填充或截斷較長的域名,以確保輸入具有相同的維度;(3)將離散字符映射到整數(shù)編碼,以便神經(jīng)網(wǎng)絡(luò)能夠處理這些數(shù)據(jù)。

經(jīng)過預(yù)處理后,輸出的數(shù)據(jù)為整數(shù)編碼的域名序列。例如,給定一個原始域名“example.com”,經(jīng)過預(yù)處理后,輸入層可能輸出一個整數(shù)序列,如[5,24,1,13,16,12,5,28,3,15,13]。整數(shù)編碼的序列可以被后續(xù)的神經(jīng)網(wǎng)絡(luò)層(如Embedding層)接收并處理,進(jìn)一步提取有助于DGA惡意域名檢測的特征。本文所使用的域名數(shù)據(jù)中,域名長度集中分布情況如圖2所示??梢?,域名長度分布在4~73之間,且集中分布在8~30之間,因此在進(jìn)行預(yù)處理時,將所有域名長度超過32的部分進(jìn)行截斷,而對長度不足32的域名,則對其序列化后的表示進(jìn)行補零,使得所有輸入的序列長度都為32。

圖2 域名長度分布圖

3.2 Embedding層

Embedding層將輸入層提供的整數(shù)編碼域名序列轉(zhuǎn)換為稠密向量表示,幫助神經(jīng)網(wǎng)絡(luò)更好地捕捉輸入數(shù)據(jù)中的相關(guān)性和特征,從而提高整體性能。具體的,是將每個整數(shù)編碼的字符映射到一個固定長度的連續(xù)向量空間。映射過程可以理解為一個查找表操作,其中每個整數(shù)編碼都對應(yīng)一個預(yù)先定義的向量。在訓(xùn)練過程中,Embedding層會通過反向傳播算法更新這些向量,使其能夠更好地捕捉字符之間的相關(guān)性。因為本文將以域名中的每個字符作為處理對象,所以Embedding的維度為Rv×e,其中v指的是vocabsize,即出現(xiàn)的所有字符的數(shù)量,而e指的是embeddingsize,即每條字符向量的長度。每條域名在經(jīng)過embedding層的映射之后,其維度會變成Ri×e,其中i指的是inputsize,即輸入域名的長度。因為在預(yù)處理中將域名的長度都對齊為32,所以inputsize為32。

3.3 卷積網(wǎng)絡(luò)層

卷積網(wǎng)絡(luò)層負(fù)責(zé)提取輸入序列中的局部特征。通過卷積操作,該層能夠捕捉字符之間的鄰近關(guān)系,從而識別DGA惡意域名中的特定模式。卷積操作可以被表示為一個滑動窗口在輸入矩陣上按照一定的步長進(jìn)行掃描。具體而言,給定一個輸入矩陣X,一個卷積核T和一個偏置b,卷積操作可以通過下式計算:

(1)

其中,Yij是輸出矩陣Y的第(i,j)個元素,(m,n)是卷積核T的索引。通過遍歷輸入矩陣上的所有可能位置,可以計算出完整的輸出矩陣Y。在本層中采用了一維卷積(1D-CNN),因為這種形式的卷積能夠更好地處理序列數(shù)據(jù)。具體的,一維卷積只沿著域名序列的長度方向進(jìn)行,從而能有效地捕捉字符之間的局部模式。在模型中同時使用了大小為3的多個卷積核,以實現(xiàn)對多種局部特征的提取,從而增強模型的表征能力。在卷積層后,網(wǎng)絡(luò)還使用了最大池化層來降低模型的參數(shù),并去除作用不顯著的冗余信息。

3.4 注意力模塊

為輸入序列中的每個元素分配不同的權(quán)重,以便在處理序列數(shù)據(jù)時關(guān)注更具判別力的部分。通過注意力機制,神經(jīng)網(wǎng)絡(luò)能夠更好地捕捉長距離依賴關(guān)系,提高惡意域名檢測的準(zhǔn)確性。本模型中所使用的注意力模塊采用自注意力機制(Self-Attention),其計算過程可以分為三個步驟:(1)計算查詢(Query)、鍵(Key)和值(Value)矩陣;(2)計算注意力分?jǐn)?shù);(3)計算加權(quán)值和。假設(shè)輸入矩陣X的維度為(t,d),其中t是序列長度,d是特征維度。首先,計算查詢矩陣Q、鍵矩陣K和值矩陣V:

Q=XWQ,K=XWK,V=XWV

(2)

(3)

最后,計算加權(quán)值和:

Y=SV

(4)

此時,輸出矩陣Y的維度與輸入矩陣X相同,但元素的權(quán)重經(jīng)過重新分配,使得網(wǎng)絡(luò)更加關(guān)注重要部分。

3.5 長短期記憶層

負(fù)責(zé)處理序列數(shù)據(jù)中的長期依賴關(guān)系。LSTM是一種特殊的遞歸神經(jīng)網(wǎng)絡(luò),通過引入門控單元來解決傳統(tǒng)RNN中的梯度消失和梯度爆炸問題。LSTM單元包含三個門控單元:輸入門(input gate)、遺忘門(forget gate)和輸出門(output gate),以及一個單元狀態(tài)(cell state)。給定一個輸入向量xt和前一時刻的隱藏狀態(tài)ht-1,LSTM單元中輸入門、遺忘門、輸出門的計算過程分別如下所示:

it=σ(Wixxt+Wihht-1+bi)

(5)

ft=σ(Wfxxt+Wfhht-1+bf)

(6)

ot=σ(Woxxt+Wohht-1+bo)

(7)

進(jìn)而單元狀態(tài)更新的過程可以表示為:

(8)

ct=ft⊙ct-1+it⊙

(9)

而隱藏狀態(tài)更新的過程可以表示為:

ht=ot⊙tanh(ct)

(10)

其中,σ(·)是Sigmoid激活函數(shù),⊙表示按位乘法,W和b是權(quán)重矩陣和偏置向量。長短期記憶層位于卷積網(wǎng)絡(luò)層和注意力模塊之后,以處理經(jīng)過局部特征提取和注意力分配的序列數(shù)據(jù)。通過對序列中的字符進(jìn)行長期依賴關(guān)系建模,LSTM層有助于捕捉DGA域名中的潛在模式,從而提高整個網(wǎng)絡(luò)的性能。

3.6 輸出層

將提取的特征映射到目標(biāo)任務(wù)的預(yù)測結(jié)果。完成兩個任務(wù),判斷一個域名是否為DGA域名(二分類任務(wù))和判斷一個域名為正?;騺碜蕴囟ㄋ惴易宓挠蛎?多分類任務(wù))。

在進(jìn)行二分類任務(wù)時,輸出層只包含一個神經(jīng)元,該神經(jīng)元使用 Sigmoid激活函數(shù)將最后一層的輸出映射到(0,1)區(qū)間,得到域名為DGA域名的概率:

P(y=1|x)=σ(Whht+bo)

(11)

其中,Wh和bo是輸出層的權(quán)重矩陣和偏置向量,ht是LSTM層的最終隱藏狀態(tài)。

在進(jìn)行多分類任務(wù)時,輸出層的神經(jīng)元數(shù)量與類別的數(shù)量相等,該層使用softmax函數(shù)將輸出層神經(jīng)元的輸出映射為概率分布:

(12)

其中,Whi和boi分別表示輸出層第i個神經(jīng)元的權(quán)重和偏置。模型最終的預(yù)測結(jié)果就為概率最大的那一類。

4 實驗與分析

4.1 實驗數(shù)據(jù)集

本文所使用的數(shù)據(jù)集由公開的合法域名數(shù)據(jù)集和DGA域名數(shù)據(jù)集組合而成。其中合法數(shù)據(jù)集為Alexa統(tǒng)計的100萬個互聯(lián)網(wǎng)中訪問流量最高的網(wǎng)站的域名。DGA域名數(shù)據(jù)集為360 Netlab發(fā)布的42類DGA家族共1 147 770條域名。進(jìn)一步地,對完整的數(shù)據(jù)集進(jìn)行分層采樣,即在每個DGA家族以及正常域名內(nèi)部按比例進(jìn)行采樣,然后將采樣的數(shù)據(jù)合并為訓(xùn)練集、測試集和驗證集,三者的占比為7∶2∶1。

4.2 實驗指標(biāo)

在本研究中,選用了以下四項評估指標(biāo):平均準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)及F1值。其中平均準(zhǔn)確率的計算方式為:

(13)

精確率的計算方式為:

(14)

召回率的計算方式為:

(15)

F1值的計算方式為:

(16)

在二分類和多分類兩種情況下,四項評估指標(biāo)中TP、FP、TN、FN的含義為:

(1)真陽性(True Positive,TP)。二分類:正確預(yù)測為DGA域名的實例數(shù)量。多分類:將屬于該DGA家族的域名成功預(yù)測為該DGA家族的實例數(shù)。

(2)假陽性(False Positive,F(xiàn)P)。二分類:將正常域名誤判為DGA域名的實例數(shù)量。多分類:將其他DGA家族的域名或正常域名錯誤地歸類到該DGA家族的實例數(shù)。

(3)真陰性(True Negative,TN)。二分類:正確預(yù)測為正常域名的實例數(shù)量。多分類:將其他DGA家族的域名和正常域名成功預(yù)測為非該DGA家族的實例數(shù)。

(4)假陰性(False Negative,F(xiàn)N)。二分類:將DGA域名誤判為正常域名的實例數(shù)量。多分類:未能將該DGA家族的域名成功預(yù)測為該DGA家族的實例數(shù)。

4.3 實驗環(huán)境與參數(shù)設(shè)置

軟件方面,本文的實驗在Windows 10系統(tǒng)下進(jìn)行,使用的Python版本為3.10,使用的深度學(xué)習(xí)庫TensorFlow版本為2.10。硬件方面,實驗設(shè)備的內(nèi)存大小為16 GB,CPU為Intel?倕 CoreTMi7-8700K。實驗中的各項參數(shù)設(shè)置如表2所示。

表2 實驗所使用的具體參數(shù)

4.4 實驗結(jié)果

實驗對比了傳統(tǒng)的深度學(xué)習(xí)網(wǎng)絡(luò)CNN和LSTM與本文所提出的自注意力特征融合網(wǎng)絡(luò)在檢測DGA域名上的效果。三種網(wǎng)絡(luò)進(jìn)行二分類任務(wù)時的結(jié)果如表3所示。

表3 不同方法在判斷域名是否為DGA域名時的效果

實驗結(jié)果表明,本文所提出的方法在所有評價指標(biāo)上都取得了較高的分?jǐn)?shù),而且在大多數(shù)情況下超過了CNN和LSTM;在平均精度、平均召回率、平均F1分?jǐn)?shù)和平均準(zhǔn)確率方面,表現(xiàn)優(yōu)于其他兩種方法;且在識別DGA域名的精度上相比于CNN和LSTM都有較大提升。盡管LSTM在識別DGA域名的召回率上達(dá)到了最高(0.995 8),但在識別正常域名的召回率和精度上,LSTM的表現(xiàn)不如其他兩種方法,導(dǎo)致其平均表現(xiàn)稍弱。結(jié)合前文對DGA域名與正常域名在形式上的差異分析,可以說明本文方法所采用的網(wǎng)絡(luò)結(jié)構(gòu)能夠更好地學(xué)習(xí)到域名字符序列中局部特征與長距離依賴,有利于當(dāng)域名中存在大量隨機與無規(guī)律字符時學(xué)習(xí)到更加準(zhǔn)確的域名表征,從而實現(xiàn)檢測效果的提升。

為了直觀體現(xiàn)不同架構(gòu)的網(wǎng)絡(luò)在泛化能力與學(xué)習(xí)能力上的差異,進(jìn)一步繪制了二分類情況下訓(xùn)練過程中不同網(wǎng)絡(luò)結(jié)構(gòu)的學(xué)習(xí)曲線,如圖3~圖5所示。

圖3 CNN在二分類情況下訓(xùn)練時的學(xué)習(xí)曲線

圖4 LSTM在二分類情況下訓(xùn)練時的學(xué)習(xí)曲線

圖5 本文方法在二分類情況下訓(xùn)練時的學(xué)習(xí)曲線

可見,隨著訓(xùn)練的進(jìn)行,LSTM在驗證集上的準(zhǔn)確率與在訓(xùn)練集上的準(zhǔn)確率差距逐漸增大,且在第12輪訓(xùn)練時模型在驗證集上的準(zhǔn)確率已經(jīng)開始有了下降的趨勢,證明網(wǎng)絡(luò)的性能不僅達(dá)到了上限,還即將過擬合,這也說明網(wǎng)絡(luò)的泛化能力有限,不能較好地學(xué)習(xí)到域名序列間字符的局部關(guān)系。而CNN隨著訓(xùn)練的進(jìn)行,其在驗證集上的準(zhǔn)確率出現(xiàn)了大幅度的波動與下降,說明模型的泛化能力較差,且出現(xiàn)了較嚴(yán)重的過擬合現(xiàn)象,也說明模型無法學(xué)習(xí)到字符間的長期依賴關(guān)系將導(dǎo)致性能有著較大地下降。而本文所提出的方法隨著訓(xùn)練的進(jìn)行,其在訓(xùn)練集和驗證集上的準(zhǔn)確率變化都十分平穩(wěn),且在驗證集上的準(zhǔn)確率沒有發(fā)生下降,說明本模型有著更好的學(xué)習(xí)能力,能夠有效對域名序列中的特征進(jìn)行學(xué)習(xí)。

三種網(wǎng)絡(luò)進(jìn)行多分類任務(wù)時的效果如表4所示。需要說明的是,數(shù)據(jù)集在去除樣本個數(shù)少于2的DGA類別后,共有38個不同的DGA類以及1個正常類。其中,表格中在對每一類域名分類時效果最好的方法的結(jié)果進(jìn)行了加粗顯示。

表4 不同方法在判斷域名所屬具體類別時的效果

通過對數(shù)據(jù)分析,發(fā)現(xiàn)本文所提出的方法在所有39類域名中的21類取得了最好的識別效果,在其中的13類上與其他方法同時取得了最好的效果,僅僅在其中5類上的效果落后于其他模型,由此可見本網(wǎng)絡(luò)在同時檢測多類DGA域名時的有效性。結(jié)果中的平均F1值為根據(jù)各方法在各類域名上的F1值與該類域名在數(shù)據(jù)集中的占比進(jìn)行加權(quán)平均得來的,可以發(fā)現(xiàn)本文方法取得了最好的效果,以此也說明了本文方法在學(xué)習(xí)域名字符間的局部特征以及長期依賴關(guān)系上的有效性。特別需要注意的是,本文所提出的方法不僅能夠在CNN與LSTM已有較好檢測效果的特定DGA家族(如Necurs、Suppobox和Padcrypt)上實現(xiàn)進(jìn)一步的效果提升,還能夠?qū)NN與LSTM幾乎無法檢測的特定DGA家族(如Proslikefan、Matsnu)實現(xiàn)檢測,說明本文方法不僅有著更好的泛化性能,還能夠?qū)W習(xí)到傳統(tǒng)網(wǎng)絡(luò)無法學(xué)習(xí)到的特征。

更進(jìn)一步地,繪制在多分類情況下不同網(wǎng)絡(luò)結(jié)構(gòu)的學(xué)習(xí)曲線,如圖6~圖8所示。

圖6 CNN在多分類情況下訓(xùn)練時的學(xué)習(xí)曲線

圖7 LSTM在多分類情況下訓(xùn)練時的學(xué)習(xí)曲線

圖8 本文方法在多分類情況下訓(xùn)練時的學(xué)習(xí)曲線

可見,在多分類情況下,隨著訓(xùn)練的進(jìn)行CNN在驗證集上的準(zhǔn)確性首先平緩上升,然后出現(xiàn)了下降的趨勢,說明模型即將過擬合。而LSTM隨著訓(xùn)練的進(jìn)行,在驗證集上的準(zhǔn)確率上升并不平緩,而是有所波動。雖然其在訓(xùn)練終止時并沒有出現(xiàn)過擬合現(xiàn)象,但因其收斂速度過于緩慢,其在驗證集上的結(jié)果始終都低于另外兩個模型。而本文方法兼具收斂快速與泛化能力強的特點,使其隨著訓(xùn)練的進(jìn)行,在驗證集上的準(zhǔn)確率穩(wěn)步提升,且沒有出現(xiàn)過擬合的現(xiàn)象。

5 結(jié)論

本文針對網(wǎng)絡(luò)安全領(lǐng)域中的DGA惡意域名檢測問題,提出了一種基于注意力機制的特征融合網(wǎng)絡(luò)。該方法結(jié)合了Embedding層、卷積神經(jīng)網(wǎng)絡(luò)層、注意力模塊和長短時記憶網(wǎng)絡(luò)層,旨在實現(xiàn)更精確和高效的域名分類。實驗結(jié)果表明,所提出的方法在各項評價指標(biāo)上均優(yōu)于傳統(tǒng)深度學(xué)習(xí)方法,具有較強的泛化能力。未來研究將進(jìn)一步探討更高效的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、結(jié)合多源信息以及在實際網(wǎng)絡(luò)環(huán)境中的部署和應(yīng)用,以實現(xiàn)更全面和實時的DGA惡意域名檢測。

猜你喜歡
域名字符卷積
尋找更強的字符映射管理器
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
字符代表幾
一種USB接口字符液晶控制器設(shè)計
電子制作(2019年19期)2019-11-23 08:41:50
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
消失的殖民村莊和神秘字符
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
如何購買WordPress網(wǎng)站域名及綁定域名
騰訊八百萬美元收購域名
一種基于卷積神經(jīng)網(wǎng)絡(luò)的性別識別方法
五莲县| 台北市| 古田县| 潮安县| 安岳县| 蓬莱市| 阿拉善左旗| 阿城市| 镇赉县| 丹寨县| 临西县| 广宁县| 屯门区| 磐安县| 攀枝花市| 丹东市| 兰溪市| 洪泽县| 阳新县| 万山特区| 阿坝县| 彭州市| 来凤县| 昌乐县| 双城市| 嘉义县| 项城市| 德清县| 镶黄旗| 深泽县| 眉山市| 微山县| 鄂尔多斯市| 宁化县| 临漳县| 建始县| 汉阴县| 金溪县| 陆河县| 化州市| 岳池县|