王曉琪 李 強,2 閆廣華 玄光哲 郭 東,2
1(吉林大學計算機科學與技術學院 長春 130012) 2(符號計算與知識工程教育部重點實驗室(吉林大學) 長春 130012) 3(吉林大學大數(shù)據(jù)和網(wǎng)絡管理中心 長春 130012) (xqwang15@mails.jlu.edu.cn)
2017-06-07;
2017-07-28
國家自然科學基金項目(61472162,61772229) This work was supported by the National Natural Science Foundation of China (61472162, 61772229).
郭東(guodong@jlu.edu.cn)
高級持續(xù)性威脅中隱蔽可疑DNS行為的檢測
王曉琪1李 強1,2閆廣華1玄光哲3郭 東1,2
1(吉林大學計算機科學與技術學院 長春 130012)2(符號計算與知識工程教育部重點實驗室(吉林大學) 長春 130012)3(吉林大學大數(shù)據(jù)和網(wǎng)絡管理中心 長春 130012) (xqwang15@mails.jlu.edu.cn)
近年來,高級持續(xù)性威脅(advanced persistent threats, APT)危害企業(yè)、組織甚至國家安全,給目標帶來了巨大的經(jīng)濟損失,其重要特征是攻擊持續(xù)時間跨度大,在目標網(wǎng)絡內長期潛伏.現(xiàn)有的安全防御措施還無法有效檢測APT.現(xiàn)有研究認為通過分析APT攻擊中目標網(wǎng)絡的DNS請求,可以幫助檢測APT攻擊.增加DNS流量中的時間特征結合變化向量分析和信譽評分方法來檢測隱蔽可疑的DNS行為.提出一種協(xié)助檢測APT的框架APDD,通過分析大量的DNS請求數(shù)據(jù)檢測長時間周期下APT中隱蔽可疑的DNS行為.將收集到的DNS請求數(shù)據(jù)執(zhí)行數(shù)據(jù)縮減并提取特征;利用變化向量分析方法(change vector analysis, CVA)和滑動時間窗口方法分析待檢測域名訪問記錄與現(xiàn)有APT相關域名之間的相似度;建立一個信譽評分系統(tǒng)對相似度較高的待檢測域名訪問記錄進行打分;APDD框架輸出一個可疑域名訪問記錄排名列表,可用于后續(xù)人工優(yōu)先分析最可疑的記錄,從而提高APT攻擊的檢測效率;利用一個大型校園網(wǎng)中收集的包含1 584 225 274條DNS請求記錄的數(shù)據(jù)加入仿真攻擊數(shù)據(jù)來驗證框架的有效性與正確性,實驗結果表明:提出的框架可以有效地檢測到APT中隱蔽可疑的DNS行為.
高級持續(xù)威脅;DNS請求數(shù)據(jù);數(shù)據(jù)縮減;變化向量分析;信譽評分
近年來,高級持續(xù)性威脅模式的攻擊不斷出現(xiàn),如Google極光、夜龍、360追日團隊揭發(fā)的海蓮花攻擊[1]、騰訊反病毒實驗室揭發(fā)的黑暗幽靈木馬[2]等.海蓮花攻擊是境外組織對國內有組織、有計劃、有針對性的長時間不間斷攻擊,通過魚叉攻擊[3]和水坑攻擊[4]等方法結合社會工程手段滲透,向特定目標傳播木馬,秘密控制目標系統(tǒng)并竊取機密資料.黑暗幽靈木馬通過監(jiān)聽常用聊天軟件的語音文字信息,接受外部指令進行遠程操控,將自動化收集到的各種信息文件打包外傳.這些利用高級持續(xù)威脅(advanced persistent threats, APT)模式的網(wǎng)絡攻擊,涉及大規(guī)模網(wǎng)絡監(jiān)控、網(wǎng)絡竊密等活動,已經(jīng)嚴重危害國家安全和用戶信息安全,其對關鍵基礎設施乃至整個經(jīng)濟社會的神經(jīng)中樞帶來了災難性后果.
APT攻擊的一個顯著特點是持續(xù)性,攻擊持續(xù)時間跨度大,在目標網(wǎng)絡內潛伏時間長,通過定制惡意軟件,利用變形、加密等技術逃避檢測,并在目標網(wǎng)絡內不斷擴散,收集和竊取高價值的數(shù)據(jù)信息并向外傳輸.根據(jù)文獻[5-7],幾乎所有APT攻擊都必須經(jīng)歷4個階段:準備、攻擊、潛伏和數(shù)據(jù)傳回.APT攻擊的檢測難處在于攻擊周期長和攻擊過程中的隱蔽性,每個攻擊環(huán)節(jié)混雜在大量正常流量中,使得APT攻擊表現(xiàn)出來的微弱信號很難被檢測到.正是因為APT的特點和難點,現(xiàn)有的安全防御措施如防火墻、反病毒工具、入侵檢測系統(tǒng)等還無法有效檢測APT.
APT通常是低速、低流量的攻擊模式.在APT最重要的訪問階段,攻擊者必須通過DNS將惡意程序、后門木馬等惡意軟件安裝到內部主機才能進一步獲得該主機的控制訪問權,在數(shù)據(jù)傳回階段,內部感染主機也需要跟外部C&C服務器建立聯(lián)系才可以將收集到的機密信息傳遞出來,總之APT經(jīng)常需要通過與DNS通信發(fā)揮作用.當前,國內外研究人員已嘗試將DNS分析用于檢測APT攻擊,Infoblox公司將其DNS Firewall[8]與FireEye 公司的惡意軟件防御系統(tǒng)整合用于防御APT.文獻[9]將DNS數(shù)據(jù)用于機器學習來檢測惡意域名;文獻[10]發(fā)現(xiàn)了DNS中域名之間的關系,提出了一種確定性算法來檢測惡意域名;文獻[11]提出了基于圖論中置信傳播的框架來檢測APT早期階段中的可疑域名;文獻[12]根據(jù)APT攻擊潛伏期的特點提取DNS數(shù)據(jù)中的特征,利用機器學習來檢測APT攻擊;文獻[13]通過提取DNS流量中的特征對域名進行分類,達到檢測惡意域名的目的.雖然以上工作在利用DNS分析APT上取得了突破,但還存在2個問題:檢測框架或方法的周期短,不符合APT持續(xù)性的特點;沒有利用到APT攻擊過程中時間這一重要特征.
為了解決現(xiàn)有工作存在的問題,本文重點關注APT攻擊在4個階段表現(xiàn)出來的與DNS數(shù)據(jù)相關的微弱信號.例如在訪問階段,攻擊者精心準備攻擊方式并且只攻擊單個主機或者很少的主機,大大降低了被檢測到的可能性;在潛伏階段,被感染的內部主機為了避免邊界檢測,幾乎不會訪問外部C&C服務器.通過擴大檢測時間窗口和加入時間相關特征來提高檢測可疑DNS行為的準確率,結合變化向量分析和信譽評分方法將低速、低流量模式下的隱蔽可疑的DNS行為突顯出來.
本文分析和總結了大量的APT攻擊報告[14],總結出APT的4個階段的持續(xù)時間周期以及APT在各個階段所表現(xiàn)出來的微弱信號(特征),提出一個協(xié)助檢測框架APDD,該框架基于CVA和信譽評分方法來檢測可疑域名訪問記錄.1)將采集到的DNS數(shù)據(jù)執(zhí)行不失真的數(shù)據(jù)縮減算法,減少數(shù)據(jù)規(guī)模可以提高數(shù)據(jù)分析和處理的效率;2)進行特征提取,總共提取了與APT活動相關的5類共10個特征;3)用第1,3類特征組成特征向量用于CVA方法得出與標準APT相關域名行為相似度較高的域名訪問記錄,將得到的域名訪問記錄輸入到一個信譽評分系統(tǒng)用第2,4,5類特征對待檢測域名訪問記錄進行打分,輸出可疑域名訪問記錄排名列表;4)從國內教育網(wǎng)中最大的校園網(wǎng)之一吉林大學校園網(wǎng)中,收集了連續(xù)99 d共1 584 225 274條的DNS請求記錄,用這些數(shù)據(jù)對算法和系統(tǒng)進行測試和評價.
本文的主要貢獻有4個方面:
1) 提出了一種協(xié)助檢測APT的系統(tǒng)框架APDD,通過分析大量的DNS請求數(shù)據(jù)來檢測隱蔽可疑的DNS行為;
2) 提出了一種不失真的數(shù)據(jù)縮減算法,降低大數(shù)據(jù)的規(guī)模,提高檢測效率;
3) 將變化向量分析方法和信譽評分方法結合,分析DNS數(shù)據(jù)中抽取出的特征,從而將DNS數(shù)據(jù)中的微弱信號突顯出來;
4) 利用吉林大學校園網(wǎng)收集的大量DNS請求數(shù)據(jù)(加入仿真的APT攻擊DNS流量)驗證方法和框架的有效性.
國內外具有代表性的相關工作主要如下:
綜述類文獻[5,15-17]分析了當前流行的APT案例,總結出APT攻擊的多階段性、特點、難點以及未來的研究方向,并沒有給出具體的檢測方法和框架.
首先介紹基于DNS的方法.
1) 佐治亞理工學院提出了一種檢測特定APT的系統(tǒng)框架ghost& rae[12],提出APT在整個過程中表現(xiàn)出來的特點:在內部網(wǎng)絡中將外部域名解析成本地或者非路由IP,只在與外界聯(lián)系時才解析成外部IP,根據(jù)該特點提取特征進行機器學習,找出與特定APT相關的外部惡意域名,然而這種方法的只針對一種特定的APT攻擊,這就使得該框架具有很大的局限性.
2) 佐治亞大學提出了Segugio系統(tǒng)[9],該系統(tǒng)在大型ISP網(wǎng)絡中可以有效的追蹤到未知的被惡意控制的域名,用大量監(jiān)測的DNS流量建立machine-domain雙邊圖,標記節(jié)點提取特征,利用機器學習方法可檢測到未知的被惡意控制的域名,該方法受ground-true數(shù)據(jù)的限制,如果被標記數(shù)據(jù)不準確產生的結果也不準確.
3) RSA實驗室提出了一種基于圖論中置信傳播的新框架來解決企業(yè)感染的早期檢測問題[11],置信傳播可以工作在以專業(yè)人員提供的被感染主機以及惡意域名為種子的模式也可以工作在沒有種子的模式,進而建立了一個C&C通信檢測器用來檢測主機與C&C服務器之間的通信,最終通過置信傳播的算法輸出可疑域名,該框架只檢測從來沒有訪問過或者很少訪問的目的地址,數(shù)據(jù)量大大減少,這也是該框架最大的限制,使得攻擊者可以采取一定技術和策略躲避檢測.
4) 卡塔爾計算研究所在他人研究基礎之上提出了一種補充的方法[10],發(fā)現(xiàn)并分析了域名之間的關聯(lián),假設與惡意域名有強關聯(lián)關系的域名也很有可能是惡意的,提出一個確定性算法檢測未知的惡意域名,該算法只能作為一種補充方法并不能獨立檢測.
5) 清華大學提出了系統(tǒng)框架IDnS[18],該系統(tǒng)使用惡意的DNS分析技術檢測可疑的APT C&C域名,然后使用基于簽名的和基于異常的檢測技術分析與可疑IP相關的流量,建立一個信譽評價引擎來計算待檢測IP地址的信譽分值.
6) 美國的東北大學和加利福尼亞大學提出一種檢測框架EXPOSURE[13],提取DNS流量中15種特征(其中9種特征之前的研究沒有提及),利用分類方法檢測惡意活動中的域名.本文與之相比,擴大了檢測周期,利用變化向量分析和信譽評分相結合的方法將長時間窗口下隱蔽可疑的DNS行為突顯出來.
除關注DNS的方法之外,意大利的University of Modena and Reggio Emilia提出了檢測數(shù)據(jù)泄露或其他APT活動所產生的微弱信號的方法[19],收集IP報頭的某些字段從數(shù)據(jù)中提取特征,然后利用信譽評價方法,輸出一個可疑內部主機的排名列表,這有助于安全人員集中分析小部分的主機.該文獻抽取的特征較少,這樣會造成結果出現(xiàn)偏差.意大利的University of Modena and Reggio Emilia還提出一種新的框架[6],大數(shù)據(jù)與安全情報相結合分析最后得出可能被感染的主機集合.該方法類似于信譽評分也是通過各種指標的分值最后得出可疑的主機排名.
本文提出的框架解決了現(xiàn)有相關工作中的2個不足之處:1)文獻[11]使用1個月的訓練數(shù)據(jù),文獻[9-10]只用大約2周的數(shù)據(jù)集,而本文的框架使用了連續(xù)99 d的DNS請求數(shù)據(jù)集,擴大檢測周期有利于發(fā)現(xiàn)APT整個過程中的長期隱蔽信號;2)文獻[9-12,18-19]中都沒有用到和時間相關的特征,APT是一種長期潛伏的攻擊模式,時間特征是一種重要的特征表現(xiàn),本文中加入時間相關特征,結合相關工作中的部分特征將APT中隱蔽可疑的DNS行為突顯出來.
檢測框架APDD通過分析大量的DNS數(shù)據(jù)來檢測隱藏在其中的與APT相關的可疑DNS行為.框架APDD的流程圖如圖1所示:
Fig. 1 APDD overview圖1 檢測框架APDD
2.1數(shù)據(jù)
通過國內教育網(wǎng)中最大的校園網(wǎng)之一的吉林大學校園網(wǎng),已經(jīng)收集了215 946臺主機設備(含無線接入)共1 584 225 274條的DNS請求記錄,這些數(shù)據(jù)可用來對算法和系統(tǒng)進行測試.為了保護個人隱私,對數(shù)據(jù)的主機IP字段進行了匿名化處理.這批數(shù)據(jù)包括了2016.05.23—2016.08.30之內連續(xù)99 d的DNS請求記錄,有源端口、內部主機IP、訪問域名、訪問日期時間等字段,根據(jù)這些數(shù)據(jù)測試框架和方法的效率和性能,也可以從這些數(shù)據(jù)總結出APT各個階段DNS數(shù)據(jù)的特征.
通過分析近期APT攻擊的報告[20-25],發(fā)現(xiàn)這些報告有明確的時間前后關系并且給出了部分相關惡意域名以及對應的訪問時間等,以不改變文獻中域名訪問時間差的方式生成6種獨立的DNS仿真數(shù)據(jù)(將仿真數(shù)據(jù)標記為S1~S6)混入到已有的DNS請求數(shù)據(jù)中.例如文獻[20]中提到了惡意域名ustar5.PassAs.us的訪問時間為03/12/2015與15/12/2015,考慮已有DNS數(shù)據(jù)的時間跨度,將域名改為exp.PassAs.us或其他格式,時間改成06/10/2016和06/22/2016生成對應的DNS記錄混入到DNS數(shù)據(jù)中去,主機IP以及訪問具體時間選擇隨機生成的方式.以上數(shù)據(jù)將在后文中用來測試算法和框架的有效性.
文獻[11]中用到的實驗數(shù)據(jù)是美國洛斯阿拉莫斯國家實驗室(Los Alamos National Laboratory, LANL)提供的DNS數(shù)據(jù),該數(shù)據(jù)集是在正常DNS流量中加入仿真攻擊數(shù)據(jù)流.本文的實驗數(shù)據(jù)是在吉林大學大數(shù)據(jù)和網(wǎng)絡管理中心收集的真實DNS數(shù)據(jù)中加入從已有APT報告中模擬出來的攻擊數(shù)據(jù)流.實驗部分用此數(shù)據(jù)集驗證提出方法和框架的有效性.
2.2數(shù)據(jù)預處理
APT攻擊整個過程時間跨度長,積累的數(shù)據(jù)量也是巨大的,在長達幾個月的時間里,數(shù)據(jù)的分析和處理異常困難,而其中絕大部分都是正常用戶訪問的記錄,這就需要一種數(shù)據(jù)縮減算法來降低數(shù)據(jù)規(guī)模,提高數(shù)據(jù)的處理效率,第3節(jié)DNS數(shù)據(jù)縮減算法中將詳細介紹提出的數(shù)據(jù)縮減算法.
2.3特征提取
介紹特征之前,先定義一些變量.
T1:APT攻擊準備階段的時間窗口;
T2:APT攻擊訪問階段的時間窗口;
T3:APT攻擊潛伏階段的時間窗口;
T4:APT攻擊數(shù)據(jù)傳回階段時間窗口;
W:T1+T2+T3+T4,整個APT攻擊時間窗口.
基于APT各階段DNS數(shù)據(jù)表現(xiàn)出來的特征以及DNS請求數(shù)據(jù)本身的特征總結列出提取的特征集合,總共提取出5類特征:
F1:域名訪問次數(shù),內部主機訪問待檢測域名的次數(shù);
F2:域名訪問時間點,內部主機訪問待檢測域名的時間點;
F3:域名訪問時間間隔,內部主機訪問待檢測域名之間的時間間隔;
F4:域名的流行程度,待檢測域名在檢測時間點之前的訪問量;
F5:域名相似度,待檢測域名與網(wǎng)址白名單之間的相似度.
1) 域名訪問次數(shù). APT攻擊是一種人為定制的攻擊模式,在整個攻擊過程中為了躲避邊界檢測,攻擊者在內部網(wǎng)絡中的行為非常小心,會非常少的訪問外部域名或者服務器,所以認為域名訪問次數(shù)少的主機-域名記錄是可疑的[19].提取內部主機在APT各個階段時間窗口內訪問待檢測域名的次數(shù)作為特征值,定義為T1_count,T2_count,T3_count,T4_count.
2) 域名訪問時間點.用戶在正常情況下的訪問時間點是有一定規(guī)律的,所以認為不正常的訪問時間點是可疑的.例如某主機在0:00—5:00時間段有訪問記錄是可疑的行為.提取APT整個過程不正常時間點的訪問次數(shù)作為特征值,定義為T_timepoint.
3) 域名訪問時間間隔.在APT的T3階段有一段很長的潛伏期,該期間攻擊者主要進行2個方面的活動:橫向移動獲取其余目標主機的訪問權限;收集有用的信息并集中起來.攻擊者會盡量的隱藏自己的行為所以幾乎不會訪問外部域名或者服務器,這就使得長時間窗口下訪問域名的時間間隔變大.所以提取各階段最接近中心點訪問記錄的時間間隔作為特征值,定義為T12_interval,T23_interval,T24_interval.
4) 域名的流行程度.經(jīng)常被內部主機訪問的網(wǎng)址基本全是受信任的,如果一個域名訪問之前從來沒有被任何一臺內部主機訪問或者很少訪問,則認為這個域名是可疑的[11],所以提取待檢測域名之前訪問過的次數(shù)作為域名流行程度的特征值,定義為raredomain.
5) 域名相似度.攻擊者可能利用與非常流行的網(wǎng)站相似的域名來實施攻擊,用戶觀察不仔細就會成為受害者,內部主機就容易被感染,如果一個域名與網(wǎng)址白名單中的網(wǎng)址相似度很高,則認為該域名是可疑的,所以提取待檢測域名與網(wǎng)址白名單中的相似度作為特征值,定義為domainsimilarity.
以上的第1,3類特征組成特征向量(T1_count,T2_count,T12_interval,T3_count,T23_interval,T4_count,T24_interval),該向量用于第2.4節(jié)的CAA算法.第2,4,5類特征用于信譽評分系統(tǒng).
2.4變化向量分析
根據(jù)最新的APT相關報告[14]以及各類綜述性論文[5,15-17]中,總結出APT整個過程的自定義標準值T1,T2,T3,T4,W,以及在各個階段中最有可能的特征值(F1,F3)組成標準特征向量F,F(xiàn)與f一樣都是7維的向量.具體的參數(shù)設置在實驗部分給出.
變化向量分析方法[26]通過對不同期的影像各個波段的數(shù)據(jù)進行差值運算,求得每個像素在各個波段的變化量,再由各個波段的變化量組成變化向量.變化向量中,變化的強度用變化向量的歐氏距離表示,變化的內容用變化向量的方向表示.變化向量分析方法的變化向量以及變化方向如圖2所示:
Fig. 2 Change vector analysis圖2 變化向量分析方法
Δvi=ri-si,i=1,2,…,n,
(1)
|Δv|=((r1-s1)2+(r2-s2)2+…+(rn-sn)2),
(2)
式(1)表示變化向量,式(2)表示變化向量的變化強度.在獲得變化向量之后,通過閾值對變化向量進行分類,將特征向量分為未變化區(qū)域和變化區(qū)域,閾值的確定可以人工進行設置也可以根據(jù)一些算法進行計算.
本文基于變化向量分析方法提出CAA算法分析待檢測域名訪問記錄的f與標準F,得出待檢測域名訪問記錄與標準APT活動的相似度(未變化向量區(qū)域即為相似度較高的區(qū)域),詳細的算法將在第4節(jié)中介紹.
Fig. 3 Reputation score圖3 信譽評分
2.5信譽評分
第2.4節(jié)得到的屬于未變化區(qū)域的域名訪問記錄存儲著與標準APT特征向量相似度較高的一部分域名訪問記錄,建立一個信譽評分系統(tǒng)結合2.2節(jié)提出的特征(F2,F(xiàn)4,F(xiàn)5)對這些記錄進行打分,最后輸出一個可疑域名訪問記錄的排名列表.信譽評分系統(tǒng)的大致流程如圖3所示:
RD(domain)計算域名流行程度raredomain,本文所指的流行程度只針對內部網(wǎng)絡,如果一個域名從來沒有被內部網(wǎng)絡中的主機訪問過或者很少訪問,認為該域名的訪問記錄是可疑的.所以將待檢測域名之前的總訪問次數(shù)作為計算值.例如在檢測ms.wifienjoy.com域名之前,整個內部網(wǎng)絡一共訪問過該域名5次,則RD值為5.RD值越小代表該域名訪問記錄越可疑.
DT(domain)計算域名訪問時間點T_timepoint,將不正常訪問時間點的域名訪問視為可疑的,在本文的實驗中將0:00—6:00的時間段作為可疑時間段.假設在W窗口下,一臺主機上某域名訪問總次數(shù)為n,在上述時間段的訪問次數(shù)為a,取DT=an,DT值越大代表該域名訪問記錄越可疑.這樣取值是為了下面Score函數(shù)的計算方便.
DS(domain)計算域名相似度domainsimilarity,有的攻擊者會利用與流行網(wǎng)站相似度高的域名實施攻擊,利用編輯距離算法求域名相似度,將待檢測域名與Alexa網(wǎng)站排名前20萬的網(wǎng)站作比較,最小的編輯距離作為DS值.DS值越小該域名的訪問記錄越可疑.
UC(domain)取2.4節(jié)中得到的待檢測域名對應的變化向量的變化強度(歐氏距離)作為UC值,變化向量求的是待檢測域名的特征向量與APT標準向量的相似度,所以變化向量的變化強度越小,即UC值越小,域名訪問記錄越可疑.
Score(domain)計算待檢測域名訪問記錄的最終分值,通過:
(3)
計算帶檢測域名訪問記錄的S值,表示該記錄的可疑程度.對于DS值,因為之前的數(shù)據(jù)預處理中已經(jīng)將網(wǎng)址白名單的訪問記錄去除,所以待檢測域名與流行網(wǎng)站的相似度是大于等于1的,不需要考慮DS=0的情況,DS取值范圍是(0,1];對于RD值,RD=0時,說明內部網(wǎng)絡中從未訪問過待檢測域名,為了區(qū)別于RD=1時的情況取1RD=1.2;對于UC值,UC=0時,該域名訪問記錄與給出的標準向量相比沒有變化,為了區(qū)別UC=1的情況取1UC=1.2.通過Score函數(shù)的計算得到一個最后的分數(shù),代表域名訪問記錄的可疑程度,值越大,代表該記錄越可疑.最終會輸出一個域名訪問記錄的可疑程度列表,安全人員可以直接分析列表中靠前的記錄,提高APT攻擊的檢測效率.
針對10億以上的DNS請求數(shù)據(jù),處理起來非常困難繁瑣,提出一種數(shù)據(jù)縮減算法如算法1所示.該算法大規(guī)模減少原始數(shù)據(jù)的規(guī)模,可以加快對數(shù)據(jù)的分析和處理效率,算法主要基于3種規(guī)則:
1) 去掉非常流行的域名請求記錄.在APT攻擊過程中,如果攻擊者想要通過攻克非常流行的網(wǎng)站發(fā)動攻擊,需要付出的代價太大,所以認為非常流行的域名請求記錄是良好的訪問行為.
2) 去掉一天中單個主機訪問單一域名次數(shù)超過α次(例如11.22.33.44主機在2016年5月26日訪問apple.com超過α次,則刪除11.22.33.44在2016.5.26所有訪問apple.com的請求記錄)的請求記錄.攻擊者為了躲避邊界檢測,會盡量少地訪問外部C&C服務器或者域名.
3) 去掉檢測時間窗口下總的訪問記錄少于β次的記錄.明顯地,長時間窗口下特別不活躍的主機對檢測系統(tǒng)是沒有幫助的,保守起見,只去掉總的訪問記錄少于5次的域名訪問記錄.
將數(shù)據(jù)的內部主機、訪問時間和訪問域名字段存入Redis數(shù)據(jù)庫中,內部主機作為鍵,時間和域名一起作為值.Redis是一個遠程內存數(shù)據(jù)庫,它不僅性能強勁,而且還具有復制特性以及為解決問題而生的獨一無二的數(shù)據(jù)模型,它還是一個高性能的支持主從同步的鍵值存儲系統(tǒng),這樣處理可以加快數(shù)據(jù)的分析和處理效率.
算法1. 數(shù)據(jù)縮減算法.
輸入:原始的DNS請求記錄raw_records;
輸出:縮減后的DNS請求記錄test_records.
/*whitelist為Alexa網(wǎng)站排名前100萬白名單集合,host_set為主機集合*/
/*規(guī)則1*/
①raw_records存儲在Redis數(shù)據(jù)庫中;
② foreachrecord∈raw_recordsdo
③ ifrecord中域名對應的頂級域名在
whitelist中then
④ 刪除record;
⑤ end if
⑥ end for
/*規(guī)則2*/
⑦ foreachhost∈host_setdo
⑧ ifhost在一天中訪問domain的次數(shù)超過α次then
⑨ 刪除當天host訪問domain的記錄;
⑩ end if
/*規(guī)則3*/
根據(jù)變化向量方法提出一種新的基于CVA的CAA算法如算法2所示,該算法加入滑動時間窗口方法,提高檢測算法的效率.CAA算法用來找到與標準APT中DNS行為相似的域名訪問記錄,屬于未變化向量區(qū)域的記錄即為相似度比較高的.
算法2. CAA算法.
輸入:經(jīng)過數(shù)據(jù)預處理后的DNS請求記錄test_records;
輸出:未變化區(qū)域的記錄unchange_f.
① do whileW_end ② foreachhost∈host_setdo ③ foreachhost訪問過的域名domainandvisitdate∈Wdo ④f=ComFeaVector(domain);*計算該域名訪問記錄的特征向量* ⑤ 將host,domain,f存儲在f_records中; ⑥ end for ⑦ end for ⑧ foreachhost,domain,f∈f_recordsdo ⑨ Δv=f-F; ⑩ if Δv的變化強度<δthen CAA算法以數(shù)據(jù)預處理之后的DNS請求記錄為輸入,test_records為初始數(shù)據(jù)經(jīng)過不失真處理之后的結果,unchange_f為輸出的屬于未變化向量區(qū)域的域名訪問記錄,該算法同時還利用了滑動時間窗口方法,以自定義的APT整個周期W為滑動時間窗口,采用滑動時間窗口方法只考慮W窗口之內的DNS請求數(shù)據(jù),降低了數(shù)據(jù)規(guī)模,減少了一次算法的運行時間,提高了算法的效率.算法主要分為3部分: 1) 設定滑動時間窗口W; 2) 針對W下的所有域名訪問記錄通過ComFeaVector函數(shù)計算得到該記錄的特征向量f; 3) 變化向量分析方法分析f得出屬于未變化向量范疇的域名訪問記錄.CAA算法的輸出結果被用于框架中的信譽評分系統(tǒng). CAA算法通過2個方面來提高運行效率:1)直接操作Redis數(shù)據(jù)庫中存儲的DNS數(shù)據(jù),Redis是一個高性能的key-value數(shù)據(jù)庫,直接運行在內存中,大大提高了算法的運行效率;2)算法還加入滑動時間窗口方法,只考慮設定時間窗口W下的數(shù)據(jù),減少了每一次分析的數(shù)據(jù)規(guī)模,提高了檢測效率.在實驗部分中,實驗表明在針對長時間周期下的大數(shù)據(jù)時算法CAA也能達到較好的效率. 利用2.1節(jié)提到的數(shù)據(jù)對提出的框架以及方法進行測試,檢測框架的目的是輸出與APT相關的可疑域名訪問記錄排名列表,可以讓安全人員優(yōu)先分析這些記錄來提高對APT攻擊的檢測以及防范. 進行實驗的目的是證明3個方面: 1) 說明提出的框架可以在真實的操作系統(tǒng)環(huán)境中實現(xiàn); 2) 驗證框架檢測與APT相關可疑域名訪問記錄的能力; 3) 驗證框架的可擴展性以及靈活性. 5.1實驗環(huán)境和數(shù)據(jù)情況 本節(jié)介紹實驗的具體環(huán)境以及使用的數(shù)據(jù)的具體情況. 在1臺4核8線程數(shù)、內存32 GB、硬盤2 T的CentOS系統(tǒng)服務器上部署提出的框架,并且在該系統(tǒng)上安裝了Redis用于存儲數(shù)據(jù),可以看出提出的框架對于硬件設備的要求是比較低的. 原始數(shù)據(jù)與經(jīng)過數(shù)據(jù)預處理后的數(shù)據(jù)的對比情況如表1所示.由表1可以看出,經(jīng)過數(shù)據(jù)縮減算法處理后DNS請求記錄大大減少,提高了數(shù)據(jù)分析和處理效率. Table 1 Scale of Data表1 數(shù)據(jù)規(guī)模 5.2參數(shù)設置和實驗結果 通過閱讀分析近年來大量的APT報告[14,20-25],總結出APT的4個階段T1~T4的時間跨度以及標準的特征向量F如表2所示: Table 2 Parameter Setting表2 參數(shù)設置 將準備階段(T1)設置為5 d,這一階段對于實驗沒有太大的影響,因為準備階段不會產生與攻擊相關的DNS流量,訪問階段(T2)設置為5 d,該階段攻擊者只會以單個主機或者少數(shù)主機為攻擊目標,為了獲得該主機的訪問控制權,目標主機一定需要訪問外部服務器或者主機這就產生了DNS流量,一旦獲得訪問控制權,為了躲避邊界檢測爭取更多的時間進行剩余的操作,該主機就會進入一定時間的潛伏期,最大的差別是在潛伏階段(T3),所以在參數(shù)設置時選取了4種不同的時間窗口來代表T3階段(分別是5 d,10 d,20 d,30 d).這一階段攻擊者只在內部網(wǎng)絡中有少許的活動并不會產生DNS流量,最后是數(shù)據(jù)回傳階段(T4),該階段設置為10 d,并不是因為數(shù)據(jù)回傳階段時間跨度也大,而是潛伏期的時間跨度不統(tǒng)一,所以將緊接的T4階段也設置大些,可以用來調節(jié)并適應T3階段的時間窗口大小.綜合分析APT攻擊的 4個階段,總結出標準特征向量F.T1_count,T3_count,T12_interval,T23_interval肯定是0,根據(jù)報告以及實際情況設置T2_count為3次,T4_count為2次,T24_interval為T2階段與T4階段最接近各個階段時間窗口中心的訪問記錄的訪問時間差(天數(shù)),T24_interval根據(jù)T3的變化而變化.對于數(shù)據(jù)縮減算法以及CAA算法中的參數(shù)設置如下:為了保守起見,數(shù)據(jù)縮減算法中的α=20,CAA算法中的β=4. 實驗結果輸出的是可疑的域名訪問記錄列表,實驗結果中仿真攻擊的檢測情況如表3所示: Table 3 Experiment Result表3 實驗結果 實驗結果表明:提出的框架可以有效地檢測到仿真攻擊數(shù)據(jù)并且排名相對靠前,都在前100排名.不難發(fā)現(xiàn),仿真攻擊樣本S5沒有被檢測出來,單獨分析S5樣本數(shù)據(jù),發(fā)現(xiàn)該攻擊潛伏周期已經(jīng)超出了實驗的參數(shù)設置范圍,經(jīng)過測試,在擴大參數(shù)T3至40 d后,實驗結果可以檢測到S5排名在5. 通過閱讀分析APT報告以及進行的4組實驗可以得出,T1,T2和T4階段的參數(shù)的大小設置比較容易,對實驗結果影響較大的是T3階段的窗口大小設置.不同的潛伏周期決定了不同的T3的值,參數(shù)設置也直接影響了實驗結果.例如,不同的實驗檢測到的攻擊樣本不同,實驗3只能檢測到S2樣本,實驗4只能檢測到S3樣本;實驗1和實驗2都檢測到了S4樣本,但是明顯的實驗2比實驗1的結果要好.所以參數(shù)設置對實驗影響較大,必須根據(jù)實際情況嚴格控制參數(shù)設置,使之達到最理想的實驗結果. 5.3實驗結果總結 通過實驗證明提出的框架具有較好的靈活性以及擴展性,試驗中只設置了4組參數(shù),參數(shù)設置對實驗結果影響較大,必須根據(jù)現(xiàn)有的APT相關報告嚴格控制參數(shù)設置,該框架可以根據(jù)實際情況更新參數(shù)的設置.整個框架都是基于特征的,一旦發(fā)現(xiàn)新的特征完全可以量化之后加入到框架中達到提高檢測的正確率和效率的效果. 根據(jù)所有的實驗結果,提出的框架有效地檢測到仿真攻擊樣本,再者提出的方法是嚴格基于APT多階段攻擊以及DNS數(shù)據(jù)本身的特點,所以有理由相信輸出的可疑域名訪問記錄排名對于安全人員快速分析檢測APT攻擊是有一定幫助的. 本文提出了一種協(xié)助檢測APT的框架APDD,用于檢測DNS數(shù)據(jù)中與APT活動相關的微弱信號,通過提取分析APT的4個階段和DNS數(shù)據(jù)本身的特征,結合變化向量分析和信譽評分系統(tǒng)的方法,最終輸出可疑域名訪問記錄的排名列表,安全人員可以優(yōu)先分析最可疑的記錄來提高APT的檢測效率. APDD是一個檢測可疑DNS行為的框架,APT攻擊是一種針對性很強的多步攻擊,在發(fā)動攻擊時只感染單個或者很少的主機數(shù),在檢測到可疑的域名訪問記錄時,安全人員可將主機和域名一起分析來提高檢測效率.框架還擁有較好的靈活性以及擴展性,可以適應潛伏周期不同的多種APT攻擊模式. 本文提出的框架和方法也有一定的局限性.如果攻擊者在潛伏期也不定期訪問外部C&C服務器則框架檢測的概率會降低,但是這樣也增大了邊界防御系統(tǒng)檢測到的概率.如果攻擊者改變了正常的攻擊模式行為,也會降低檢測率,APDD有一個很大的影響因素是參數(shù)設置,安全人員可以根據(jù)各種APT最新報告中總結出攻擊行為的變化趨勢從而改變參數(shù)設置來達到適應各種APT攻擊模式的效果. 在以后的工作中,可以借助其他方法,例如改進的機器學習、改進的圖算法等來檢測APT攻擊.除了利用DNS數(shù)據(jù),還可以收集多種日志數(shù)據(jù)進行關聯(lián)日志分析,實現(xiàn)APT攻擊過程的還原. [1] Reed T. OceanLotus malware attacks China[EB/OL]. 2015 [2017-05-23]. http://www.thesafemac.com/oceanlotus-malware-attacks-china [2] Tencent PC Manager. DCM detailed analysis[EB/OL]. 2015 [2017-05-24]. http://www.freebuf.com/articles/system/101447.html (in Chinese) (騰訊電腦管家. 黑暗幽靈(DCM)木馬詳細分析[EB/OL]. 2015 [2017-05-24]. http://www.freebuf.com/articles/system/101447.html) [3] Ekawade S, Mule S, Patkar U. Phishing attacks and its preventions[J]. Imperial Journal of Interdisciplinary Research, 2016, 2(12): 1766-1769 [4] Alrwais S, Yuan Kan, Alowaisheq E, et al. Catching predators at watering holes: Finding and understanding strategically compromised websites[C] //Proc of the 32nd Annual Conf on Computer Security Applications. New York: ACM, 2016: 153-166 [5] Li Meicong, Huang Wei, Wang Yongbin, et al. The study of APT attack stage model[C] //Proc of the 15th Int Conf on Computer and Information Science. Piscataway, NJ: IEEE, 2016: 1-5 [6] Marchetti M, Pierazzi F, Guido A, et al. Countering advanced persistent threats through security intelligence and big data analytics[C] //Proc of the 8th Int Conf on Cyber Conflict. Piscataway, NJ: IEEE, 2016: 243-261 [7] Hutchins E M, Cloppert M J, Amin R M. Intelligence-driven computer network defense informed by analysis of adversary campaigns and intrusion kill chains[J]. Leading Issues in Information Warfare & Security Research, 2011, 1(1): 80 [8] Zuo Ming. Infoblox and FireEye display a new APT defence scheme[EB/OL]. 2013 [2017-05-25]. http://security.ctocio.com.cn/363/12762363. shtml (in Chinese) (佐名. Infoblox聯(lián)合FireEye推出全新APT防御方案[EB/OL]. 2013 [2017-05-25]. http://security.ctocio.com.cn/363/12762363.shtml) [9] Rahbarinia B, Perdisci R, Antonakakis M. Segugio: Efficient behavior -based tracking of malware-control domains in large ISP networks[C] //Proc of the 45th Annual IEEE/IFIP Int Conf on Dependable Systems and Networks. Piscataway, NJ: IEEE, 2015: 403-414 [10] Khalil I, Yu Ting, Guan Bei. Discovering malicious domains through passive DNS data graph analysis[C] //Proc of the 11th ACM on Asia Conf on Computer and Communications Security. New York: ACM, 2016: 663-674 [11] Oprea A, Li Zhou, Yen Tingfeng, et al. Detection of early-stage enterprise infection by mining large-scale log data[C] //Proc of the 45th Annual IEEE/IFIP Int Conf on Dependable Systems and Networks. Piscataway, NJ: IEEE, 2015: 45-56 [12] Nadji Y. Understanding DNS-based criminal infrastructure for informing takedowns[D]. Atlanta, GA: Georgia Institute of Technology, 2015 [13] Bilge L, Kirda E, Kruegel C, et al. EXPOSURE: Finding malicious domains using passive DNS analysis[C] //Proc of the 18th Annual Network and Distributed System Security Symp. Reston, VA: Internet Society. 2011: 195-211 [14] Kbandla. APTnotes[EB/OL]. 2016 [2017-05-20]. https://github.com/kbandla/aptnotes [15] Ussath M, Jaeger D, Cheng Feng, et al. Advanced persistent threats: Behind the scenes[C] //Proc of the 50th Annual Conf on Information Science and Systems. Piscataway, NJ: IEEE, 2016: 181-186 [16] Zhou Tao. Abnormal network behavior detection technology based on statistical learning[J]. Big Data Research, 2015, 1(4): 38-47 (in Chinese) (周濤. 基于統(tǒng)計學習的網(wǎng)絡異常行為檢測技術[J]. 大數(shù)據(jù), 2015, 1(4): 38-47) [17] Fu Yu, Li Hongcheng, Wu Xiaoping, et al. Detecting APT attacks: A survey from the perspective of big data analysis[J]. Journal on Communications, 2015, 36(11): 1-14 (in Chinese) (付鈺, 李洪成, 吳曉平, 等. 基于大數(shù)據(jù)分析的 APT 攻擊檢測研究綜述[J]. 通信學報, 2015, 36(11): 1-14) [18] Zhao Guodong, Xu Ke, Xu Lei, et al. Detecting APT malware infections based on malicious DNS and traffic analysis[J]. IEEE Access, 2015, 3: 1132-1142 [19] Marchetti M, Pierazzi F, Colajanni M, et al. Analysis of high volumes of network traffic for advanced persistent threat detection[J]. Computer Networks, 2016, 109: 127-141 [20] Yip M. ELISE: Security Through Obesity[EB/OL]. 2015 [2017-05-27]. http://pwc.blogs.com/cyber_security_updates/2015/12/elise-security-through-obesity.html [21] Dell SecureWorks Counter Threat Unit Threat Intelligence. Threat Group 3390 Cyberespionage[EB/OL].2015[2017-05-27]. https://www.secureworks.com/research/threat-group-3390-targets-organizations-for-cyberespionage [22] Costin R, Maxim G. The Chronicles of the Hellsing APT: The Empire Strikes Back[EB/OL]. 2015 [2017-05-27]. https://securelist.com/analysis/publications/69567/the-chronicles-of-the-hellsing-apt-the-empire-strikes-back [23] Andy S, Nicholas G, Abel T. Monsoon Analysis of an APT Campaign[EB/OL]. 2016[2017-05-27]. http://docplayer.net/42098499- Monsoon-analysis-of-an-apt-campaign.html [24] PassiveTotal. Operation DustySky[EB/OL]. 2016[2017-05-27]. http://blog.passivetotal.org/operation-dustysky-notes [25] Reporting and Analysis Center for Information Assurance MELANI. Technical Report about the Malware used in the Cyberespionage against RUAG[EB/OL]. 2016[2017-05-27]. https://www.melani.admin.ch/melani/en/home/dokum entation/reports/technical-reports/technical-report_apt_case_ruag.html [26] Johnson R D, Kasischke E S. Change vector analysis: A technique for the multispectral monitoring of land cover and condition[J]. International Journal of Remote Sensing, 1998, 19(3): 411-426 DetectionofCovertandSuspiciousDNSBehaviorinAdvancedPersistentThreats Wang Xiaoqi1, Li Qiang1,2, Yan Guanghua1, Xuan Guangzhe3, and Guo Dong1,2 1(CollegeofComputerScienceandTechnology,JilinUniversity,Changchun130012)2(KeyLaboratoryofSymbolComputationandKnowledgeEngineering(JilinUniversity),MinistryofEducation,Changchun130012)3(CenterofBigDataandNetworkManagement,JilinUniversity,Changchun130012) In recent years, advanced persistent threats (APT) jeopardize the safety of enterprises, organizations and even countries, leading to heavy economic losses. An important feature of APT is that it can persist in attacking and can lurk in the target network for a long time. Unfortunately, we cannot detect APT effectively by current security measures. Recent researches have found that analyzing DNS request of the target network will help detect APT attacks. We add a time feature in the DNS traffic which is combined with change vector analysis (CVA) and reputation score to detect covert and suspicious DNS behavior. In this paper, we propose a new framework called APDD to detect covert and suspicious DNS behavior in long-term APT by analyzing a mass of DNS request data. We execute the data reduction algorithm on DNS request data and then extract their features. By using the CVA and the sliding time window method, we analyze the similarity between the access records of the domains to be detected and those of the related domains of current APT. We build a reputation scoring system to grade the domain access records of high similarity. The APDD framework will output a list of suspicious domain access records so that security experts are able to analyze the top-k records in the list, which will surely improve the detection efficiency of APT attacks. Finally, we use 1 584 225 274 pieces of DNS request records which come from a large campus network and then simulate the attack data to verify the effectiveness and correctness of APDD. Experiments show that the APDD framework can effectively detect covert and suspicious DNS behavior in APT. advanced persistent threats (APT); DNS request data; data reduction; change vector analysis (CVA); reputation score TP393 WangXiaoqi, born in 1992. Bachelor. His main research interests include network security and the detection of APT. LiQiang, born in 1975. PhD, associate professor. His main research interests include network security and the detection of malicious code (li_qiang@jlu.edu.cn). YanGuanghua, born in 1995. Bachelor. His main research interest is network security (yangh2113@mails.jlu.edu.cn). XuanGuangzhe, born in 1965. Bachelor, associate professor. His main research interests include network security and network management (xgz@jlu.edu.cn). GuoDong, born in 1975. PhD, lecturer. His main research interest is cloud storage security.5 實 驗
6 討論和總結