崔甲, 施蕾, 李娟, 劉照輝, 姚原崗
(中國信息安全測評中心,北京 100089)
當前全球網絡空間的國家級博弈與對抗日趨激烈,以關鍵信息基礎設施作為主要攻擊目標的安全事件頻發(例如2016年的烏克蘭停電事件[1]). 在非協作網絡環境下,傳統以IP追溯(trace back)技術定位攻擊者的方法已無法作為指認攻擊者身份的直接證據,因此如何溯源真正的攻擊者及幕后組織成為難題. 美國國防部高級研究計劃局(DARPA)早在2011年就提出以革命性方法研究威脅溯源歸因的“網絡基因組計劃”[2],之后又于2016年提出“增強歸因計劃”[3],兩個計劃都是研究以惡意代碼分析、行動基礎設施分析以及攻擊組織畫像為主的溯源分析關鍵技術,并且它們均已成熟應用于美國近年來針對中國等國家發布的APT報告中,例如APT1[4]、APT30[5]、APT10[6]、CAMERASHY[7]等. 大量APT報告中都包括針對域名系統DNS數據的檢測分析,并結合Whois等基礎信息庫對攻擊者的溯源分析.
作為互聯網核心服務的域名系統(domain name system,DNS),其功能是將域名和IP進行相互映射. 由于在設計上缺乏安全驗證機制,常作為黑客發動網絡攻擊重要行動基礎設施. 例如,為逃避檢測、阻斷和追蹤而采用Fast-Flux[8]技術和隨機域名生成算法DGA[9]. 國內外安全界已認識到分析DNS數據在發現、防范、預警外部網絡威脅等方面的重要價值.
在充分調研和深入分析已有惡意域名檢測研究成果的基礎上,綜合各類惡意域名檢測方法的優缺點,本文中提出了一個新型的惡意域名檢測框架(malicious domain detection framework,MDDF). 該框架通過綜合各檢測技術的優勢,彌補了各自缺點,最終綜合每種檢測方法的評分,給出最終的域名信譽度評分,能夠客觀描述域名的惡意程度. 該框架適合部署于大型網絡ISP的匯聚口,如圖1所示.

圖1 MDDF惡意域名檢測框架Fig.1 Malicious domain detection framework
MDDF框架包括六部分.
① 黑/白域名過濾器. 過濾的本質是對接入的DNS請求/應答報文進行標記,排除包含在域名白名單對應的DNS報文,告警域名黑名單中對應的DNS報文,然后僅分析那些“灰色”域名的屬性,目的是減少真實分析的數據量. 域名黑白名單的獲取來源于開源威脅情報網站或權威網絡安全公司網站,如表1所示.

表1 域名黑白名單來源
② DNS記錄解析器. 依據RFC 1035文檔正確解析DNS報文中各個字段標識,以滿足后端3個檢測分析引擎相應的內容需求. 經過DNS記錄解析器的DNS流量保存為半結構化json結構分別輸入3個檢測引擎,每個檢測引擎根據需求進行域名分析.
③ 基于特征分類的檢測引擎. 通過提取解析的DNS記錄的字段特征,生成用于檢測的特征向量,并將特征向量輸入分類器進行檢測,給出相應的域名信譽度打分FC(d). 表2給出了提取的4類DNS特征.

表2 基于特征分類的惡意域名檢測
④ 基于規則的異常檢測引擎. 該檢測引擎主要以DNS記錄的字段為主,借鑒IDS[11]和DPI檢測技術,針對正常DNS請求應答報文中的字段建立規則模型,凡是不符合該模型的均被認為是異常的,給出相應的域名信譽度打分RA(d). 例如:DNS請求域名的應答IP地址指向諸如127.0.0.1、192.168.0.1的內網地址;DNS請求域名的應答IP地址與DNS服務器IP地址相同;DNS應答中的TTL值過小;DNS載荷中包含加密信息等.
⑤ 基于域名IP關聯關系的檢測引擎. 該檢測引擎只關注域名與IP的對應關系,基于被動DNS數據庫中的域名和IP歷史對應關系. 首先構建一個域名和IP的對應二分圖,若兩個域名共享IP地址,則在域名關聯關系圖中連接兩個域名,并在兩點連接邊上賦權重,權重以共享IP數量為計算單位. 之后通過在該圖中基于路徑信譽度傳播算法對域名進行信譽度DR(d)分析計算.
如圖2所示,域名D1~D6對應IP地址I1~I7,D3和D6共享I2和I6,則右圖中D3和D6邊權重為2,D1和D5不共享IP,則右圖中兩點不連接. 假設D3確定為惡意域名,則與D3共享IP的域名為D2和D6,根據邊權重,D3和D6關聯關系更緊密,因此域名D6的惡意程度高于D2.

圖2 基于域名-IP關聯關系的方法Fig.2 Domain-IP relationship based method
⑥ 域名信譽度計算器:綜合3個檢測引擎的信譽度打分FC(d)、RA(d)和DR(d)計算域名的最終信譽度MD(d),計算方法可以采用加權平均等方法獲得.
為了驗證MDDF框架檢測效率,捕獲了本地網絡出口7 d的DNS流量,并搭建了一個模擬真實網絡流量的實驗平臺進行重放. 整合了表1的白名單,共包括20 047個二級域名,同時也將黑名單數據進行了清洗和篩選,獲得的黑名單信息如表3所示.

表3 域名黑名單信息
對于基于特征的分類檢測引擎,隨機挑選了4 d的DNS數據用于訓練分類器模型,其中包含已經進行標記的已知惡意域名對應的DNS數據. 對于基于域名-IP關聯分析的檢測引擎,申請了Farsight公司的(http://www.dnsdb.info)的被動DNS查詢API,分別查詢了白名單和黑名單域名對應的pDNS數據構成pDNS數據庫. 基于規則的異常DNS檢測使用了國內某安全廠商的IDS產品進行協同檢測. 重放7 d的DNS流量進行在線檢測,并分別對3個檢測引擎檢測結果進行評估,最后與MDDF檢測結果進行對比.
圖3是各檢測引擎的實驗結果對比(FC:基于特征的分類檢測,RA:基于規則的異常檢測,DR:基于域名IP關聯關系的檢測),從結果來看MDDF檢測效率最佳. 原因是MDDF框架綜合了當前惡意域名檢測領域3種最主流的檢測方法:基于特征分類的檢測方法、基于域名IP關聯關系的檢測方法以及基于規則的異常檢測方法,雖然3種方法檢測方法和技術不同,但目標都是對DNS報文及其包含的請求應答域名進行惡意程度分析. MDDF結合3個檢測引擎的優勢相互補充并同步檢測,綜合3種結果提升惡意域名的檢出率,降低誤報率.

圖3 在線檢測的實驗結果對比Fig.3 Online DNS detection experiment results
基于特征分類的檢測方法需要從DNS報文中提取選擇度較高的特征,并需要典型且較完備的樣本集進行訓練以獲得較好的分類效果,但其缺點是如果所獲得的樣本集與真實測試集有較大區別時則分類的效果不好,需要不斷訓練更新分類模型,同時攻擊者也容易構造DNS報文躲避這類檢測. 基于域名IP關聯關系的檢測方法則避免了基于特征分類方法的不足,利用域名與IP地址之間對應關系對域名進行分析,但如果所檢測域名及IP地址為攻擊者利用的新資源,并未出現在被動DNS數據庫中,則該方法將失效,同時pDNS數據集作為一類高價值數據較難獲得. MDDF中引入基于DNS異常的規則檢測,是從DNS報文中發現不符合正常DNS請求應答報文的特征對DNS報文進行分析判別,也是一種最直接有效的檢測方法,但是所導入的規則需要人工介入不斷總結提煉才能加以完善. MDDF綜合了上述3種域名檢測方法,將他們的優缺點相互補充,從不同角度對DNS流量進行分析計算,最終得到一個域名的綜合信譽評分. 3個檢測引擎內部還可相互協作,例如基于特征分類的檢測方法能夠導出特征并生成檢測規則,進一步完善基于規則的異常檢測方法,而規則產生的誤報可以通過基于域名IP關聯關系的方法進行判斷并排除誤報.
借助機器學習等高級數據分析技術挖掘DNS數據來發現網絡中潛在的惡意域名是當前網絡安全領域一個熱門研究方向,目的是從網絡攻擊發起的行動性基礎設施入手發現攻擊者的行動線索并盡早加以阻斷并及時進行預警和防護,同時也是網絡威脅溯源分析的一個重要支撐. 本文提出的惡意域名檢測框架MDDF主要針對流量中DNS請求應答報文進行檢測分析,框架涵蓋了3類主流的惡意域名檢測方法并且將其特點進行相互補充,能夠達到較好的惡意域名檢測效果.