崔甲, 施蕾, 李娟, 劉照輝, 姚原崗
(中國(guó)信息安全測(cè)評(píng)中心,北京 100089)
當(dāng)前全球網(wǎng)絡(luò)空間的國(guó)家級(jí)博弈與對(duì)抗日趨激烈,以關(guān)鍵信息基礎(chǔ)設(shè)施作為主要攻擊目標(biāo)的安全事件頻發(fā)(例如2016年的烏克蘭停電事件[1]). 在非協(xié)作網(wǎng)絡(luò)環(huán)境下,傳統(tǒng)以IP追溯(trace back)技術(shù)定位攻擊者的方法已無法作為指認(rèn)攻擊者身份的直接證據(jù),因此如何溯源真正的攻擊者及幕后組織成為難題. 美國(guó)國(guó)防部高級(jí)研究計(jì)劃局(DARPA)早在2011年就提出以革命性方法研究威脅溯源歸因的“網(wǎng)絡(luò)基因組計(jì)劃”[2],之后又于2016年提出“增強(qiáng)歸因計(jì)劃”[3],兩個(gè)計(jì)劃都是研究以惡意代碼分析、行動(dòng)基礎(chǔ)設(shè)施分析以及攻擊組織畫像為主的溯源分析關(guān)鍵技術(shù),并且它們均已成熟應(yīng)用于美國(guó)近年來針對(duì)中國(guó)等國(guó)家發(fā)布的APT報(bào)告中,例如APT1[4]、APT30[5]、APT10[6]、CAMERASHY[7]等. 大量APT報(bào)告中都包括針對(duì)域名系統(tǒng)DNS數(shù)據(jù)的檢測(cè)分析,并結(jié)合Whois等基礎(chǔ)信息庫(kù)對(duì)攻擊者的溯源分析.
作為互聯(lián)網(wǎng)核心服務(wù)的域名系統(tǒng)(domain name system,DNS),其功能是將域名和IP進(jìn)行相互映射. 由于在設(shè)計(jì)上缺乏安全驗(yàn)證機(jī)制,常作為黑客發(fā)動(dòng)網(wǎng)絡(luò)攻擊重要行動(dòng)基礎(chǔ)設(shè)施. 例如,為逃避檢測(cè)、阻斷和追蹤而采用Fast-Flux[8]技術(shù)和隨機(jī)域名生成算法DGA[9]. 國(guó)內(nèi)外安全界已認(rèn)識(shí)到分析DNS數(shù)據(jù)在發(fā)現(xiàn)、防范、預(yù)警外部網(wǎng)絡(luò)威脅等方面的重要價(jià)值.
在充分調(diào)研和深入分析已有惡意域名檢測(cè)研究成果的基礎(chǔ)上,綜合各類惡意域名檢測(cè)方法的優(yōu)缺點(diǎn),本文中提出了一個(gè)新型的惡意域名檢測(cè)框架(malicious domain detection framework,MDDF). 該框架通過綜合各檢測(cè)技術(shù)的優(yōu)勢(shì),彌補(bǔ)了各自缺點(diǎn),最終綜合每種檢測(cè)方法的評(píng)分,給出最終的域名信譽(yù)度評(píng)分,能夠客觀描述域名的惡意程度. 該框架適合部署于大型網(wǎng)絡(luò)ISP的匯聚口,如圖1所示.
圖1 MDDF惡意域名檢測(cè)框架Fig.1 Malicious domain detection framework
MDDF框架包括六部分.
① 黑/白域名過濾器. 過濾的本質(zhì)是對(duì)接入的DNS請(qǐng)求/應(yīng)答報(bào)文進(jìn)行標(biāo)記,排除包含在域名白名單對(duì)應(yīng)的DNS報(bào)文,告警域名黑名單中對(duì)應(yīng)的DNS報(bào)文,然后僅分析那些“灰色”域名的屬性,目的是減少真實(shí)分析的數(shù)據(jù)量. 域名黑白名單的獲取來源于開源威脅情報(bào)網(wǎng)站或權(quán)威網(wǎng)絡(luò)安全公司網(wǎng)站,如表1所示.
表1 域名黑白名單來源
② DNS記錄解析器. 依據(jù)RFC 1035文檔正確解析DNS報(bào)文中各個(gè)字段標(biāo)識(shí),以滿足后端3個(gè)檢測(cè)分析引擎相應(yīng)的內(nèi)容需求. 經(jīng)過DNS記錄解析器的DNS流量保存為半結(jié)構(gòu)化json結(jié)構(gòu)分別輸入3個(gè)檢測(cè)引擎,每個(gè)檢測(cè)引擎根據(jù)需求進(jìn)行域名分析.
③ 基于特征分類的檢測(cè)引擎. 通過提取解析的DNS記錄的字段特征,生成用于檢測(cè)的特征向量,并將特征向量輸入分類器進(jìn)行檢測(cè),給出相應(yīng)的域名信譽(yù)度打分FC(d). 表2給出了提取的4類DNS特征.
表2 基于特征分類的惡意域名檢測(cè)
④ 基于規(guī)則的異常檢測(cè)引擎. 該檢測(cè)引擎主要以DNS記錄的字段為主,借鑒IDS[11]和DPI檢測(cè)技術(shù),針對(duì)正常DNS請(qǐng)求應(yīng)答報(bào)文中的字段建立規(guī)則模型,凡是不符合該模型的均被認(rèn)為是異常的,給出相應(yīng)的域名信譽(yù)度打分RA(d). 例如:DNS請(qǐng)求域名的應(yīng)答IP地址指向諸如127.0.0.1、192.168.0.1的內(nèi)網(wǎng)地址;DNS請(qǐng)求域名的應(yīng)答IP地址與DNS服務(wù)器IP地址相同;DNS應(yīng)答中的TTL值過?。籇NS載荷中包含加密信息等.
⑤ 基于域名IP關(guān)聯(lián)關(guān)系的檢測(cè)引擎. 該檢測(cè)引擎只關(guān)注域名與IP的對(duì)應(yīng)關(guān)系,基于被動(dòng)DNS數(shù)據(jù)庫(kù)中的域名和IP歷史對(duì)應(yīng)關(guān)系. 首先構(gòu)建一個(gè)域名和IP的對(duì)應(yīng)二分圖,若兩個(gè)域名共享IP地址,則在域名關(guān)聯(lián)關(guān)系圖中連接兩個(gè)域名,并在兩點(diǎn)連接邊上賦權(quán)重,權(quán)重以共享IP數(shù)量為計(jì)算單位. 之后通過在該圖中基于路徑信譽(yù)度傳播算法對(duì)域名進(jìn)行信譽(yù)度DR(d)分析計(jì)算.
如圖2所示,域名D1~D6對(duì)應(yīng)IP地址I1~I(xiàn)7,D3和D6共享I2和I6,則右圖中D3和D6邊權(quán)重為2,D1和D5不共享IP,則右圖中兩點(diǎn)不連接. 假設(shè)D3確定為惡意域名,則與D3共享IP的域名為D2和D6,根據(jù)邊權(quán)重,D3和D6關(guān)聯(lián)關(guān)系更緊密,因此域名D6的惡意程度高于D2.
圖2 基于域名-IP關(guān)聯(lián)關(guān)系的方法Fig.2 Domain-IP relationship based method
⑥ 域名信譽(yù)度計(jì)算器:綜合3個(gè)檢測(cè)引擎的信譽(yù)度打分FC(d)、RA(d)和DR(d)計(jì)算域名的最終信譽(yù)度MD(d),計(jì)算方法可以采用加權(quán)平均等方法獲得.
為了驗(yàn)證MDDF框架檢測(cè)效率,捕獲了本地網(wǎng)絡(luò)出口7 d的DNS流量,并搭建了一個(gè)模擬真實(shí)網(wǎng)絡(luò)流量的實(shí)驗(yàn)平臺(tái)進(jìn)行重放. 整合了表1的白名單,共包括20 047個(gè)二級(jí)域名,同時(shí)也將黑名單數(shù)據(jù)進(jìn)行了清洗和篩選,獲得的黑名單信息如表3所示.
表3 域名黑名單信息
對(duì)于基于特征的分類檢測(cè)引擎,隨機(jī)挑選了4 d的DNS數(shù)據(jù)用于訓(xùn)練分類器模型,其中包含已經(jīng)進(jìn)行標(biāo)記的已知惡意域名對(duì)應(yīng)的DNS數(shù)據(jù). 對(duì)于基于域名-IP關(guān)聯(lián)分析的檢測(cè)引擎,申請(qǐng)了Farsight公司的(http://www.dnsdb.info)的被動(dòng)DNS查詢API,分別查詢了白名單和黑名單域名對(duì)應(yīng)的pDNS數(shù)據(jù)構(gòu)成pDNS數(shù)據(jù)庫(kù). 基于規(guī)則的異常DNS檢測(cè)使用了國(guó)內(nèi)某安全廠商的IDS產(chǎn)品進(jìn)行協(xié)同檢測(cè). 重放7 d的DNS流量進(jìn)行在線檢測(cè),并分別對(duì)3個(gè)檢測(cè)引擎檢測(cè)結(jié)果進(jìn)行評(píng)估,最后與MDDF檢測(cè)結(jié)果進(jìn)行對(duì)比.
圖3是各檢測(cè)引擎的實(shí)驗(yàn)結(jié)果對(duì)比(FC:基于特征的分類檢測(cè),RA:基于規(guī)則的異常檢測(cè),DR:基于域名IP關(guān)聯(lián)關(guān)系的檢測(cè)),從結(jié)果來看MDDF檢測(cè)效率最佳. 原因是MDDF框架綜合了當(dāng)前惡意域名檢測(cè)領(lǐng)域3種最主流的檢測(cè)方法:基于特征分類的檢測(cè)方法、基于域名IP關(guān)聯(lián)關(guān)系的檢測(cè)方法以及基于規(guī)則的異常檢測(cè)方法,雖然3種方法檢測(cè)方法和技術(shù)不同,但目標(biāo)都是對(duì)DNS報(bào)文及其包含的請(qǐng)求應(yīng)答域名進(jìn)行惡意程度分析. MDDF結(jié)合3個(gè)檢測(cè)引擎的優(yōu)勢(shì)相互補(bǔ)充并同步檢測(cè),綜合3種結(jié)果提升惡意域名的檢出率,降低誤報(bào)率.
圖3 在線檢測(cè)的實(shí)驗(yàn)結(jié)果對(duì)比Fig.3 Online DNS detection experiment results
基于特征分類的檢測(cè)方法需要從DNS報(bào)文中提取選擇度較高的特征,并需要典型且較完備的樣本集進(jìn)行訓(xùn)練以獲得較好的分類效果,但其缺點(diǎn)是如果所獲得的樣本集與真實(shí)測(cè)試集有較大區(qū)別時(shí)則分類的效果不好,需要不斷訓(xùn)練更新分類模型,同時(shí)攻擊者也容易構(gòu)造DNS報(bào)文躲避這類檢測(cè). 基于域名IP關(guān)聯(lián)關(guān)系的檢測(cè)方法則避免了基于特征分類方法的不足,利用域名與IP地址之間對(duì)應(yīng)關(guān)系對(duì)域名進(jìn)行分析,但如果所檢測(cè)域名及IP地址為攻擊者利用的新資源,并未出現(xiàn)在被動(dòng)DNS數(shù)據(jù)庫(kù)中,則該方法將失效,同時(shí)pDNS數(shù)據(jù)集作為一類高價(jià)值數(shù)據(jù)較難獲得. MDDF中引入基于DNS異常的規(guī)則檢測(cè),是從DNS報(bào)文中發(fā)現(xiàn)不符合正常DNS請(qǐng)求應(yīng)答報(bào)文的特征對(duì)DNS報(bào)文進(jìn)行分析判別,也是一種最直接有效的檢測(cè)方法,但是所導(dǎo)入的規(guī)則需要人工介入不斷總結(jié)提煉才能加以完善. MDDF綜合了上述3種域名檢測(cè)方法,將他們的優(yōu)缺點(diǎn)相互補(bǔ)充,從不同角度對(duì)DNS流量進(jìn)行分析計(jì)算,最終得到一個(gè)域名的綜合信譽(yù)評(píng)分. 3個(gè)檢測(cè)引擎內(nèi)部還可相互協(xié)作,例如基于特征分類的檢測(cè)方法能夠?qū)С鎏卣鞑⑸蓹z測(cè)規(guī)則,進(jìn)一步完善基于規(guī)則的異常檢測(cè)方法,而規(guī)則產(chǎn)生的誤報(bào)可以通過基于域名IP關(guān)聯(lián)關(guān)系的方法進(jìn)行判斷并排除誤報(bào).
借助機(jī)器學(xué)習(xí)等高級(jí)數(shù)據(jù)分析技術(shù)挖掘DNS數(shù)據(jù)來發(fā)現(xiàn)網(wǎng)絡(luò)中潛在的惡意域名是當(dāng)前網(wǎng)絡(luò)安全領(lǐng)域一個(gè)熱門研究方向,目的是從網(wǎng)絡(luò)攻擊發(fā)起的行動(dòng)性基礎(chǔ)設(shè)施入手發(fā)現(xiàn)攻擊者的行動(dòng)線索并盡早加以阻斷并及時(shí)進(jìn)行預(yù)警和防護(hù),同時(shí)也是網(wǎng)絡(luò)威脅溯源分析的一個(gè)重要支撐. 本文提出的惡意域名檢測(cè)框架MDDF主要針對(duì)流量中DNS請(qǐng)求應(yīng)答報(bào)文進(jìn)行檢測(cè)分析,框架涵蓋了3類主流的惡意域名檢測(cè)方法并且將其特點(diǎn)進(jìn)行相互補(bǔ)充,能夠達(dá)到較好的惡意域名檢測(cè)效果.