李駿韜,施勇,薛質
(上海交通大學信息安全工程學院,上海200240)
基于DNS流量和威脅情報的APT檢測
李駿韜,施勇,薛質
(上海交通大學信息安全工程學院,上海200240)
高級持續性威脅(Advanced Persistent Threat,APT)攻擊是經過精心策劃的高隱蔽性攻擊,具有較高的檢測難度。但是在APT攻擊過程中,內外網通信是必不可少的一環,攻擊者往往采用C&C服務器方式或是DNS隱蔽信道方式進行通信。針對在APT攻擊中廣泛采用的幾種隱蔽通信手段,結合了機器學習和威脅情報技術對DNS流量進行分析,在現有研究基礎上,提出了新的基于威脅情報庫的自進化檢測算法,并取得較好的檢測效果。
APT;DNS;威脅情報
APT攻擊在近年一直是網絡安全的熱點議題。APT攻擊大量采用了木馬,病毒,蠕蟲,0Day漏洞等多種不同手段進行攻擊,由于其攻擊手段復雜、多變、而且往往構造巧妙,針對常見的攻擊檢測手段進行優化規避,具有高潛伏性、難發現的特點。[1-2]
雖然APT攻擊具有多變的攻擊手段,但APT攻擊在進入了內網之后,極可能會采用一定的手段與外網的攻擊方進行通信,通常,APT攻擊會采用C&C服務器[3-4]或是DNS隱蔽信道[5]的方式進行通信,本文通過DNS流量分析和威脅情報的方式對APT攻擊進行檢測。將檢測重點放在DNS流量的原因如下:
(1)大部分C&C服務器往往采用各種DGA、Fast Flux、Double Flux等方式隱藏服務器地址,需要通過DNS協議解析C&C服務器IP。
(2)DNS流量采用明文傳輸,且與C&C服務器隱蔽通信所采用的協議無關。
(3)DNS流量占網絡流量比例較小,正常情況下僅占網絡流量的0.3%~2%,系統開銷較小。
另外,最近日漸熱門的威脅情報也成為了APT檢測的一種新思路,通過威脅情報庫,可以快速有效地將看似正常且相互獨立的攻擊進行檢測并相互關聯,提高攻擊檢測效率和檢測精度。[6]
最初的C&C服務器采用固定IP或固定域名并內嵌于通信代碼模塊中方式提供通信目的地,極易被IDS/IPS檢測到流量異常。因此演變出了Fast Flux,攻擊者注冊大量域名并指向同一IP,通過快速變化的方式,極大降低單一域名檢測到流量異常的可能性。Double Flux是Fast Flux的一種進一步,除了大量域名外,攻擊者還掌握了大量IP,域名與IP的對應關系快速變換(見圖1),進一步降低被檢測的可能性。

圖1 Double Flux原理
DGA是比Flux更加高級的一種C&C設計方法,DGA直接采用一定算法,根據種子來生成隨機域名,種子可以通過通信交互獲得,也可以預先固化在惡意程序之中,通常,DGA算法采用時間來作為隨機算法的種子生成隨機域名。
通常防火墻針對DNS所采用的53端口并不做限制,也不對DNS報文進行分析,因此,大量攻擊者通過DNS隱蔽信道的方式,進行通信,以免通信過程被防火墻阻隔。
DGA的檢測往往依賴于其較短的TTL以及隨機C&C域名未注冊等原因導致的解析失敗,通過對失效DNS解析請求進行分析以檢測DGA域名。文獻[7]認為通過DGA算法生成的隨機域名,其字母出現頻率與常見英語字母頻率有較大的不同,可以通過DNS字符出現頻率進行分析,文獻[8]則通過分析域名注冊時間和活躍度,此外,還有大量研究則通過機器學習,對DNS請求通過DNS域名長度,標簽數量,時間特征、TTL、應答相應等特征,以識別惡意DNS。
域名-IP圖方式往往用來檢測Fast Flux和Double Flux等攻擊手段。通過收集用戶的DNS響應,并構建域名-IP圖,采用置信傳播等算法,判斷域名-IP對應關系的可靠程度。[9]
本文主要選取了以下三類特征對DNS信息進行描述:
1)DNS解析內容元數據中提取的特征。
2)DNS報文屬性中提取的特征。
3)Whois域名注冊信息。
DNS解析特征主要針對DNS解析請求和應答中相關域名,IP等特征(見表1)。

表1 DNS解析特征及含義
DNS報文特征主要針對DNS報文在網絡傳輸中的特征(見表2)。

表2 DNS報文特征及含義
Whois信息主要針對域名聯系人,聯系方式,注冊日期等域名注冊相關特征(見表3)。

表3 Whois信息特征及含義
目前,常見對于DNS攻擊的檢測算法如下:無監督學習-人工干預-有監督學習-建立分類算法-測試與評估。
本文結合威脅情報庫,在傳統DNS檢測算法聚類、分類算法的基礎之上,進一步擴展,結合決策樹生成算法和專家系統,生成了包括分類算法在內的決策樹。

圖2 DNS異常檢測算法
本文通過與傳統反病毒軟件類似的靜態檢測算法,比對域名和IP,Whois聯系人信息等是否位于威脅情報庫黑名單中,快速處理典型惡意域名。針對具有稀疏特性的域名及Whois聯系人信息黑名單,本文將其存儲于傳統SQL數據庫中;信息極其緊湊的惡意服務器IP黑名單則構建一個內存開銷為496,768,048字節(式(1))的數組進行黑名單映射,可以在O(1)時間復雜度進行快速檢索。

首先,本文根據先驗知識,構建了基于DNS報文的特征的分支節點,可以有效基于統計數據將DNS隱蔽信道檢測出來:DNS報文大小超過閾值(512KB),DNS報文大小時間窗口內累計超過閾值(200Kb/s),DNS解析服務器不在白名單內,DNS報文解析異常等。
其次,決策樹通過Alexa排名(前100萬名),直接排除具有較高可信度的域名。
本文采用C4.5算法,從校園網DNS流量中通過人工審核的惡意域名中,隨機選取的10 000個以及隨機選取的5 000個正常域名作為訓練集。構建了基于Whois信息中注冊時間,升級時間,過期時間與當前時間差值(單位:天)作為分支節點的決策樹。訓練并人工剪枝后結果如圖3所示,準確率為97.57%。其中,對于網站注冊時間的決策樹分支要求偏高,但是由于過期時間時間的閾值容錯度較高,并且考慮到Whois信息可能有一定偏差,以及部分合法域名屬于待續費保全期限,注冊時間閾值并不會導致最終結果產生較大的誤判可能。此外,本文對于這一分支決策樹引入了反饋機制,當整體決策結果與該決策樹判斷結果相異的結果,則會將分支判斷的閾值調整1天。

圖3 基于Whois注冊時間信息的決策樹
最后,本文根據DNS域名特征(如表3所示)并結合了訓練集,選取了如下特征和權重作為聚類參數(見表4)。

表4 DNS域名特征聚類參數
本文采用K-Means聚類,共生成800個聚類中心,根據無監督聚類結果,選取其中超過20個點,且類中惡意域名超過80%的類作為惡意類,去除其中正常域名后,重新計算聚類中心坐標,共計322個聚類中心,經過試驗調優,設定距離閾值為661,當某一個域名坐標距離(為了簡化計算,本文采用歐氏距離的平方作為坐標距離)某個聚類中心坐標小于閾值時,分類算法將判斷該域名為惡意域名。
綜上,可以得到如下的決策樹算法(見圖4)。

圖4 基于決策樹的異常檢測算法
通常,威脅情報對于C&C服務器的情報記錄往往包括通信行為方式和通信IP,攻擊者信息等[10],本文結合DNS流量,將情報重點關注于域名,通信IP,攻擊者特征等信息。
每當一個新的DNS域名解析被判斷為惡意DNS時,這一DNS相關的特征將會被記錄在威脅情報庫中。此外,基于Whois查詢和IP反查的學習系統也會基于IP爬行并反解對應域名,并根據相應的Whois信息,域名特征等情況自動分析并擴充威脅情報庫內容。
通過在線學習和擴展的方式,基于威脅情報的檢測系統可以快速檢測已知DNS攻擊,也可以應對與已知DNS攻擊具有相似性、關聯性的未知DNS攻擊。
在對本算法的測試與評估階段,本文隨機獲取了3 986個合法域名和22 473個惡意域名用于評估。其中,本文在22 473個惡意域名隨機選取了10 000個,并通過自動化腳本獲取其相關的Whois信息,解析IP,DNS解析服務器等內容用于構建威脅情報庫,剩余12 473個惡意域名則作為測試集對檢測算法進行評估。
基于域名標簽特征的分類算法誤報率為:82/3986=2.057%。
基于域名Whois信息的決策算法分類后,82個誤判域名中有78個域名被判斷為合法域名,誤判率下降為4/3986=0.401%。
后通過人工對比相關信息,這4個域名中有2個域名已經失效,故實際誤報率為2/3986=0.201%。
另一方面,本文也對Whois信息分類算法進行了單獨評估,全部3986個合法域名中,有248個域名獲取whois信息失敗,在成功獲取Whois信息的3738個域名中,有96個域名直接通過Whois信息分類判斷,被判斷為惡意域名,誤判率為96/3738=2.57%。
基于域名標簽特征的分類算法檢出率為:8497/12473=68.12%。
進一步應用基于域名Whois信息的分類算法分類后,惡意域名檢出率下降為7162/12473=57.42%。
為了評估威脅情報庫內容擴充對檢測性能的影響,對上一評估過程中的威脅情報刪去一半,保留5000個惡意域名在威脅情報庫中。
基于域名的標簽特征分類算法檢出率為:8044/12473=64.49%。
基于 Whois信息分類算法檢測后檢出率下降為:6657/12473=53.37%。
威脅情報庫的擴充容量后,基于域名標簽特征和Whois信息的分類算法檢出率分別提升了5.63%和7.59%。
另一方面,合法域名誤判率保持了原有的0.201%,惡意域名情報庫變化并沒有導致誤判率產生明顯變化。
通過對測試結果進行評估,可以發現,本文算法對于合法域名的誤判率較低,對于未知域名,檢出率超過50%。經過人工審查未被檢測到的惡意域名,其中具有大量經過精心構造的字典式攻擊域名,其域名符合正常語言習慣,即使依靠人工判斷也難以識別。另一方面,未被檢測的惡意域名大多與用作訓練集的惡意域名差異較大,通過改變分類算法閾值,可以將檢出率提高到80%以上,但同時大幅提高了對合法域名的誤判率。
本文提出的檢測算法針對現有威脅情報庫中已包含的惡意域名,及與其近似的變種,有較好的檢測效果。本文結合了DNS檢測算法和威脅情報庫,為APT檢測算法提出了新思路。與目前常見的C&C惡意域名檢測算法相比,本文的檢測算法不局限于失效流量的檢測,而是針對正常運作的域名進行檢測,檢測更具有時效性。
本文的檢測算法對威脅情報庫信息的準確度要求高,誤列入黑名單的合法域名可能具有擴散效應,導致大量合法域名被判斷為非法域名,因此,本文檢測算法更著重于降低誤判率,由此導致對未知攻擊的漏檢率偏高,如為了避免將CDN流量誤判為惡意流量,易導致Fast Flux流量有不少漏網之魚。針對當前檢出率的不足,可以依賴于傳統機器學習檢驗算法對未知攻擊檢測的優勢,通過外部接口擴充威脅情報庫的方式彌補。筆者也會進行進一步研究,以爭取獲得更好的檢測效果。
[1] NIST.SP 800-39,Managing Information Security Risk:Organization,Mission,and Information System View[S].USA:NIST.2011:60.
[2] 陳劍峰,王強,伍淼.網絡APT攻擊及防范策略[J].信息安全與通信保密,2012(07):24-27.
[3] Phunter.C&C控制服務的設計和偵測方法綜述[EB/OL].北京:WooYun知識庫.(2015-11-06)[2016-05-25].http://drops.wooyun.org/tips/10232.
[4] IMPERVA.Advanced Persistent Threat[R].USA:IMPERVA,2012.
[5] 騰訊電腦管家.黑暗幽靈(DCM)木馬詳細分析[EB/OL].上海:FreeBuf.(2016-04-13)[2016-05-25].http://www.freebuf.com/articles/system/101447.html.
[6] 云曉春.威脅情報助力互聯網應急響應[J].信息安全與通信保密,2015(10):21.
[7] LASOTA K,KOZAKIEWICZ A.Analysis of the Similarities in Malicious DNS Domain Names[C].In The 1st FTRA International Workshop on Convergence Security in Pervasive Environments,Loutraki,Greece,June 28-30,2011:1-6.
[8] SPRING J M,METCALF L B,STONER E.Correlating Domain Registrations and DNS First Activity in General and for Malware[C].In Securing and Trusting Internet Names,NPL,Teddington,UK,April 4-5,2011.
[9] 章思宇.基于DNS流量的惡意軟件域名挖掘[D].上海:上海交通大學,2014.
[10] 楊澤明,李強,劉俊榮等.面向攻擊溯源的威脅情報共享利用研究[J].信息安全研究,2015(01):31-36.
APT Detection based on DNS Traffic and Threat Intelligence
LI Jun-tao,SHI Yong,XUE Zhi
(College of Information Security,Shanghai Jiao tong University,Shanghai 200240,China)
APT(Advanced Persistent Threat)attacks are carefully planned,sophisticated and highly-covert attacks.and it is of great difficulty to detect APT attacks.However,in the process of APT attacks,communication between the internal and external network is an essential part.Attackers often use C&C server or DNS covert channel for covert communication.For several covert methods of communication widely used in APT attacks,Domain Name System Traffic is analyzed in combination with machine learning and Threat Intelligence Technology.On the basis of the existing research,the new self-evolution detection algorithm is proposed,and fairly good results also achieved.
APT;DNS;threat intelligence
TP309.5 [文獻標志碼]A [文章編號]1009-8054(2016)07-0084-05
2016-02-10
公安部重點實驗室基金(No.C14612)
李駿韜(1992— ),男,碩士,主要研究方向為網絡攻擊防御、APT攻擊檢測;
施 勇(1979—),男,博士,講師,主要研究方向為網絡安全、網絡攻防;
薛 質(1971—),男,博士,教授,主要研究方向為網絡安全、網絡攻防。