國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心江蘇分中心 蔡 冰 馬 旸 王林汝
一種惡意域名檢測(cè)技術(shù)的研究與實(shí)現(xiàn)
國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心江蘇分中心 蔡 冰 馬 旸 王林汝
研究了一種基于域名解析數(shù)據(jù)的惡意域名檢測(cè)關(guān)鍵技術(shù),針對(duì)傳統(tǒng)惡意域名檢測(cè)系統(tǒng)的不足,將“域名解析時(shí)間突發(fā)性”作為一項(xiàng)重要指標(biāo)引入至系統(tǒng)的檢測(cè)模式中,并結(jié)合大數(shù)據(jù)分析技術(shù),實(shí)現(xiàn)了一套惡意域名檢測(cè)的原型系統(tǒng)。通過使用真實(shí)域名解析數(shù)據(jù)進(jìn)行一系列測(cè)試,驗(yàn)證了算法的可用性與高效性。
域名解析; 惡意域名; 大數(shù)據(jù)分析
我國(guó)互聯(lián)網(wǎng)市場(chǎng)規(guī)模和用戶體量正處在一個(gè)高速增長(zhǎng)的階段,伴隨著信息化水平與互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,來自網(wǎng)絡(luò)安全方面的威脅也層出不窮,特別是僵尸、木馬、蠕蟲等惡意程序給我們帶來了極大的網(wǎng)絡(luò)安全威脅,網(wǎng)絡(luò)環(huán)境治理工作面臨著日益嚴(yán)峻的挑戰(zhàn)。《江蘇省互聯(lián)網(wǎng)網(wǎng)絡(luò)安全報(bào)告》中指出,2014年江蘇省內(nèi)被境內(nèi)外主機(jī)通過僵尸木馬控制的事件有189 917 016起,涉及受控IP地址661 639個(gè),黑客通過僵尸木馬等惡意程序竊取個(gè)人隱私、實(shí)施釣魚欺騙、控制個(gè)人終端,嚴(yán)重危害公共互聯(lián)網(wǎng)安全。
DNS(域名系統(tǒng))作為互聯(lián)網(wǎng)重要的基礎(chǔ)設(shè)施,它主要負(fù)責(zé)完成IP地址與域名之間的相互轉(zhuǎn)換。然而,由于DNS的開放性,黑客常會(huì)構(gòu)造眾多惡意域名用于實(shí)施網(wǎng)絡(luò)攻擊或肉雞控制[1],而這些攻擊、控制記錄都會(huì)存于DNS解析數(shù)據(jù)中,通過分析挖掘海量DNS解析數(shù)據(jù),從中發(fā)現(xiàn)其中的惡意域名是近期網(wǎng)絡(luò)安全的熱點(diǎn),也是本文的主要研究?jī)?nèi)容。
相對(duì)于傳統(tǒng)惡意域名檢測(cè)使用的惡意程序逆向、DPI(深度報(bào)文檢測(cè))技術(shù),利用DNS解析數(shù)據(jù)方法具有獨(dú)特的優(yōu)勢(shì)[2],國(guó)內(nèi)外科研機(jī)構(gòu)均開展了一系列從DNS解析數(shù)據(jù)中挖掘惡意域名的探索[3-5]。相對(duì)于傳統(tǒng)的程序逆向、DPI等基于內(nèi)容的檢測(cè)技術(shù),基于DNS數(shù)據(jù)的惡意域名檢測(cè)技術(shù)具有部署簡(jiǎn)單、覆蓋范圍廣、匹配精確等獨(dú)特優(yōu)勢(shì)。
本文在國(guó)內(nèi)外學(xué)者相關(guān)研究的基礎(chǔ)上,引入“域名訪問活躍度分布特征”這一評(píng)判指標(biāo),綜合考慮域名長(zhǎng)度、域名字符特征等因素,提出一套有效的惡意域名檢測(cè)方法; 結(jié)合大數(shù)據(jù)分析技術(shù)將理論化的檢測(cè)方法進(jìn)行了實(shí)現(xiàn),設(shè)計(jì)實(shí)現(xiàn)了基于DNS數(shù)據(jù)的惡意域名檢測(cè)關(guān)鍵技術(shù)的原型系統(tǒng); 以某省某年5 月20日1.7億條真實(shí)DNS解析記錄為原始數(shù)據(jù),驗(yàn)證了惡意域名檢測(cè)關(guān)鍵技術(shù)的正確性與有效性。
2.1 系統(tǒng)架構(gòu)
本文基于惡意域名檢測(cè)的關(guān)鍵技術(shù)構(gòu)建了一套原型系統(tǒng),系統(tǒng)主要分為兩大模塊:數(shù)據(jù)采集模塊和惡意域名檢測(cè)模塊。
1) 數(shù)據(jù)采集模塊。系統(tǒng)在設(shè)計(jì)與驗(yàn)證過程中使用的DNS數(shù)據(jù)均來自于某省運(yùn)營(yíng)商的全量DNS鏡像數(shù)據(jù),通過架設(shè)DNS采集服務(wù)器、鏡像交換機(jī)以及光電轉(zhuǎn)換等設(shè)備實(shí)現(xiàn)DNS請(qǐng)求解析數(shù)據(jù)的采集匯聚,最后將數(shù)據(jù)回傳至本地大數(shù)據(jù)中心。數(shù)據(jù)采集模塊系統(tǒng)架構(gòu)如圖1所示。
圖1 數(shù)據(jù)采集模塊結(jié)構(gòu)
2) 惡意域名檢測(cè)模塊。本地大數(shù)據(jù)中心接收到回傳來的DNS數(shù)據(jù)后,按照DNS協(xié)議字段對(duì)海量DNS解析數(shù)據(jù)進(jìn)行解析、清洗、入庫(kù),再根據(jù)系統(tǒng)設(shè)計(jì)的檢測(cè)原理進(jìn)行運(yùn)算,生成經(jīng)過判別的惡意域名結(jié)果。惡意域名檢測(cè)模塊結(jié)構(gòu)如圖2所示。
圖2 惡意域名檢測(cè)模塊結(jié)構(gòu)
2.2 檢測(cè)模式
通過長(zhǎng)期對(duì)大量惡意域名樣本進(jìn)行特征分析,本文提出了判別惡意域名三個(gè)重要模式:
模式一: 域名字符長(zhǎng)度大于x個(gè)字符。為了便于用戶的訪問,正常域名一般不會(huì)過長(zhǎng)而且具有較為明確的含義; 但惡意域名一般不會(huì)被用戶主動(dòng)訪問(即通過瀏覽器輸入網(wǎng)站地址的方式訪問),其為了避免與合法域名產(chǎn)生沖突,通常會(huì)由黑客編制特定算法生成。我們經(jīng)過對(duì)大量惡意域名進(jìn)行長(zhǎng)度特征統(tǒng)計(jì),將系統(tǒng)的第一個(gè)判別模式設(shè)置為長(zhǎng)度大于x的域名。
模式二: 域名由數(shù)字和字母混雜無序組成。通過長(zhǎng)期對(duì)域名樣本特征統(tǒng)計(jì)發(fā)現(xiàn): 正常域名大部分由純字母構(gòu)成,即使同時(shí)包括字母和數(shù)字字符,其組織規(guī)則也比較規(guī)整,數(shù)字和字母通常分開排列,且具有較明確的含義,如163.com、zhibo8.com等;但惡意域名具有生成隨機(jī)性,很大一部分惡意域名會(huì)出現(xiàn)字符和數(shù)字混雜的情況,比如已經(jīng)被證實(shí)為惡意域名的vipdn123. blackapplehost.com、exkn0md6fh.qsdgi.co、spykit.110mb.com等。
模式三: 域名解析具有時(shí)間上的突發(fā)性。域名在短時(shí)間內(nèi)被集中訪問,而在其他時(shí)間內(nèi)被請(qǐng)求解析次數(shù)極少,即我們認(rèn)為該域名的解析具有時(shí)間上的突發(fā)性。出于隱藏自身的考慮,大部分惡意域名通常存活時(shí)間只有幾分鐘到幾小時(shí),被請(qǐng)求解析次數(shù)分布非常不均勻。惡意域名被黑客控制者所控制大部分時(shí)間是處于未激活狀態(tài),其解析數(shù)量幾乎為0,=只有當(dāng)黑i客=發(fā)起攻擊指令,“肉雞”才會(huì)產(chǎn)生大量惡意域名的DNS解i析+請(qǐng)求i。+1
根據(jù)模式三的理論,我們建立了相應(yīng)的數(shù)學(xué)模型[。]一。般情況下惡意域名的活躍時(shí)間約為半小時(shí),也即半小時(shí)后該域名通常就被棄用。假設(shè)當(dāng)前待分析域名為y,設(shè)置10 min為一個(gè)時(shí)間單位對(duì)該域名的活躍度分布進(jìn)行統(tǒng)計(jì),一天分為144個(gè)時(shí)間單位,即從T1到T144,用C(y,Ti)表示2T.3i時(shí)檢間測(cè)段流內(nèi)程域名y被請(qǐng)求解析的次數(shù),在計(jì)算C(y,Ti)時(shí)考慮了Ti-1,Ti,Ti+1三個(gè)時(shí)間單位的解析次數(shù),用Σ C y , Ti表示域名y一天內(nèi)總共被請(qǐng)求解析的次數(shù)。最后用D(y)來表示域名y在短時(shí)間內(nèi)的活躍程度。模式三所對(duì)應(yīng)的數(shù)學(xué)公式如下:
根據(jù)定義可知,當(dāng)D(y)取值越大表明域名y在短時(shí)間內(nèi)活躍程度越高,成為惡意域名的幾率也就越大。
2.3 檢測(cè)流程
根檢據(jù)測(cè)2.2流節(jié)程中3項(xiàng)檢測(cè)模式,我們?cè)O(shè)計(jì)并實(shí)現(xiàn)了基于DNS數(shù)據(jù)的惡意域名檢測(cè)系統(tǒng),系統(tǒng)工作流程見圖3。
圖3 惡意域名檢測(cè)工作流程
1) 對(duì)采集的運(yùn)營(yíng)商DNS數(shù)據(jù)進(jìn)行有效性判斷,剔除格式錯(cuò)誤或缺項(xiàng)記錄,格式無誤的記錄ETL入庫(kù)至大數(shù)據(jù)分析平臺(tái);
2) 由于全量DNS數(shù)據(jù)規(guī)模龐大,首先根據(jù)收集的域名白名單樣本集對(duì)DNS數(shù)據(jù)進(jìn)行過濾,去掉對(duì)已知合法域名的請(qǐng)求解析記錄,減小后續(xù)運(yùn)算數(shù)據(jù)量;
3) 依據(jù)2.2節(jié)中模式一進(jìn)行惡意域名的第一步篩選,得到長(zhǎng)度超過x字符的域名集合;
4) 依據(jù)2.2節(jié)中模式二進(jìn)行惡意域名的第二步篩選,通過正則表達(dá)式匹配的方式,找出字符串中混雜出現(xiàn)字母和數(shù)字的域名集合;
5) 最后依據(jù)2.2節(jié)中模式三進(jìn)行惡意域名的最后一步篩選,生成最終的惡意域名。
3.1 樣本數(shù)據(jù)集
1) 惡意域名樣本共計(jì)5 000條,主要用于與系統(tǒng)分析結(jié)果相比對(duì),驗(yàn)證系統(tǒng)的有效性。該樣本主要有三個(gè)來源: 第一部分是從專業(yè)網(wǎng)站(如Malware domain list[6]、Quttera)下載的惡意域名庫(kù); 第二部分是從搜集到的流行僵尸程序樣本,如Conficker,Strom和Kraken等生成的惡意域名; 第三部分來自知名安全廠商提供的惡意域名列表。
2) 白名單樣本共計(jì)250 000條,主要用于提高系統(tǒng)檢測(cè)性能。該樣本主要有兩個(gè)來源,一是采用了Alex排名前10 000的域名以及它們的子域名,二是來自知名安全廠商提供的已知合法域名庫(kù)。
3) DNS解析記錄數(shù)據(jù)1.7億條,我們以某省某年5月20日真實(shí)DNS解析記錄為原始數(shù)據(jù)作為本系統(tǒng)分析的數(shù)據(jù)源,并預(yù)先確認(rèn)其中存有1 100個(gè)惡意域名,借此統(tǒng)計(jì)該系統(tǒng)檢測(cè)的漏報(bào)率。
實(shí)驗(yàn)使用的大數(shù)據(jù)分析集群的硬件配置為: 15臺(tái)框架式物理服務(wù)器,單臺(tái)服務(wù)器配置為2顆AMD 6320 單CPU8核心,主頻≥2.8 GHz,48 GB內(nèi)存,8塊1 TB的SATA硬盤。
3.2 系統(tǒng)測(cè)試結(jié)果
3.2.1 測(cè)試一: 僅使用模式一和模式二進(jìn)行篩選
測(cè)試一僅考慮域名長(zhǎng)度和域名字符構(gòu)成因素,而不考慮域名解析突發(fā)性的特征。擬定的惡意域名字符構(gòu)成正則表達(dá)式為:.[0-9]*.[a-zA-Z]*.[0-9]*.或.[a-zA-Z]*.[0-9]*.[a-zA-Z]*., 其中“*”表示匹配前面的子表達(dá)式任意次,“.”表示匹配除“ ”之外的任何單個(gè)字符。測(cè)試一的實(shí)驗(yàn)結(jié)果如表1所示。
表1 試測(cè)一試結(jié)
3.2.2 測(cè)試二: 僅使用模式三進(jìn)行篩選
參照測(cè)試一,僅采用模式三進(jìn)行惡意域名的篩選。測(cè)試過程中,選取了幾組不同的D(y)閾值作為惡意域名判別過濾條件,并分別統(tǒng)計(jì)了準(zhǔn)確率、誤報(bào)率和錯(cuò)誤率。不同D(y)閾值下的測(cè)試結(jié)果如表2所示。
表2 測(cè)試二結(jié)果
3.2.3 測(cè)試三: 綜合使用三個(gè)模式的進(jìn)行篩選
首先根據(jù)域名白名單對(duì)測(cè)試樣本(假設(shè)為B)進(jìn)行過濾得到B1,接著對(duì)B1按照測(cè)試一的方式進(jìn)行第一輪篩選得到B2,再次對(duì)B2按照測(cè)試二的方式計(jì)算其中各域名的D(y)值,根據(jù)設(shè)定的D(y)閾值篩選得到最終結(jié)果集B3。表3給出了當(dāng)設(shè)置域名長(zhǎng)度閾值為12、D(y)閾值為0.9時(shí)的實(shí)驗(yàn)結(jié)果。
表3 測(cè)試三結(jié)果
3.3 測(cè)試結(jié)論
通過上述三組測(cè)試我們得出結(jié)論如下:
1) 測(cè)試一僅通過DNS靜態(tài)特征(檢測(cè)模式一與模式二)進(jìn)行惡意域名的檢測(cè),測(cè)試結(jié)果誤報(bào)率過高,算法基本不具備可用性。然而,靜態(tài)特征適合作為粗粒度的檢測(cè)條件,可用于快速?gòu)臏y(cè)試樣本中提出疑似度較高的惡意域名。
2) 測(cè)試二引入域名的突發(fā)性特征檢測(cè)后(檢測(cè)模式三),系統(tǒng)準(zhǔn)確率明顯提升,誤報(bào)率較低,但由于部分惡意域名在全天的活躍度整體不高且較為離散,導(dǎo)致僅具備模式三的檢測(cè)漏報(bào)率較高。
3) 從準(zhǔn)確率上看測(cè)試三與測(cè)試二幾乎相當(dāng),但由于增添了靜態(tài)特征匹配與白名單機(jī)制,系統(tǒng)處理性能與可用性均得到了大幅提升。
本文在提出三項(xiàng)惡意域名檢測(cè)模式的基礎(chǔ)上,結(jié)合大數(shù)據(jù)分析技術(shù),構(gòu)建了一種基于DNS數(shù)據(jù)的惡意域名檢測(cè)關(guān)鍵技術(shù)的原型系統(tǒng)。為了驗(yàn)證檢測(cè)技術(shù)的有效性,利用真實(shí)的DNS解析數(shù)據(jù)對(duì)系統(tǒng)進(jìn)行了功能測(cè)試,測(cè)試結(jié)果表明經(jīng)過優(yōu)化后惡意域名檢測(cè)性能得到了較大幅度的提升,檢出率可達(dá)到85%以上。
[1]OLLMANN G. Botnet communication topologies[EB/OL]. [2015-07-02]. http:// www.docin.com/p-909121310.html.
[2]PERDISCI R, CORONA I, DAGON D, et al. Detecting malicious flux service networks through passive analysis of recursive DNS traces[C] // Proceedings of 25th Annual Computer Society Security Applications Conference(ACSAC), Honolulu, HI, USA 2009: 311-320.
[3]PASSERINI E, PALEARI R, MARTIGNONI L. Detecting and monitoring fastflux service networks[ C]// Proceedings of the 5th International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment (DIMVA). Paris France, 2008: 186-206.
[4]SANDEEP Y, ASHWATH K.K. REDDY. Detecting algorithmically generated malicious domain names[EB/OL]. [2015-07-02]. http://www.docin.com/ p-726881165.html.
[5]Ricardo, Jose Carlos. Identifying botnet using anomaly detection techniques applied to DNS traffic. [EB/OL]. [2015-07-02]. http://www.docin.com/ p-193846443.html.
[6]MALWARE DOMAIN LIST. Malware domain list[EB/OL]. [2015-07-02]. http://www.malwaredomainlist.com/mdl.php.