趙宏 常兆斌 王樂
摘 要:針對(duì)互聯(lián)網(wǎng)中惡意域名攻擊事件頻發(fā),現(xiàn)有域名檢測(cè)方法實(shí)時(shí)性不強(qiáng)的問題,提出一種基于詞法特征的惡意域名快速檢測(cè)算法。該算法根據(jù)惡意域名的特點(diǎn),首先將所有待測(cè)域名按照長(zhǎng)度進(jìn)行正則化處理后賦予權(quán)值;然后利用聚類算法將待測(cè)域名劃分成多個(gè)小組,并利用改進(jìn)的堆排序算法按照組內(nèi)權(quán)值總和計(jì)算各域名小組優(yōu)先級(jí),根據(jù)優(yōu)先級(jí)降序依次計(jì)算各域名小組中每一域名與黑名單上域名之間的編輯距離;最后依據(jù)編輯距離值快速判定惡意域名。算法運(yùn)行結(jié)果表明,基于詞法特征的惡意域名快速檢測(cè)算法與單一使用域名語(yǔ)義和單一使用域名詞法的惡意域名檢測(cè)算法相比,準(zhǔn)確率分別提高1.7%與2.5%,檢測(cè)速率分別提高12.2%13.9%與6.4%6.8%這2個(gè)值對(duì)嗎?是怎么計(jì)算出來(lái)的?請(qǐng)核實(shí)?;貜?fù):現(xiàn)正確計(jì)算如下:平均檢測(cè)速率分別提高(1.56-1.37)/1.37=13.9%,(1.56-1.46)/1.46=6.8%。,具有更高的準(zhǔn)確率和實(shí)時(shí)性。
基于詞法特征的惡意域名快速檢測(cè)算法與其他的惡意域名檢測(cè)算法相比,在保持檢測(cè)速率較高的優(yōu)勢(shì)下,檢測(cè)準(zhǔn)確率達(dá)到88.7%,具有更高的準(zhǔn)確性和實(shí)時(shí)性。
基于詞法特征的惡意域名快速檢測(cè)算法與單一使用域名語(yǔ)義與詞法的惡意域名檢測(cè)算法根據(jù)準(zhǔn)確率提供的數(shù)值,此處應(yīng)該是與兩種算法比較吧,但是此處表達(dá)不準(zhǔn)確,無(wú)法區(qū)分出這兩種算法,請(qǐng)重新表述。另,英文摘要中也要體現(xiàn)出來(lái),原英文摘要里表述的是一個(gè)算法。相比,準(zhǔn)確率分別提高1.7%與2.5%,檢測(cè)速率分別提高12.2%與6.4%,具有更高的準(zhǔn)確率和實(shí)時(shí)性。
關(guān)鍵詞:惡意域名;詞法特征;檢測(cè)算法;編輯距離;實(shí)時(shí)性
中圖分類號(hào): TP391; TP393.08
文獻(xiàn)標(biāo)志碼:A
Abstract: Aiming at the problem that malicious domain name attacks frequently occur on the Internet and existing detection methods are not effective enough in performance of real time, a fast malicious domain name detection algorithm based on lexical features was proposed. According to characteristics of malicious domain name, all domain names to be tested were firstly normalized according to their lengths and the weights were given to them in the algorithm. Then a clustering algorithm was used to divide domain names to be tested into several groups, and the priority of each domain group was calculated by the improved heap sorting algorithm according to the sum of weights in group, the editing distance between each domain name in each domain name group and the domain name on blacklist was calculated in turn. Finally, malicious domain name was quickly determined according to the editing distance value. The running results of algorithm show that compared with the malicious domain name detection algorithm of only using domain name semantics and the algorithm of only using domain name lexical features, the accuracy of fast malicious domain name detection algorithm based on lexical features is increased by 1.7% and 2.5% respectively, the detection rate is increased by 13.9% and 6.8% respectively. The proposed algorithm has higher accuracy and performance of real-time.The results of algorithm show that in malicious domain names detection algorithms, the detection accuracy rate of malicious domain name is 88.7%, the detection rate is higher than other malicious domain names detection algorithms, and it has higher accuracy and performance of real-time.The results of algorithm show that compared with malicious domain name detection algorithm which only uses domain name semantics and lexical features, the accuracy of fast malicious domain name detection algorithm based on lexical features is increased by 1.7% and 2.5% respectively, the detection rate is increased by 12.2% and 6.4% respectively, and it has higher accuracy and performance of real-time.
Key words: malicious domain name; lexical feature; detection algorithm; editing distance; performance of real time
0 引言
互聯(lián)網(wǎng)技術(shù)的快速發(fā)展給人們的工作和生活帶來(lái)許多便利,同時(shí),出于不同目的的惡意網(wǎng)絡(luò)攻擊事件也層出不窮。
域名系統(tǒng)(Domain Name System, DNS)作為互聯(lián)網(wǎng)中實(shí)現(xiàn)網(wǎng)絡(luò)域名與IP地址相互轉(zhuǎn)換的一種服務(wù),得到了廣泛應(yīng)用,幾乎所有的互聯(lián)網(wǎng)應(yīng)用都需要使用DNS提供的服務(wù)對(duì)域名進(jìn)行解析,實(shí)現(xiàn)資源的定位?;ヂ?lián)網(wǎng)中的各DNS服務(wù)器分布在不同的地理位置,記錄所屬域中主機(jī)域名與IP地址的對(duì)應(yīng)關(guān)系,全球所有DNS服務(wù)器構(gòu)成一棵DNS樹,因此,要實(shí)現(xiàn)一個(gè)域名解析任務(wù),經(jīng)常需要將任務(wù)在不同的DNS服務(wù)器間進(jìn)行多次轉(zhuǎn)發(fā),直到到達(dá)目的域的DNS服務(wù)器實(shí)現(xiàn)域名解析,域名解析結(jié)果再經(jīng)過多次轉(zhuǎn)發(fā),原路返回到請(qǐng)求主機(jī)。惡意域名攻擊正是利用DNS域名解析的特點(diǎn),隨機(jī)產(chǎn)生大量不存在的域名并發(fā)出域名解析請(qǐng)求,惡意域名解析請(qǐng)求在DNS服務(wù)器間進(jìn)行多次轉(zhuǎn)發(fā),最終因找不到對(duì)應(yīng)的DNS服務(wù)器被丟棄,同時(shí),域名解析失敗原因再經(jīng)過多次轉(zhuǎn)發(fā),原路返回給請(qǐng)求主機(jī)。大量惡意域名解析任務(wù)和域名解析失敗原因在于DNS服務(wù)器間的多次轉(zhuǎn)發(fā),增加了網(wǎng)絡(luò)帶寬占用,給DNS服務(wù)器帶來(lái)沉重的額外負(fù)載,嚴(yán)重影響了正常域名解析任務(wù)的執(zhí)行。如果DNS服務(wù)器因惡意域名攻擊而宕機(jī),則依托于域名解析的所有互聯(lián)網(wǎng)服務(wù)就會(huì)停止,其結(jié)果將是災(zāi)難性的。
國(guó)家互聯(lián)網(wǎng)應(yīng)急中心(National Internet Emergency Center, CNCERT)發(fā)布的2018年第13期《網(wǎng)絡(luò)安全信息與動(dòng)態(tài)周報(bào)》[1]顯示,CNCERT監(jiān)測(cè)發(fā)現(xiàn)境內(nèi)約17萬(wàn)個(gè)DNS服務(wù)器受到惡意域名的攻擊,與前期相比增長(zhǎng)50.2%。
如何快速檢測(cè)惡意域名,提前防范惡意域名網(wǎng)絡(luò)攻擊,對(duì)于保障互聯(lián)網(wǎng)正常運(yùn)行具有重要意義。
1 研究現(xiàn)狀
從檢測(cè)特征角度看,目前惡意域名檢測(cè)方法主要包括域名查詢行為分析[2-5]和域名自然語(yǔ)言統(tǒng)計(jì)分析方法[6-9]兩大類。
域名查詢行為分析又分為主動(dòng)DNS分析與被動(dòng)DNS分析方法[10],其中,主動(dòng)DNS分析方法通過備案批量查詢和使用Nslookup工具檢測(cè)域名的合法性,由于需要在線查詢數(shù)據(jù)庫(kù),檢測(cè)過程較長(zhǎng),實(shí)時(shí)性較差[11]。被動(dòng)DNS分析方法通過分析獲取的DNS請(qǐng)求特征,檢測(cè)待測(cè)域名合法性,如Truong等[12]結(jié)合DNS流量特征,檢測(cè)流量異常DNS服務(wù)器的DNS查詢流,實(shí)現(xiàn)惡意域名檢測(cè)。左曉軍等[13]針對(duì)DGA(Domain Generate Algorithm請(qǐng)補(bǔ)充DGA的中文名稱和英文全稱)算法的僵尸網(wǎng)絡(luò)隱蔽性強(qiáng)和域名多變等特點(diǎn),提出一種基于域名系統(tǒng)流量特征的Fast-Flux檢測(cè)算法,檢測(cè)垃圾郵件、欺詐與黑名單列表的可疑域名和惡意域名。周昌令等[14]借助深度學(xué)習(xí)技術(shù),提出了一種分析DNS查詢行為的檢測(cè)算法,通過構(gòu)造兩種域名列表作為深度學(xué)習(xí)的訓(xùn)練數(shù)據(jù)并映射到向量空間,將域名的關(guān)聯(lián)分析轉(zhuǎn)化為向量的計(jì)算,利用域名的關(guān)聯(lián)性實(shí)現(xiàn)惡意域名檢測(cè)。
域名自然語(yǔ)言統(tǒng)計(jì)分析方法中,Khalil等[15]提出了一種基于DNS數(shù)據(jù)圖的網(wǎng)絡(luò)攻擊檢測(cè)算法,通過分析域名之間的關(guān)聯(lián)性并利用圖的推理技術(shù)實(shí)現(xiàn)惡意域名的檢測(cè)。周維柏等[16]提出了一種關(guān)聯(lián)規(guī)則挖掘的集中式僵尸網(wǎng)絡(luò)檢測(cè)技術(shù),利用一臺(tái)被檢測(cè)出的僵尸主機(jī),按照關(guān)聯(lián)規(guī)則分析域名之間網(wǎng)絡(luò)連線的關(guān)聯(lián)性,挖掘出潛在的惡意域名。周勇林等[17]基于域名的長(zhǎng)度屬性值、域名中存在的特殊字符、被解析的時(shí)間、解析次數(shù)以及解析結(jié)果的變化構(gòu)造檢測(cè)特征,檢測(cè)惡意域名。
以上惡意域名檢測(cè)方法各有所長(zhǎng),相比而言,基于深度學(xué)習(xí)技術(shù)的檢測(cè)方法的檢測(cè)準(zhǔn)確率較高,但耗時(shí)較長(zhǎng)。基于查詢主機(jī)活動(dòng)流量的檢測(cè)方法的數(shù)據(jù)采集周期長(zhǎng),且只對(duì)受攻擊DNS服務(wù)器為目標(biāo)的域名查詢流進(jìn)行檢測(cè),實(shí)時(shí)性和普適性都較差。域名自然語(yǔ)言統(tǒng)計(jì)分析的三種方法,雖然具有對(duì)多類型惡意域名檢測(cè)準(zhǔn)確率較高的優(yōu)點(diǎn),但是檢測(cè)耗時(shí)還是較大,實(shí)時(shí)性不強(qiáng)。
綜上,基于目前惡意域名檢測(cè)中所存在的實(shí)時(shí)性問題,本文在先驗(yàn)知識(shí)的基礎(chǔ)上提出了一種基于詞法特征的惡意域名快速檢測(cè)算法,首先,對(duì)待測(cè)域名利用聚類算法完成分類;其次,結(jié)合改進(jìn)的堆排序算法構(gòu)建組間優(yōu)先級(jí),按照組間優(yōu)先級(jí)依次計(jì)算小組內(nèi)每一域名與黑名單上域名之間的編輯距離;最后,根據(jù)編輯距離的大小快速檢測(cè)出惡意域名。
2 算法設(shè)計(jì)與分析
基于詞法特征的惡意域名快速檢測(cè)算法,分為數(shù)據(jù)標(biāo)準(zhǔn)化、權(quán)值計(jì)算、聚類分組、組間排序、域名檢測(cè)等5個(gè)步驟。其中,數(shù)據(jù)標(biāo)準(zhǔn)化是將每一域名長(zhǎng)度值轉(zhuǎn)化為[0,1]區(qū)間中的數(shù)值,降低由于解析錯(cuò)誤等原因帶來(lái)的檢測(cè)誤差;權(quán)值計(jì)算通過計(jì)算每條域名的權(quán)值,將域名詞法特征的提取轉(zhuǎn)化為數(shù)值計(jì)算;聚類分組通過聚類算法將經(jīng)過權(quán)值計(jì)算的待測(cè)域名劃分成組內(nèi)域名在長(zhǎng)度上相似的多個(gè)小組;組間排序利用改進(jìn)的堆排序算法根據(jù)小組權(quán)值之和降序構(gòu)建小頂堆組;域名檢測(cè)則按照小組優(yōu)先級(jí)依次計(jì)算域名小組中每一域名與黑名單上域名之間的編輯距離,并根據(jù)編輯距離的大小,實(shí)現(xiàn)對(duì)惡意域名的檢測(cè)。算法框架如圖1所示。
2.1 數(shù)據(jù)標(biāo)準(zhǔn)化
數(shù)據(jù)標(biāo)準(zhǔn)化主要是降低域名列表中因解析錯(cuò)誤、統(tǒng)計(jì)遺漏等原因帶來(lái)的檢測(cè)誤差,為域名聚類提供統(tǒng)一的評(píng)價(jià)標(biāo)準(zhǔn)。在已有域名列表基礎(chǔ)上,將列表中每一域名的字符串長(zhǎng)度按照式(1)進(jìn)行轉(zhuǎn)換,使其值位于[0,1]區(qū)間:
其中:si為第i個(gè)域名標(biāo)準(zhǔn)化后的值,Li為域名長(zhǎng)度,Lmax與Lmin分別為域名列表中域名長(zhǎng)度最大值與最小值。
2.2 權(quán)值計(jì)算
通過計(jì)算待測(cè)域名列表中每條域名的權(quán)值,將域名詞法特征的提取轉(zhuǎn)化為數(shù)值計(jì)算。通過式(2)對(duì)每一待測(cè)域名賦予權(quán)值,便于在排序過程中按照組內(nèi)域名權(quán)值總和,快速確定各小組的優(yōu)先級(jí),降低檢測(cè)階段時(shí)間開銷。
其中:wi為域名權(quán)值;Li為域名長(zhǎng)度;ci是與第i個(gè)域名長(zhǎng)度值相同的域名在域名列表中出現(xiàn)的次數(shù);n是經(jīng)過標(biāo)準(zhǔn)化處理后的域名總數(shù);a和b是條件常數(shù),一般取值a為1,b為0.5;D是惡意域名與合法域名長(zhǎng)度的分界經(jīng)驗(yàn)值,一般取值為15,當(dāng)域名字符串長(zhǎng)度低于15時(shí),95%的域名是合法域名[12]。
2.3 聚類分組
借鑒文獻(xiàn)[18]中支持向量機(jī)(Support Vector Machine, SVM)與AdaBoost組合并將最近鄰算法應(yīng)用其中的高效組合分類算法——IASVM(Interactive AdaBoost SVM),依據(jù)IASVM算法將經(jīng)過權(quán)值計(jì)算的待測(cè)域名劃分成組內(nèi)域名長(zhǎng)度相似的多個(gè)小組。
IASVM將SVM作為AdaBoost算法的基分類器來(lái)尋找支持點(diǎn),然后通過最近鄰算法計(jì)算每一域名權(quán)值與支持點(diǎn)之間的距離,根據(jù)域名權(quán)值與支持點(diǎn)之間的距離對(duì)待檢測(cè)域名分類,聚類過程描述如下。
1)選取經(jīng)過標(biāo)準(zhǔn)化處理后的n個(gè)待測(cè)樣本,形成大小為n的測(cè)試集T,通過計(jì)算測(cè)試集T中每一域名的權(quán)值,構(gòu)造域名權(quán)值集合W=(w1,w2,…,wn)。
2)利用測(cè)試集T中每一標(biāo)準(zhǔn)化后的樣本值si與對(duì)應(yīng)的權(quán)值wi,根據(jù)式(3)求解候選支持點(diǎn)集合P={(wi,ui)|i=1,2,…,n}:
其中: μi(i=1,2,…,n)是在經(jīng)過標(biāo)準(zhǔn)化的(s1,s2,…,sn)上選取的候選支持點(diǎn),wi(i=1,2,…,n)為域名權(quán)值。
3)將候選支持點(diǎn)集合P中的每一組候選支持點(diǎn)代入式(4)來(lái)尋找每一小組中的最優(yōu)支持點(diǎn)[19]:
其中:xi(i=1,2,…,n)是在候選支持點(diǎn)中取得的最優(yōu)支持點(diǎn),ci是與第i個(gè)域名長(zhǎng)度值相同的域名在域名列表中出現(xiàn)的次數(shù)。
4)將找到的最優(yōu)支持點(diǎn)組合成支持點(diǎn)集合ν={x1,x2,…,xm},通過式(5)計(jì)算測(cè)試集T中每一待測(cè)域名si與支持點(diǎn)集合ν中最優(yōu)支持點(diǎn)xj(j=1,2,…,m,m 通過計(jì)算測(cè)試集T中的待測(cè)域名與每一最優(yōu)支持點(diǎn)之間的距離,根據(jù)距離的大小,將與最優(yōu)支持點(diǎn)距離最小的域名劃分到該最優(yōu)支持點(diǎn)標(biāo)注的小組,且每一小組內(nèi)的域名在域名長(zhǎng)度值上具有相似性。 惡意域名與合法域名在長(zhǎng)度值與權(quán)值方面區(qū)別明顯,因此,經(jīng)過聚類分組并依據(jù)組內(nèi)域名權(quán)值總和,使得組間排序時(shí),快速確定組間優(yōu)先級(jí),便于惡意域名檢測(cè)時(shí)惡意域名黑名單先與優(yōu)先級(jí)較高的待測(cè)域名小組比較,及時(shí)封堵惡意域名、響應(yīng)合法域名的請(qǐng)求,降低檢測(cè)時(shí)間開銷,提高系統(tǒng)的實(shí)時(shí)性。聚類分組操作的偽代碼見算法1。 2.4 組間排序 聚類算法將待測(cè)域名劃分成多個(gè)小組,計(jì)算每一小組內(nèi)域名權(quán)值總和,利用改進(jìn)的堆排序算法根據(jù)小組權(quán)值總和降序構(gòu)建小頂堆組,便于惡意域名檢測(cè)時(shí)惡意域名黑名單先與優(yōu)先級(jí)較高的待測(cè)域名小組比較,及時(shí)封堵惡意域名、響應(yīng)合法域名的請(qǐng)求,降低計(jì)算資源的消耗。 傳統(tǒng)的堆排序算法分為兩步:1)根據(jù)輸入的初始數(shù)據(jù),按照堆的調(diào)整算法形成初始堆;2)通過一系列的元素交換和重新調(diào)整堆進(jìn)行排序。傳統(tǒng)堆排序過程如圖2所示。 傳統(tǒng)堆排序算法在每次形成小頂堆后,交換堆頂與堆末元素,并將剩余元素重新調(diào)整位置,構(gòu)造新的小頂堆。在將堆頂元素與堆末元素互換位置時(shí),整個(gè)序列又面臨重新建堆的問題,這無(wú)疑增加了許多數(shù)據(jù)元素不必要的移動(dòng),使得元素的比較次數(shù)與移動(dòng)次數(shù)增加,從而導(dǎo)致時(shí)間復(fù)雜度與空間復(fù)雜度都比較大,為此本文充分考慮堆排序算法中元素的比較次數(shù)與移動(dòng)次數(shù),利用一種改進(jìn)的堆排序算法根據(jù)優(yōu)先級(jí)降序?qū)⒕垲惡蟮挠蛎〗M按照組內(nèi)權(quán)值總和構(gòu)建堆。算法描述如下: 1)根據(jù)優(yōu)先級(jí)降序?qū)o(wú)序序列構(gòu)建成一個(gè)小頂堆。 2)待堆頂最小元素取出后,比較當(dāng)前空缺節(jié)點(diǎn)的左右孩子節(jié)點(diǎn),小者放入堆頂。 3)比較子樹中空缺位置的左右孩子節(jié)點(diǎn)大小,小者進(jìn)入空缺位置。 4)重復(fù)步驟2)和3),直到堆頂節(jié)點(diǎn)為空。 改進(jìn)的堆排序算法詳細(xì)過程如圖3所示,堆排序操作的偽代碼見算法2。 2.5 域名檢測(cè) 2.5.1 域名黑名單樣本構(gòu)造 收集并整理Malware domain list[20]中的惡意域名,檢測(cè)域名是否為惡意域名的黑名單樣本。 2.5.2 編輯距離計(jì)算 考慮到系統(tǒng)的實(shí)時(shí)性檢測(cè)需求,采用相對(duì)簡(jiǎn)單的編輯距離,按照域名小組間優(yōu)先級(jí)降序,依次計(jì)算各小組中每一域名與域名黑名單樣本中域名之間的編輯距離。 設(shè)str1、str2是待測(cè)域名字符串與域名黑名單中驗(yàn)證字符串,為計(jì)算兩個(gè)域名字符串之間的編輯距離,本文通過插入、刪除、替換操作計(jì)算兩個(gè)域名字符串序列的最小編輯距離。編輯距離計(jì)算如式(6)所示: 1)初始化待測(cè)字符串與驗(yàn)證字符串編輯計(jì)算矩陣。 2)從待測(cè)字符串“take”的首字母t開始,從上到下逐個(gè)字符與驗(yàn)證字符串“tke”的字符進(jìn)行比較。如果兩個(gè)字符相同,取當(dāng)前位置的左、上、左上三個(gè)位置中的最小值;若不相等,取左、上、左上三個(gè)位置中的最小值后再加1。 3)完成待測(cè)字符串與驗(yàn)證字符串編輯距離計(jì)算矩陣。 4)取矩陣右下角值為待測(cè)字符串與驗(yàn)證字符串編輯值,字符串“take”與“tke”的編輯距離值為1。 2.5.3 惡意域名識(shí)別 設(shè)待測(cè)域名字符串str1長(zhǎng)度為n,域名黑名單樣本中驗(yàn)證字符串str2長(zhǎng)度為m,兩個(gè)字符串的差異度值(Difference Degree Value, DDV)定義為兩個(gè)字符串編輯距離的2倍與兩個(gè)字符串長(zhǎng)度之和的比值,差異度值計(jì)算如式(7)所示: 式(7)中,兩個(gè)字符串差異度值與它們的編輯距離成正比,與它們的長(zhǎng)度之和成反比;兩者的編輯距離越大,差異度值就越大,相似性越小;另外,兩者的長(zhǎng)度之和越小,差異度值越大,相似性越小。 利用式(7)計(jì)算各域名小組中每一域名與域名黑名單樣本中各域名之間的差異度值,將該差異度值與設(shè)定的閾值進(jìn)行比較,當(dāng)待測(cè)域名與域名黑名單上每一域名之間的差異度值小于或者等于該閾值時(shí),則判定該域名為惡意域名;否則為合法域名,閾值一般設(shè)定為0.15[21]。 3 實(shí)驗(yàn)與分析 3.2 數(shù)據(jù)集 為驗(yàn)證本文算法的性能,從Alexa[22]和Malware domain list中獲得10000個(gè)域名,其中有8000個(gè)合法域名和2000個(gè)惡意域名。首先把收集的2000個(gè)惡意域名分為兩部分,其中70%的惡意域名與8000個(gè)合法域名作為訓(xùn)練數(shù)據(jù)集。另外,30%的惡意域名作為測(cè)試數(shù)據(jù)集。詳細(xì)數(shù)據(jù)來(lái)源如表2所示。 3.3 評(píng)價(jià)指標(biāo) 為評(píng)估本文算法在惡意域名檢測(cè)時(shí)的性能,使用平均檢測(cè)速率(Average Detection Rate, ADR)和平均檢測(cè)準(zhǔn)確率(Average Detection Accuracy, AMA),計(jì)算公式如式(8)和(9)所示: 其中:TP表示惡意域名被正確識(shí)別的數(shù)量,T表示檢測(cè)消耗的總時(shí)間,S表示測(cè)試數(shù)據(jù)集中惡意域名總數(shù)。 3.4 實(shí)驗(yàn)及結(jié)果分析 為驗(yàn)證本文惡意域名檢測(cè)算法的有效性,將上述待測(cè)域名作為惡意域名檢測(cè)算法模型的輸入值,檢測(cè)出的惡意域名作為算法的輸出值,在相同的實(shí)驗(yàn)環(huán)境下分別構(gòu)造文獻(xiàn)[8]基于域名語(yǔ)義的惡意域名檢測(cè)算法模型和文獻(xiàn)[9]基于域名詞法特征的惡意域名檢測(cè)算法模型以及本文惡意域名檢測(cè)算法模型,并進(jìn)行實(shí)驗(yàn)對(duì)比,對(duì)比結(jié)果如圖5所示。 分析圖5可知,文獻(xiàn)[8]基于域名語(yǔ)義的惡意域名檢測(cè)算法模型平均檢測(cè)速率約為1.37個(gè)/s,平均檢測(cè)準(zhǔn)確率波動(dòng)范圍為86%~88%;文獻(xiàn)[9]基于域名詞法特征的惡意域名檢測(cè)算法模型平均檢測(cè)速率約為1.46個(gè)/s,平均檢測(cè)準(zhǔn)確率波動(dòng)范圍為84%~87%;經(jīng)過分析檢測(cè)錯(cuò)誤原因發(fā)現(xiàn),被誤報(bào)成合法域名的惡意域名都存在一個(gè)共同點(diǎn),即這些惡意域名都是由多個(gè)詞法或語(yǔ)義表達(dá)相近的合法域名與合法域名或合法域名與惡意域名組合而成,而本文惡意域名檢測(cè)算法模型在域名語(yǔ)義的基礎(chǔ)上加入域名詞法特征后,平均檢測(cè)速率約為1.56個(gè)/s,平均檢測(cè)準(zhǔn)確率波動(dòng)范圍為88%~89%。在平均檢測(cè)準(zhǔn)確率分別提高1.7%與2.5%的情況下,平均檢測(cè)速率分別提高12.2%13.9%與6.4%6.8%根據(jù)表3中的數(shù)值,提高比例的計(jì)算公式應(yīng)為(1.56-1.37)/1.37=13.9%,而不是12.2%;另一個(gè)為(1.56-1.46)/1.46=6.8%,而不是6.4%。不知道12.2%與6.4%是怎么計(jì)算出來(lái)的?請(qǐng)明確一下。摘要中的數(shù)值也要隨這個(gè)數(shù)值變更吧?,較好地檢測(cè)出多個(gè)詞法或語(yǔ)義表達(dá)相近的合法域名與合法域名或合法域名與惡意域名組合而成的惡意域名。具體比較結(jié)果如表3所示。 通過表3可知,單一使用合法域名與惡意域名在語(yǔ)義方面或詞法特征方面的區(qū)別,尚不足以對(duì)惡意域名進(jìn)行準(zhǔn)確的檢測(cè),但在域名語(yǔ)義的基礎(chǔ)上加入域名詞法特征后,在平均檢測(cè)準(zhǔn)確率分別提高1.7%與2.5%的情況下,平均檢測(cè)速率分別提高12.2%13.9%與6.4%6.8%問題同上,具有更好的準(zhǔn)確性與實(shí)時(shí)性。 3.5 同類相關(guān)工作對(duì)比 在相同的實(shí)驗(yàn)環(huán)境下分別構(gòu)造文獻(xiàn)[3]、[7]與文獻(xiàn)[8]惡意域名檢測(cè)算法模型和本文惡意域名檢測(cè)算法模型,并進(jìn)行性能比較,具體結(jié)果如表4所示。 由表4可以看出,本文惡意域名檢測(cè)算法模型在執(zhí)行時(shí)間與檢測(cè)速率方面,優(yōu)于文獻(xiàn)[3]、[7]、[8]惡意域名檢測(cè)算法模型,具有較高的檢測(cè)速率;在準(zhǔn)確率方面,本文檢測(cè)算法模型優(yōu)于文獻(xiàn)[8]惡意域名檢測(cè)算法模型,與文獻(xiàn)[7]惡意域名檢測(cè)算法模型準(zhǔn)確率相當(dāng)。綜合考慮算法執(zhí)行時(shí)間、檢測(cè)速率、準(zhǔn)確率等方面,本文所提出的基于詞法特征的惡意域名快速檢測(cè)算法明顯優(yōu)于其他三種惡意域名檢測(cè)算法。 4 結(jié)語(yǔ) 針對(duì)現(xiàn)有域名檢測(cè)方法實(shí)時(shí)性不強(qiáng)的問題,本文提出了一種基于詞法特征的惡意域名快速檢測(cè)算法。首先利用聚類算法對(duì)待測(cè)域名完成分類;其次,結(jié)合改進(jìn)的堆排序算法構(gòu)建組間優(yōu)先級(jí),按照組間優(yōu)先級(jí)依次計(jì)算小組內(nèi)每一域名與黑名單上域名之間的編輯距離;最后,根據(jù)編輯距離值的大小快速檢測(cè)出惡意域名。與傳統(tǒng)基于單一使用語(yǔ)義和詞法的惡意域名檢測(cè)算法比較,在檢測(cè)準(zhǔn)確性和實(shí)時(shí)性上表現(xiàn)良好,具有較好的實(shí)用價(jià)值。 參考文獻(xiàn) (References) [1] 網(wǎng)絡(luò)安全信息與動(dòng)態(tài)周報(bào).第13期互聯(lián)網(wǎng)安全威脅報(bào)告[EB/OL]. [2018-04-01]. http://www.cert.org.cn/publish/main/44/2018/20180404150414268888501/20180404150414268888501_201html.(National Internet Emergency Center. 13th Internet security threat report [EB/OL]. [2018-04-01]. http://www.cert.cn./publish/main/44/20180404150414268888501/20180404150414268888501_.html.) [2] WANG T S, LIN H T, CHENG W T, et al. DBod: clustering and detecting DGA-based botnets using DNS traffic analysis [J]. Computers & Security, 2016, 64: 1-15. [3] 牛偉納,張小松,孫恩博,等.基于流相似性的兩階段P2P僵尸網(wǎng)絡(luò)檢測(cè)方法[J].電子科技大學(xué)學(xué)報(bào),2017,46(6):902-906.(NIU W N, ZHANG X S, SUN E B, et al. Two-stage peer-to-peer zombie network detection method based on flow similarity [J]. Journal of University of Electronic Science and Technology of China, 2017, 46(6): 902-906.) [4] POMOROVA O, SAVENKO O, LYSENKO S, et al. A technique for the botnet detection based on DNS-traffic analysis [C]// Proceedings of the 22nd International Conference on Computer Networks. Berlin: Springer, 2015: 127-138. [5] YU B, OLUMOFIN F, SMITH L, et al. Behavior analysis based DNS tunneling detection and classification with big data technologies [C]// Proceedings of the 2016 International Conference on Internet of Things and Big Data. Setubal: SciTePress, 2016: 284-290. [6] PERDISCI R, CORONA I, DAGON D, et al. Detecting malicious flux service networks through passive analysis of recursive DNS traces [C]// Proceedings of the 25th Computer Security Applications Conference. Washington, DC: IEEE Computer Society, 2009: 311-320. [7] 張維維,龔儉,劉茜,等.基于詞素特征的輕量級(jí)域名檢測(cè)算法[J].軟件學(xué)報(bào),2016,27(9):2348-2364.(ZHANG W W, GONG J, LIU Q, et al. Lightweight domain name detection algorithm based on morpheme features [J]. Journal of Software, 2016, 27(9): 2348-2364. [8] 黃誠(chéng),劉嘉勇,劉亮,等.基于上下文語(yǔ)義的惡意域名語(yǔ)料提取模型研究[J].計(jì)算機(jī)工程與應(yīng)用,2018,54(9):101-108.(HUANG C, LIU J Y, LIU L, et al. Research on the extraction model of malicious domain name corpus based on context semantics [J]. Computer Engineering and Applications, 2018, 54(9):101-108.) [9] WANG W, SHIRLEY K. Breaking bad: detecting malicious domains using word segmentation [J]. ArXiv Preprint, 2015, 2015:1506.04111. [10] 張洋,柳廳文,沙泓州,等.基于多元屬性特征的惡意域名檢測(cè)[J].計(jì)算機(jī)應(yīng)用,2016,36(4):941-944.(ZHANG Y, LIU T W, SHA H Z, et al. Detection of malicious domain names based on multivariate attribute features [J]. Journal of Computer Applications, 2016, 36(4): 941-944.) [11] 劉愛江,黃長(zhǎng)慧,胡光俊.基于改進(jìn)神經(jīng)網(wǎng)絡(luò)算法的木馬控制域名檢測(cè)方法[J].電信科學(xué),2014,30(7):39-42.(LIU A J, HUANG C H, HU G J. A method of Trojan control domain name detection based on improved neural network algorithm [J]. Telecommunications Science, 2014, 30(7): 39-42.) [12] TRUONG D-T, CHENG G, AHMAD J, et al. Detecting DGA-based botnet with DNS traffic analysis in monitored network [J]. Journal of Internet Technology, 2016, 17(2): 217-230. [13] 左曉軍,董立勉,曲武.基于域名系統(tǒng)流量的Fast-Flux僵尸網(wǎng)絡(luò)檢測(cè)方法[J].計(jì)算機(jī)工程,2017,43(9):185-193.(ZUO X J, DONG L M, QU W. Fast-Flux zombie network detection based on domain name system traffic [J]. Computer Engineering, 2017, 43(9): 185-193.) [14] 周昌令,欒興龍,肖建國(guó).基于深度學(xué)習(xí)的域名查詢行為向量空間嵌入[J].通信學(xué)報(bào),2016,37(3):165-174.(ZHOU C L, LUAN X L, XIAO J G. Domain name query behavior vector space embedding based on depth learning [J]. Journal on Communications, 2016, 37(3): 165-174.) [15] KHALIL I, YU T, GUAN B. Discovering malicious domains through passive DNS data graph analysis [C]// Proceedings of the 11th ACM Asia Conference on Computer and Communications Security. New York: ACM, 2016: 663-674. [16] 周維柏,李蓉.基于關(guān)聯(lián)規(guī)則挖掘的集中式僵尸網(wǎng)絡(luò)檢測(cè)[J].蘭州理工大學(xué)學(xué)報(bào),2016,42(6):109-113.(ZHOU W B, LI R. Centralized zombie network detection based on association rules mining [J]. Journal of Lanzhou University of Technology, 2016, 42(6): 109-113.) [17] 周勇林,由林麟,張永錚.基于命名及解析行為特征的異常域名檢測(cè)方法[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(20):50-52.(ZHOU Y L, YOU L L, ZHANG Y Z. An anomaly domain name detection method based on naming and analytic behavior features [J]. Computer Engineering and Applications, 2011, 47(20): 50-52.) [18] 陳春萍.基于SVM與AdaBoost組合的分類算法研究[D].西安:西安電子科技大學(xué),2012.(CHEN C P. Research on classification algorithm based on SVM and AdaBoost combination [D]. Xian: Xidian University, 2012.) [19] ZHANG W. Relief feature selection and parameter optimization for support vector machine based on mixed kernel function [J/OL]. International Journal of Performability Engineering, 2018, 14(2) [2018-02-20]. http://www.ijpe-online.com/relief-feature-selection-and-parameter-optimization-for-support-vector-machine-based-on-mixed-kernel-function.html#axzz5TzKru9vC. [20] Malware domain list. Malware domain list [EB/OL]. [2018-05-08]. http://www.malwaredomainlist.com.php. [21] 羅文塽,曹天杰.基于非用戶操作序列的惡意軟件檢測(cè)方法[J].計(jì)算機(jī)應(yīng)用,2018,38(1):56-60.(LUO W S, CAO T J. A malicious software detection method based on non-user operation sequence [J]. Journal of Computer Applications, 2018, 38(1): 56-60.) [22] Alexa Top Global Sites. Alexa top global sites [EB/OL]. [2018-05-08]. http://www.alexa.com/topsites.