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

?

基于關(guān)聯(lián)信息提取的惡意域名檢測方法

2021-11-14 08:23:22張斌廖仁杰
通信學(xué)報 2021年10期
關(guān)鍵詞:域名關(guān)聯(lián)向量

張斌,廖仁杰

(1.信息工程大學(xué)密碼工程學(xué)院,河南 鄭州 450001;2.河南省信息安全重點(diǎn)實驗室,河南 鄭州 450001)

1 引言

惡意域名通常采用IP-Flux、Domain-Flux 等技術(shù)動態(tài)變換域名字符串構(gòu)成和IP 的映射關(guān)系,具有較強(qiáng)的欺騙性和隱蔽性[1-2],如何有效檢測惡意域名已成為網(wǎng)絡(luò)安全領(lǐng)域的研究熱點(diǎn)之一。

目前,基于域關(guān)聯(lián)信息的惡意域名檢測方法按提取關(guān)聯(lián)信息的不同分為三類。第一類是基于域名請求時間關(guān)聯(lián)的惡意域名檢測方法,如基于固定時間窗分析域名請求時間相似性的域名檢測方法[3-4]、基于同類別域名請求呈伴隨關(guān)系的域名檢測方法[5]等。此類檢測方法的出發(fā)點(diǎn)是同類別域名在請求時間上呈聚集出現(xiàn)的特點(diǎn),對并發(fā)訪問的惡意域名檢測效果較好,并能檢測大部分域名,檢測樣本覆蓋率較高,但易受主機(jī)產(chǎn)生的合法域名請求和觀測時間窗口大小設(shè)置的干擾,還需結(jié)合域名的其他信息以提高此類方法的穩(wěn)健性。第二類是基于置信度傳播(BP,belief propagation)算法[6]的惡意域名檢測方法。此類檢測方法基于圖模型挖掘域名之間的關(guān)聯(lián)關(guān)系,首先,提取域名系統(tǒng)(DNS,domain name system)流量中域名解析IP 地址、訪問域名主機(jī)等信息構(gòu)成圖模型,如域名-主機(jī)二部圖[7]、域名-IP地址二部圖[8-9]、域名傳播圖[10]、別名圖[11]等;然后結(jié)合已有黑白名單標(biāo)記圖中部分節(jié)點(diǎn),采用BP算法或圖聚類方法對圖中域名節(jié)點(diǎn)進(jìn)行標(biāo)記。此類方法基于圖中存在邊連接的域名節(jié)點(diǎn)具有同質(zhì)性的特點(diǎn)進(jìn)行節(jié)點(diǎn)標(biāo)記,可在已知標(biāo)簽數(shù)據(jù)較少的情況下對未知屬性域名節(jié)點(diǎn)進(jìn)行檢測,但由于僅利用DNS 流量中單一類型域名信息構(gòu)成圖模型,導(dǎo)致域名信息利用率較低,檢測效果不佳。第三類是基于異質(zhì)信息網(wǎng)絡(luò)(HIN,heterogeneous information network)[12]的惡意域名檢測方法。此類檢測方法依據(jù)與惡意域名、攻擊者掌控IP 地址存在聯(lián)系的域名大概率為惡意域名的假設(shè),首先將DNS 流量中多種信息,如域名、IP 地址、訪問主機(jī)等映射為HIN中的節(jié)點(diǎn),然后采用網(wǎng)絡(luò)表示學(xué)習(xí)方法將HIN 中域名節(jié)點(diǎn)間的關(guān)聯(lián)信息向量化,使具有關(guān)聯(lián)的域名向量在特征空間中聚類出現(xiàn),所得域名向量可結(jié)合分類算法實現(xiàn)域名檢測,如結(jié)合域名請求主機(jī)、域名解析IP 地址和域名請求時間信息,采用LINE(large-scale information network embedding)[13]進(jìn)行域名表示學(xué)習(xí)的域名檢測方法[14-15],結(jié)合HIN 與直推式分類器的域名檢測方法[16],采用圖卷積網(wǎng)絡(luò)[17]進(jìn)行域名節(jié)點(diǎn)表示學(xué)習(xí)的檢測方法[18-19]以及結(jié)合IP 地址信息、被動DNS 特征和域名字符串特征的檢測方法[20]。此類方法采用HIN 表示域名相關(guān)信息,提高了DNS 流量中域名信息利用率,并通過表示學(xué)習(xí)方法將HIN 中域名節(jié)點(diǎn)向量化,為惡意域名檢測提供區(qū)分性強(qiáng)的訓(xùn)練數(shù)據(jù),檢測準(zhǔn)確率較第二類方法有較大提升,但此類方法存在以下不足:1) 由域名信息構(gòu)造而成的HIN 中存在弱連接域名,此類節(jié)點(diǎn)與其他節(jié)點(diǎn)不存在邊連接,導(dǎo)致無法從HIN 中挖掘關(guān)聯(lián)解析信息實現(xiàn)檢測,檢測樣本覆蓋率較低;2) 采用矩陣乘法操作提取HIN 中域名節(jié)點(diǎn)之間關(guān)聯(lián)解析信息,時間復(fù)雜度較高。

為提高基于域名關(guān)聯(lián)信息檢測惡意域名的樣本覆蓋率和檢測準(zhǔn)確率,本文考慮結(jié)合第一類方法具有較高檢測樣本覆蓋率和第三類檢測方法中采用HIN 表示域名解析信息具有較高檢測準(zhǔn)確率的特點(diǎn),提出一種結(jié)合域名解析IP 地址、別名記錄和請求時間進(jìn)行關(guān)聯(lián)信息挖掘的惡意域名檢測方法。

本文主要的研究工作如下。

1) 將DNS流量中域名解析信息映射為HIN中的節(jié)點(diǎn)和邊,彌補(bǔ)由于采用同質(zhì)網(wǎng)絡(luò)無法同時表示域名與IP 地址之間的解析關(guān)系和域名之間別名關(guān)系的不足,提高域名信息利用率;給出描述域名之間關(guān)聯(lián)信息的元路徑定義,同時提出一種用于提取域名關(guān)聯(lián)信息的網(wǎng)絡(luò)遍歷方法,避免采用矩陣乘法操作提取元路徑關(guān)聯(lián)信息計算復(fù)雜度較高的問題。

2) 提出基于請求時間的弱連接域名關(guān)聯(lián)信息挖掘方法,根據(jù)較小時間窗內(nèi)發(fā)起請求的域名之間屬性相似的特點(diǎn),從請求時間角度挖掘弱連接域名的關(guān)聯(lián)信息,解決弱連接域名因元路徑關(guān)聯(lián)信息缺失而無法被檢測的問題,提高檢測樣本覆蓋率。

3) 提出一種域名表示學(xué)習(xí)方法,通過基于元路徑的域名關(guān)聯(lián)解析信息與基于請求時間的域名關(guān)聯(lián)信息進(jìn)行差異學(xué)習(xí),將域名映射為特征空間的數(shù)值向量,通過向量間歐氏距離反映域名之間關(guān)聯(lián)程度,為用于惡意域名檢測的有監(jiān)督分類器提供區(qū)分性較強(qiáng)的訓(xùn)練數(shù)據(jù),獲得較高的檢測準(zhǔn)確率。

2 方法設(shè)計

基于域名關(guān)聯(lián)信息進(jìn)行惡意域名檢測的依據(jù)如下。1) 惡意域名解析信息存在關(guān)聯(lián)關(guān)系:由于攻擊者掌握的IP 資源有限,不同惡意程序所使用域名的解析IP 地址存在交集,可通過分析域名IP 共享機(jī)制發(fā)現(xiàn)惡意域名家族[10,12]。2) 惡意域名在請求時間上存在關(guān)聯(lián)關(guān)系:由于感染惡意程序的主機(jī)以固定時間周期發(fā)送域名請求以驗證控制服務(wù)器狀態(tài)和獲取攻擊命令,安全人員可在DNS 記錄中發(fā)現(xiàn)感染主機(jī)對惡意域名周期性訪問的現(xiàn)象[2,4]。由于攻擊者可通過劫持合法域名進(jìn)行攻擊活動,并在對惡意域名發(fā)起查詢的同時,隨機(jī)發(fā)送大量合法域名請求以隱藏惡意域名請求,若僅依靠單一類型關(guān)聯(lián)信息進(jìn)行域名檢測易產(chǎn)生較多誤報與漏報[1]。綜上所述,本文結(jié)合域名解析信息與請求時間信息進(jìn)行惡意域名檢測,以提高基于域名關(guān)聯(lián)信息的惡意域名檢測結(jié)果可靠性。

基于解析信息與請求時間相結(jié)合的惡意域名檢測方法(MDND-RIQT,malicious domain name detection based on resolution information and query time),同時利用域名解析信息與請求時間關(guān)聯(lián)信息進(jìn)行域名檢測:采用異質(zhì)信息網(wǎng)絡(luò)挖掘域名解析信息中存在的關(guān)聯(lián)信息;根據(jù)固定時間窗提取域名請求時間關(guān)聯(lián)信息;設(shè)計域名表示學(xué)習(xí)算法,將未知域名與已知合法/惡意域名的關(guān)聯(lián)程度量化為向量間歐氏距離,所得數(shù)值向量作為域名特征,并結(jié)合有監(jiān)督分類器實現(xiàn)域名檢測。MDND-RIQT 整體流程如圖1 所示,包括域名異質(zhì)信息網(wǎng)絡(luò)(DN-HIN,domain name heterogeneous information network)構(gòu)建、基于關(guān)聯(lián)信息的域名對提取、域名表示學(xué)習(xí)和域名分類器的訓(xùn)練與測試。

圖1 MDND-RIQT 整體流程

DN-HIN構(gòu)建是將DNS流量中解析記錄表征為異質(zhì)信息網(wǎng)絡(luò),為挖掘域名關(guān)聯(lián)解析信息提供數(shù)據(jù)表示。基于關(guān)聯(lián)信息的域名對提取圍繞域名基于元路徑的關(guān)聯(lián)解析信息和基于請求時間關(guān)聯(lián)信息展開,將存在關(guān)聯(lián)信息的2 個域名記為一個域名對。域名表示學(xué)習(xí)自動融合不同類別的域名關(guān)聯(lián)信息,將域名映射為數(shù)值向量,通過向量間歐氏距離量化域名之間關(guān)聯(lián)程度,最后通過已知標(biāo)簽的域名向量訓(xùn)練有監(jiān)督分類器用于未知標(biāo)簽域名檢測。

2.1 DN-HIN 構(gòu)建

對于網(wǎng)絡(luò)G=(V,E),其中V和E分別代表網(wǎng)絡(luò)G中的節(jié)點(diǎn)和邊,G中存在節(jié)點(diǎn)類型的映射關(guān)系φ:V→A,使 ?v∈V,φ(v)∈A,以及邊連接的映射關(guān)系φ:E→R,使 ?e∈E,φ(e)∈R,A和R分別代表節(jié)點(diǎn)類型集合和邊連接類型集合。若>2,則稱G為異質(zhì)信息網(wǎng)絡(luò)。異質(zhì)信息網(wǎng)絡(luò)已廣泛應(yīng)用于信息檢索和數(shù)據(jù)挖掘領(lǐng)域[12]。

在網(wǎng)絡(luò)通信中,主機(jī)發(fā)起對某一域名的查詢請求后,可通過本地緩存或解析服務(wù)器遞歸查詢獲得查詢結(jié)果。DNS 流量中A 和AAAA 類型記錄包含域名與 IP 地址一對一或一對多的解析關(guān)系、CNAME 類型記錄包含域名的別名關(guān)系。為充分挖掘域名與IP 地址、域名與域名之間的關(guān)聯(lián)信息用于惡意域名檢測,選取HIN 表示不同類型的域名解析信息,構(gòu)成DN-HIN。DN-HIN 包含2 種節(jié)點(diǎn)(即域名節(jié)點(diǎn)ND、IP 地址節(jié)點(diǎn)NIP)和2 種邊連接關(guān)系(即ND與NIP之間的解析關(guān)系RResolve、別名記錄構(gòu)成的CNAME 關(guān)系RCNAME)。采用2 個鄰接矩陣存儲DN-HIN 中節(jié)點(diǎn)之間RResolve和RCNAME邊連接關(guān)系,分別記為MResolve和MCNAME,并根據(jù)DNS 流量中的域名信息對矩陣進(jìn)行賦值,矩陣賦值如下

2.2 基于元路徑的域名關(guān)聯(lián)解析信息提取

異質(zhì)信息網(wǎng)絡(luò)中2 個節(jié)點(diǎn)可通過不同路徑建立連接,不同的路徑代表節(jié)點(diǎn)間不同的語義關(guān)系,這樣的路徑稱為元路徑[12]。為挖掘DN-HIN 中域名節(jié)點(diǎn)之間的連接關(guān)系用于惡意域名檢測,定義以下5 種類型的域名元路徑(MetaP,meta-path),其中,d代表域名,IP 代表域名解析IP 地址。

1) MetaP1:域名(d1)-IP 地址(IP1)-域名(d2)。有限的IP 地址資源導(dǎo)致不同域名的解析IP 地址存在交集,并且解析到同一IP 地址的域名之間具有較強(qiáng)的同質(zhì)性。例如,同一公司的多個域名通常解析為同一個IP 地址;惡意程序采用域名生成算法產(chǎn)生的大量惡意域名往往指向同一個IP 地址,以確保感染主機(jī)被攻擊者同時管控。

2) MetaP2:域名(d1)-CNAME-域名(d2)。CNAME 表示域名的別名記錄。若域名d1的查詢結(jié)果為CNAME 記錄,將繼續(xù)對別名域名d2發(fā)起查詢,最終獲得域名d1的解析IP 地址。網(wǎng)絡(luò)攻擊者通過設(shè)置CNAME 記錄將感染主機(jī)發(fā)起的對惡意域名的查詢轉(zhuǎn)移到跳板主機(jī),并可靈活更換跳板主機(jī)以提高網(wǎng)絡(luò)攻擊事件中的通信隱蔽性[10]。

3) MetaP3:域名(d1)-IP 地址(IP1)-域名(d2)-IP地址(IP2)-域名(d3)。考慮到域名解析的負(fù)載均衡問題,在實際設(shè)置中通常為同一個域名配置多個解析IP 地址,并且每個IP 地址也可作為多個域名的解析地址,從而出現(xiàn)MetaP3 表示的域名解析IP 地址共享機(jī)制。文獻(xiàn)[21]中指出,僵尸網(wǎng)絡(luò)控制者為尋求更高的經(jīng)濟(jì)利益,開始為其他惡意程序提供服務(wù),出現(xiàn)同一惡意域名在不同時間被不同惡意程序家族使用的Baas(botnet as a service)模式,并且為躲避監(jiān)管,所使用惡意域名的解析IP 地址會在不同國家和托管平臺之間遷移。

4) MetaP4 :域 名(d1)-CNAME-域 名(d2)-CNAME-域名(d3)。域名d1的查詢結(jié)果為別名為域名d2的CNAME 記錄,繼續(xù)發(fā)起對域名d2的查詢,返回一條別名記錄為域名d3的CNAME 記錄,最終由域名d3的查詢結(jié)果得到解析IP 地址并將此IP 地址作為域名d1的解析結(jié)果。此類域名利用方式常用于采用動態(tài)域名解析服務(wù)的釣魚網(wǎng)站和網(wǎng)絡(luò)詐騙[10],具有較高隱蔽性。

5) MetaP5:域名(d1)-IP 地址(IP1)-域名(d2)-CNAME-域名(d3)。MetaP5 在MetaP1 和MetaP2 的基礎(chǔ)進(jìn)行拓展。對于同時存在A 類型和CNAME 類型查詢結(jié)果的域名d2,可將域名d2作為中間節(jié)點(diǎn),使域名d1與域名d3建立長距離關(guān)聯(lián)關(guān)系。

以上5 種元路徑以合法/惡意網(wǎng)絡(luò)活動中域名、IP 地址之間的聯(lián)系為基礎(chǔ),通過不同長度、不同連接關(guān)系的元路徑提高域名關(guān)聯(lián)解析信息挖掘的全面性,并用于推理域名節(jié)點(diǎn)的屬性:若域名節(jié)點(diǎn)在DN-HIN 中與已知惡意域名節(jié)點(diǎn)或攻擊者掌控的IP地址節(jié)點(diǎn)存在元路徑聯(lián)系,則該域名傾向為惡意。

通過統(tǒng)計DN-HIN 中域名節(jié)點(diǎn)的出度可知,域名節(jié)點(diǎn)的出度為1~6,從而由式(1)所得的鄰接矩陣為稀疏矩陣。已有研究采用鄰接矩陣相乘操作挖掘域名節(jié)點(diǎn)之間不同的元路徑關(guān)聯(lián)信息,此過程受元路徑種類數(shù)、元路徑長度、鄰接矩陣大小等因素影響,具有較大的計算開銷[16]。為提高在DN-HIN 中提取域名節(jié)點(diǎn)之間元路徑關(guān)聯(lián)信息的效率,設(shè)計基于元路徑的網(wǎng)絡(luò)遍歷算法(NTA-M,network traversal algorithm based on meta-path),該算法以DN-HIN 中域名節(jié)點(diǎn)作為遍歷起點(diǎn),以廣度優(yōu)先原則搜尋DN-HIN 中滿足5 種元路徑的下一跳節(jié)點(diǎn),最終輸出與元路徑匹配的域名節(jié)點(diǎn)序列,具體描述如算法1 所示。

算法1基于元路徑的網(wǎng)絡(luò)遍歷算法

輸入鄰接矩陣MResolve和MCNAME,域名集合DN_Set,元路徑遍歷匹配項MetaP3、MetaP4 和MetaP5

輸出滿足元路徑關(guān)系的域名節(jié)點(diǎn)序列集合Traversal_Result

設(shè)鄰接矩陣MResolve大小為n×m、MCNAME大小為n×n,其中,n為域名數(shù)量,m為IP 地址數(shù)量。若采用矩陣相乘操作提取基于MetaP3(最長元路徑)的域名節(jié)點(diǎn)序列,算法復(fù)雜度為O(n3m)。設(shè)DN-HIN 中節(jié)點(diǎn)最大出度為l,則NTA-M 在最壞情況下(DN-HIN 中所有節(jié)點(diǎn)出度均為l,元路徑均為MetaP3)的算法復(fù)雜度為O(nl4)。由于l的數(shù)量級遠(yuǎn)小于m或n的數(shù)量級,則NTA-M 具有較小的算法復(fù)雜度。此外,采用矩陣相乘操作來提取域名關(guān)聯(lián)信息需保存矩陣相乘的結(jié)果,該矩陣為n×n的稀疏矩陣,具有較大存儲空間開銷。NTA-M 所得結(jié)果僅需保存與元路徑匹配的節(jié)點(diǎn)序列。綜上,NTA-M 比基于矩陣乘法的元路徑信息提取方法具有更小的時間與空間開銷。

由于MetaP3、MetaP4、MetaP5 包含MetaP1與MetaP2,NTA-M 僅考慮MetaP3、MetaP4 與MetaP5 用于域名元路徑信息提取,所得域名節(jié)點(diǎn)序列如圖2(a)所示(均以域名D1作為遍歷起點(diǎn)),D代表域名節(jié)點(diǎn)、IP 代表IP 地址節(jié)點(diǎn)、Resolve 和CNAME 分別對應(yīng)域名解析關(guān)系和域名別名關(guān)系。為進(jìn)一步提取域名之間元路徑關(guān)聯(lián)信息用于域名檢測,將域名節(jié)點(diǎn)序列中的邊連接信息和IP 地址節(jié)點(diǎn)刪除,并劃分為5 種不同類型的域名對集合,如圖2(b)所示,域名對將用于后續(xù)域名表示學(xué)習(xí)。

圖2 基于NTA-M 提取域名對示意

受DNS 流量采集時長、網(wǎng)絡(luò)環(huán)境等因素影響,弱連接域名在DN-HIN 中無法提取到任何元路徑關(guān)聯(lián)信息用于檢測。為此,引入域名請求時間關(guān)聯(lián)信息,用于提取與弱連接域名存在請求時間關(guān)聯(lián)的域名對。

2.3 基于請求時間的弱連接域名關(guān)聯(lián)信息挖掘

當(dāng)用戶瀏覽合法或惡意網(wǎng)站時,瀏覽器在較短的時間內(nèi)會向不同域名發(fā)起的DNS 查詢請求,以獲取網(wǎng)頁中的文字、圖片等內(nèi)容,在此過程中被發(fā)起請求的部分域名之間雖不存在解析信息關(guān)聯(lián),但出現(xiàn)在同一網(wǎng)頁瀏覽事件中,所發(fā)起請求的域名具有較大概率為同一類別(合法或惡意)。此外,惡意程序中通過域名生成算法產(chǎn)生的惡意域名在請求時間上呈集中請求的特點(diǎn)。由此,在較小時間窗內(nèi)發(fā)起請求的域名具有較大概率屬于同一類別,基于域名請求時間的關(guān)聯(lián)信息可用于惡意域名檢測[2-4]。為彌補(bǔ)DN-HIN 中弱連接域名由于缺少元路徑關(guān)聯(lián)信息無法被檢測的不足,本文提出基于域名請求時間的關(guān)聯(lián)信息提取方法(AIEM-DNQT,associatedinformation extraction method based on domain namequery time),該方法通過提取域名請求時間關(guān)聯(lián)信息有效檢測弱連接域名。

設(shè)Dataset 為N臺主機(jī)的域名請求記錄集合,Dateset={D1,D2,…,DN},其 中Di=代表主機(jī)i在時刻發(fā)起對域名的查詢,Li代表Di的域名請求總數(shù);WDN_List={WDN1,WDN2,…,WDNN′}為弱連接域名構(gòu)成的集合,N′為弱連接域名數(shù)量。令τ為請求時間判別閾值,若域名與弱連接域名的請求時間間隔小于τ,則判別2 個域名之間存在請求時間關(guān)聯(lián)關(guān)系。AIEM-DNQT 具體描述如算法2 所示。

算法2基于域名請求時間的關(guān)聯(lián)信息提取算法

輸入主機(jī)域名請求記錄集合Dataset,弱連接域名集合WDN_List,判別閾值τ

輸出弱連接域名基于請求時間關(guān)聯(lián)的域名對集合Rquery

算法2 分為2 個階段。1) 弱連接域名請求記錄遍歷,設(shè)Dataset 中每個弱連接域名請求記錄數(shù)為Q,以弱連接域名為中心,大小為2τ的時間窗內(nèi)平均域名請求記錄數(shù)為Nav,則得到所有弱連接域名的域名對時間復(fù)雜度為O(QWNav);2) 域名對排序,設(shè)每個弱連接域名的平均域名對數(shù)量為P,則算法2 的時間復(fù)雜度為O(QWNavlbP)。算法2 中步驟8) 選擇出現(xiàn)頻次較高的域名對作為最終結(jié)果,通過頻次統(tǒng)計降低主觀設(shè)置τ值和主機(jī)后臺程序發(fā)起的合法域名請求帶來的干擾。Rquery將用于后續(xù)域名表示學(xué)習(xí)。

2.4 基于域名關(guān)聯(lián)信息的域名表示學(xué)習(xí)方法

借鑒Skip-Gram 模型可在保持字、詞語義關(guān)系的前提下,基于文本向量化的思想[22],將通過NTA-M 和AIEM-DNQT 分別得到基于元路徑和基于請求時間關(guān)聯(lián)信息的域名對理解為自然語言處理的詞組,輸入Skip-Gram 模型,將每個域名轉(zhuǎn)化為維度固定的數(shù)值向量。域名向量間歐氏距離反映域名之間的關(guān)聯(lián)程度,域名向量之間距離越小說明域名之間關(guān)聯(lián)越緊密。

Skip-Gram 模型訓(xùn)練需建立 2 個大小均為M×Dim 的矩陣,分別記為域名向量矩陣W和關(guān)聯(lián)域名向量矩陣W′,其中,M為域名樣本總數(shù),Dim為域名向量維度,Dim?M。通過Skip-Gram 模型學(xué)習(xí)域名向量的目標(biāo)是對于任意存在關(guān)聯(lián)關(guān)系的域名對(di,dj)(i,j∈{1,2,…,M},i≠j),使條件概率P(dj|di,θ)最大化,P(dj|di,θ)采 用Softmax 函數(shù)進(jìn)行衡量。

其中,θ為W與W′所包含的參數(shù),vi為域名di的數(shù)值向量(矩陣W中第i行對應(yīng)的數(shù)值向量),和為域名dj和dk在矩陣W′中的數(shù)值向量。

推論 1令R={RMetaP1,RMetaP2,RMetaP3,RMetaP4,RMetaP5,Rquery}為包含6 種關(guān)聯(lián)關(guān)系域名對的集合,若采用R中域名對作為Skip-Gram 模型的訓(xùn)練數(shù)據(jù),那么域名表示學(xué)習(xí)的目標(biāo)函數(shù)可表示為

其中,wr為關(guān)聯(lián)關(guān)系Rr的權(quán)值,σ(x)=1 (1+e-x),Pn(v)為域名負(fù)樣本(與域名di不存在任意關(guān)聯(lián)關(guān)系的域名)的概率分布,Nk為負(fù)樣本采樣數(shù)。

證明考慮式(2)的分母項需對所有樣本進(jìn)行計算,計算開銷較大的問題,采用負(fù)采樣技術(shù)[22]將式(2)轉(zhuǎn)化為區(qū)分R中所有域名與di是否存在關(guān)聯(lián)關(guān)系的邏輯回歸任務(wù),即

參數(shù)θ更新需考慮R中不同關(guān)聯(lián)關(guān)系的域名對,并且不同關(guān)聯(lián)關(guān)系的域名對滿足相互獨(dú)立,通過取最大似然得到域名表示學(xué)習(xí)的目標(biāo)函數(shù)為

考慮式(5)連續(xù)乘法操作計算開銷較大的問題,對式(5)等號兩側(cè)同取log 函數(shù),令L=logO,可得

考慮到R中不同關(guān)聯(lián)關(guān)系域名對參數(shù)θ更新存在差異性影響[16,19],在式(6)中為不同的關(guān)聯(lián)關(guān)系引入權(quán)重因子,令Weight={wMetaP1,wMetaP2,wMetaP3,wMetaP4,wMetaP5,wquery}為所有域名關(guān)聯(lián)關(guān)系的權(quán)重集合,最終可得基于關(guān)聯(lián)信息權(quán)重自適應(yīng)的域名表示學(xué)習(xí)的優(yōu)化目標(biāo)函數(shù)

其中,wr∈Weight,wr在訓(xùn)練過程中根據(jù)損失值自適應(yīng)調(diào)整,推論1 證畢。

采用小批量樣本的隨機(jī)梯度下降法對式(7)中參數(shù)θ和Weight 進(jìn)行交替更新,即完成Nθ次θ參數(shù)更新后,進(jìn)行一次Weight 參數(shù)更新,避免Weight中部分權(quán)重因頻繁調(diào)整而取值過大,提高參數(shù)更新穩(wěn)定性。令rθ和rW分別為參數(shù)θ和Weight 的更新學(xué)習(xí)率,Nb為小批量樣本數(shù)量,參數(shù)更新具體步驟如下。

步驟1初始化θ與Weight。

步驟2從R中每個關(guān)聯(lián)關(guān)系域名對集合隨機(jī)選擇Nb個域名對,采用式(7)進(jìn)行誤差計算。

步驟3若已完成Nθ次θ參數(shù)更新,以學(xué)習(xí)率為rW的隨機(jī)梯度上升法對權(quán)重Weight 進(jìn)行更新;否則,轉(zhuǎn)到步驟4。

步驟4采用學(xué)習(xí)率為rθ的梯度下降法對θ進(jìn)行更新。

步驟5若未達(dá)到最大迭代次數(shù),回到步驟2;否則,輸出θ與Weight。

采用梯度上升法更新Weight 的原因如下。對于任意wr∈Weight,若wr的更新梯度值較大則說明式(7) 中Rr類別的計算結(jié)果,即的值較大,從而可通過增大Rr類別域名對的權(quán)重wr以獲得更大的更新梯度,加快參數(shù)θ更新速度。

考慮所得的域名數(shù)值向量在特征空間分布上呈現(xiàn)關(guān)聯(lián)性較強(qiáng)的2 個域名向量距離較近的同類聚集特點(diǎn),選取支持向量機(jī)(SVM,support vector machine)和隨機(jī)森林(RF,random forest)作為域名分類器[23]。惡意域名檢測器訓(xùn)練與測試流程如下:首先,通過已知域名黑白名單對域名數(shù)值向量進(jìn)行標(biāo)注;其次,隨機(jī)選取部分帶標(biāo)簽數(shù)據(jù)用于域名檢測器訓(xùn)練;最后,通過訓(xùn)練完成的域名檢測器檢測未知標(biāo)簽域名。

3 實驗與分析

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

實驗環(huán)境如下:Windows 7 64 位操作系統(tǒng),CPU為Intel Xeon Silver4114 2.2 GHz,64 GB RAM,GPU 為NVIDIA GeForce RTX 2080 SUPER,選取Python 3.6 實現(xiàn)所提算法。

實驗數(shù)據(jù)來源于 Malware Capture Facility Project,該項目在真實的主機(jī)和網(wǎng)絡(luò)環(huán)境中采集僵尸網(wǎng)絡(luò)、木馬等惡意程序運(yùn)行過程中產(chǎn)生的惡意流量數(shù)據(jù)和正常用戶產(chǎn)生的合法流量數(shù)據(jù)。為驗證所提方法進(jìn)行惡意域名檢測的有效性,篩選數(shù)據(jù)集中DNS 流量作為實驗數(shù)據(jù),并采用惡意軟件測試平臺VirusTotal 對所有域名進(jìn)行標(biāo)簽標(biāo)注。

3.2 實驗參數(shù)與評價指標(biāo)設(shè)置

AIEM-DNQT 算法中請求時間判別閾值τ為5 s。域名表示學(xué)習(xí)參數(shù)設(shè)置如下:域名數(shù)值向量維度設(shè)置為60,rθ設(shè)置為5,rW設(shè)置為0.05,每輪迭代負(fù)樣本數(shù)Nk為80。SVM 參數(shù)設(shè)置如下:懲罰系數(shù)C通過預(yù)實驗確定為5,核函數(shù)采用徑向基函數(shù);RF中決策樹數(shù)量通過預(yù)實驗確定為100,其余參數(shù)為默認(rèn)設(shè)置。

TP(true positive)為被正確判別為惡意域名的樣本數(shù);FP(false positive)為被錯誤判別為惡意域名的樣本數(shù);TN(true negative)為被正確判別為合法域名的樣本數(shù);FN(false negative)為被錯誤判別為合法域名的樣本數(shù)。主要參考的判別標(biāo)準(zhǔn)如下。

檢測樣本覆蓋率(C-rate,coverage rate),即檢測方法能檢測的樣本數(shù)與樣本總數(shù)的比值。

3.3 域名表示學(xué)習(xí)方法對比

為驗證所提域名表示學(xué)習(xí)方法的有效性,并分析域名數(shù)值向量在特征空間中的分布特點(diǎn),分別采用式(6)和式(7)進(jìn)行域名表示學(xué)習(xí),并采用t-SNE[24]將域名向量降至2 維進(jìn)行可視化分析,結(jié)果如圖3所示。

圖3 域名向量2 維可視化

圖3(a)為式(7)所得域名向量的2 維空間分布,域名向量呈現(xiàn)部分聚集的情況,并且位于同一聚集區(qū)域中的域名具有相同屬性。由t-SNE 的降維原理可知,在降維后的特征空間中處于同一個類簇的域名在原特征空間中也呈現(xiàn)聚類分布的特點(diǎn)。由圖3(c)與圖3(d)可知,采用式(7)進(jìn)行域名表示學(xué)習(xí)可使存在關(guān)聯(lián)關(guān)系的域名在高維特征空間中具有較小距離,不存在關(guān)聯(lián)關(guān)系的域名間距離較大,并且不同類別的域名數(shù)值向量具有較好的可區(qū)分性。圖3(b)為采用式(6)進(jìn)行域名表示學(xué)習(xí)所得的域名向量可視化結(jié)果,仍存在部分同類別的域名向量呈聚類的特點(diǎn),但通過分析圖3(e)和圖3(f)中黑色框線內(nèi)的樣本分布可知,不同類別域名向量區(qū)分性不強(qiáng),這將降低后續(xù)域名檢測器性能,產(chǎn)生較高誤報率。

3.4 域名檢測器檢測性能對比與漏報分析

按照不同比例將樣本集劃分為訓(xùn)練集與測試集,其中訓(xùn)練集用于訓(xùn)練SVM 和RF 分類器,測試集用于獲得分類評價指標(biāo)。表1 給出了不同訓(xùn)練集占比下不同分類器的實驗結(jié)果,實驗結(jié)果為進(jìn)行10 次實驗所得平均值,其中訓(xùn)練集占比為訓(xùn)練集樣本數(shù)與數(shù)據(jù)集樣本總數(shù)的比值。

表1 不同訓(xùn)練集占比下SVM、RF 檢測性能對比

由表1 可知,在相同的訓(xùn)練集占比下,SVM 的F1 分?jǐn)?shù)與準(zhǔn)確率均優(yōu)于RF,主要是因為通過2.4 節(jié)所得的域名向量在特征空間中具有較好的區(qū)分性,使通過SVM 學(xué)習(xí)得到的支持向量能較好區(qū)分不同類別域名向量,在檢測效果上優(yōu)于基于特征選擇實現(xiàn)集成決策的RF。此外,在訓(xùn)練集占比僅為30%時,SVM 的 F1 分?jǐn)?shù)可達(dá)到 0.921,說明MDND-RIQT 通過學(xué)習(xí)DN-HIN 中元路徑關(guān)聯(lián)信息和請求時間關(guān)聯(lián)信息得到區(qū)分性較好的域名向量,并結(jié)合SVM 的小樣本學(xué)習(xí)能力,取得較好檢測效果。

采用SVM 可獲得較優(yōu)的檢測指標(biāo),但由于存在漏報,各項指標(biāo)還有一定提升空間,所提檢測方法產(chǎn)生漏報的主要原因是部分惡意域名與合法域名存在關(guān)聯(lián)關(guān)系,主要包含以下2 種情況:1) 攻擊者將惡意服務(wù)器部署到云/VPS 平臺,使惡意域名的解析IP 地址與部署在同平臺的合法域名存在關(guān)聯(lián),從而造成此類惡意域名的數(shù)值向量與合法域名具有相似的數(shù)值向量分布,進(jìn)而被域名檢測器誤判為合法域名;2) 攻擊者通過滲透手段掌握部分站點(diǎn)控制權(quán)進(jìn)行惡意活動,如上傳惡意篡改軟件供用戶下載、在網(wǎng)頁中掛載惡意程序等,由于此類攻擊事件中的域名只存在與其他合法域名的關(guān)聯(lián)信息,導(dǎo)致所提方法無法檢出此類惡意域名利用方式,將此類域名誤判為合法。為減少以上兩類漏報產(chǎn)生,還需針對惡意域名的利用方式進(jìn)行分析,以提高檢測方法穩(wěn)健性。

3.5 不同關(guān)聯(lián)信息和表示學(xué)習(xí)方法的檢測性能對比

采用控制變量法設(shè)計對比實驗,以檢驗不同關(guān)聯(lián)信息與表示學(xué)習(xí)方法對檢測結(jié)果的影響,所得對比結(jié)果如表2 所示,MDND-RI 代表未采用域名請求時間關(guān)聯(lián)信息的 MDND-RIQT 方法,MDND-RIQT-Equal 為采用式(6)進(jìn)行域名表示學(xué)習(xí)的MDND-RIQT 方法。對比實驗中域名檢測器均為SVM,訓(xùn)練集占比均為70%。

表2 不同實驗設(shè)置的檢測性能對比

由表2 可知,Malshoot 的C-Rate 和檢測準(zhǔn)確率最低,其主要原因為Malshoot 僅提取域名解析IP地址的二階相似度用于域名表示學(xué)習(xí),導(dǎo)致大量域名因缺乏基于IP 地址的關(guān)聯(lián)信息而無法被檢測;MDND-RI 采用2.2 節(jié)提出的5 種元路徑關(guān)聯(lián)信息進(jìn)行域名檢測,檢測指標(biāo)較Malshoot 均有提升,其中C-Rate 增長明顯,但仍有19.1%的域名由于關(guān)聯(lián)解析信息缺失無法被檢測;MDND-RIQT-Equal 方法結(jié)合域名解析信息和請求時間兩方面的關(guān)聯(lián)信息,C-Rate 達(dá)到最高,但在將關(guān)聯(lián)信息轉(zhuǎn)化為數(shù)值向量過程中,未能區(qū)分不同域名關(guān)聯(lián)關(guān)系對目標(biāo)函數(shù)優(yōu)化的差異性影響,導(dǎo)致部分域名向量更新不足,所得F1 分?jǐn)?shù)較低。MDND-RIQT 通過結(jié)合域名元路徑和請求時間關(guān)聯(lián)信息,并采用域名關(guān)聯(lián)信息權(quán)重自適應(yīng)的域名向量學(xué)習(xí)方法進(jìn)行域名檢測,各項指標(biāo)均為最優(yōu)。

域名數(shù)值向量包含域名基于元路徑與基于請求時間的關(guān)聯(lián)信息,域名向量維度的設(shè)置影響后續(xù)域名檢測的性能。為說明域名向量維度的設(shè)置對檢測效果的影響,設(shè)置不同維度進(jìn)行實驗,實驗結(jié)果如圖4 所示。

圖4 域名向量維度對檢測性能的影響

由圖4 可知,隨著域名向量維度增加,F(xiàn)1 分?jǐn)?shù)與準(zhǔn)確率均增加并最終穩(wěn)定在一定范圍內(nèi)。當(dāng)維度設(shè)置為12,由于向量維度過小,無法有效表征域名之間豐富關(guān)聯(lián)信息,F(xiàn)1 分?jǐn)?shù)和準(zhǔn)確率取值最低;當(dāng)維度設(shè)置為72 或84 時,檢測指標(biāo)略微降低,說明維度設(shè)置過大存在一定過擬合風(fēng)險;當(dāng)維度分別設(shè)置為36、48 或60 時,檢測指標(biāo)受維度調(diào)整引起的波動較小,從而在參數(shù)調(diào)整過程中能較快取得檢測指標(biāo)較優(yōu)的向量維度設(shè)置。

3.6 與基于BP 算法的惡意域名檢測方法對比

基于圖模型的惡意域名檢測研究通?;贐P算法進(jìn)行惡意域名檢測[5-11],此類方法能在僅有少量域名節(jié)點(diǎn)帶有標(biāo)簽的情況下,通過節(jié)點(diǎn)間消息傳遞的方式為對未知標(biāo)簽域名節(jié)點(diǎn)進(jìn)行標(biāo)記,降低惡意域名檢測中對大量標(biāo)簽數(shù)據(jù)的依賴。將所提方法與基于BP 的惡意域名檢測方法[10]進(jìn)行對比,采用不同訓(xùn)練集占比進(jìn)行實驗,所得F1 分?jǐn)?shù)對比情況如圖5 所示,其中閾值用于判定域名標(biāo)簽,當(dāng)BP算法迭代收斂后,若域名標(biāo)簽數(shù)值大于閾值,判別為惡意域名。由于初始標(biāo)簽設(shè)置為0.5,分別選擇0.49 和0.51 作為閾值,以檢驗閾值設(shè)置對檢測結(jié)果的影響。

由圖5 可知,隨著訓(xùn)練集占比增加,BP 算法的F1 分?jǐn)?shù)逐漸增加并最終保持穩(wěn)定。當(dāng)訓(xùn)練集占比小于70%,BP 算法的F1 分?jǐn)?shù)受閾值設(shè)置影響較大,其主要原因如下:1) 當(dāng)訓(xùn)練集占比較小時,域名圖中大量域名節(jié)點(diǎn)初始標(biāo)簽為0.5,導(dǎo)致采用BP算法進(jìn)行節(jié)點(diǎn)標(biāo)簽更新后,其標(biāo)簽仍為0.5;2) 由于樣本集中合法域名數(shù)量遠(yuǎn)多于惡意域名數(shù)量,當(dāng)閾值設(shè)定為0.51,標(biāo)簽為0.5 的域名被判為正常域名,導(dǎo)致樣本集中少數(shù)惡意域名因標(biāo)簽為0.5 被誤判為合法域名,此時檢測誤報率較低,從而具有較高的F1 分?jǐn)?shù);當(dāng)閾值設(shè)置為0.49,導(dǎo)致大量標(biāo)簽為0.5 的合法域名被誤判為惡意,產(chǎn)生較多誤報,所得F1 分?jǐn)?shù)較小。與BP 算法相比,所提方法可在已知標(biāo)簽數(shù)據(jù)較少的情況取得較高的F1 分?jǐn)?shù)。

圖5 所提方法與BP 算法對比

4 結(jié)束語

本文提出一種結(jié)合域名解析IP 地址、別名記錄和請求時間關(guān)聯(lián)信息的惡意域名檢測方法。該方法采用HIN 表示域名解析信息,設(shè)計了基于元路徑的網(wǎng)絡(luò)遍歷方法,以提高域名關(guān)聯(lián)解析信息提取效率。引入請求時間關(guān)聯(lián)信息有效檢測弱連接域名,提高了檢測方法的樣本覆蓋率。設(shè)計了域名表示學(xué)習(xí)方法融合不同關(guān)聯(lián)信息,通過向量間歐氏距離量化域名關(guān)聯(lián)程度。實驗結(jié)果表明,所提方法在已知標(biāo)簽數(shù)據(jù)較少的情況下域名檢測效果較優(yōu)。下一步研究將引入域名注冊信息、WHOIS 信息用于域名關(guān)聯(lián)信息挖掘,進(jìn)一步提高檢測精度。

猜你喜歡
域名關(guān)聯(lián)向量
向量的分解
聚焦“向量與三角”創(chuàng)新題
“一帶一路”遞進(jìn),關(guān)聯(lián)民生更緊
如何購買WordPress網(wǎng)站域名及綁定域名
奇趣搭配
智趣
讀者(2017年5期)2017-02-15 18:04:18
向量垂直在解析幾何中的應(yīng)用
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
騰訊八百萬美元收購域名
頂級域名爭奪戰(zhàn):ICANN放出1930個通用頂級域名,申請者有上千家
瑞丽市| 岗巴县| 宁海县| 诸城市| 桐城市| 临漳县| 天峨县| 务川| 伊春市| 那坡县| 黔南| 土默特右旗| 三穗县| 洛隆县| 桐梓县| 汉源县| 临高县| 玉溪市| 龙里县| 松潘县| 凌云县| 民权县| 沙河市| 炉霍县| 海林市| 广南县| 无棣县| 云龙县| 松阳县| 石家庄市| 凤山县| 西和县| 密云县| 阜宁县| 遵义县| 军事| 丰宁| 余干县| 姜堰市| 尚志市| 南开区|