?

DGA 域名與APT 攻擊技術研究

2022-03-02 09:24趙煜尹川銘向媛媛
網絡安全技術與應用 2022年9期
關鍵詞:域名攻擊者解析

◆趙煜 尹川銘 向媛媛

(國家計算機網絡應急技術處理協調中心山東分中心 山東 250002)

隨著網絡安全防護技術的不斷發展,傳統的惡意程序很難逃出安全防護設施的監測,傳統的惡意程序將C2 服務器的地址直接嵌入程序中,通過逆向分析后阻斷C2 服務器地址即可阻斷整個僵尸網絡。

速變Domain-flux 與Fast-flux 技術的誕生,解決了C2 服務器的隱藏問題,受控主機中的惡意程序通過快速變化的域名與C2 服務器建立網絡連接,給網絡安全威脅監測與阻斷帶來了挑戰。尤其是近年來具有政治屬性的APT 組織越來越活躍,DGA 域名已經成為APT攻擊過程中內外網通信與隱藏C2 服務器的常用手段。本文通過對DGA 域名生成算法,Domain-flux 與Fast-flux 技術,及APT 攻擊的常用攻擊方式研究,提出了一種通過深度神經網絡學習識別出DGA域名,結合威脅情報分析研判,用以實現對APT 攻擊的有效感知的方法。

1 DGA 算法與AGD 域名技術

DGA(Domain Generation Algorithm)域名生成算法,是一種算法機制,主要用來生成大量的隨機域名 AGD(Algorithmically Generated Domain),以便逃避安全設施的檢測[1]。DGA 域名常常被僵尸網絡用來隱藏受控主機與C2 服務器間的通信行為,攻擊者與受控主機使用同一套DGA 算法,生成相同的大量備選AGD 域名,選擇個別的域名進行注冊解析,就可以實現受控主機與C2 服務器間網絡連接的建立,進而發起進一步的攻擊[2]。因為只有阻斷所有的AGD域名才能有效阻斷受控主機與C2 服務器的通信,大量動態變化的隨機域名使得傳統的基于黑名單的安全防護手段無法有效發揮作用。

DGA 算法可以通過多種特殊的域名生成算法來生成AGD 域名,主要有算術、哈希、排列組合等。

(1)算術方式:該方式根據ASCII 編碼的數值進行算術運算生成AGD 域名,該方式較為容易實現。

(2)哈希方式:該方式使用哈希算法,如MD5、SHA-1、SHA-256等,截取一定長度的哈希數值形成AGD 域名。

(3)排列組合方式:該方式從字符集或字典中選取一定的字符或單詞進行復制排列組合生成AGD 域名,字符集或字典可以內嵌在惡意程序中也可以從網絡中獲取,若使用字典則可以模擬出與正常域名相似度很高的AGD 域名,具有很強的迷惑性。

DGA 算法除了特殊的域名生成算法外,通常還需要種子變量作為DGA 算法的輸入參數,以保持攻擊者與受控主機間生成相同的AGD 域名集合。種子分為兩類,時間類的種子和確定類的種子[3]。

(1)時間類的種子:使用時間作為DGA 算法的輸入,如:系統時間、網絡時鐘時間、HTTP 響應中的時間信息等。

(2)確定的種子:使用特定的字符或信息作為DGA 算法的輸入,如固定的ASCII 字符串、某種貨幣的匯率、微博上的關鍵詞等。

2 Domain-flux 與Fast-flux 技術

Domain-flux 及速變域名技術,受控主機中的惡意程序通過快速變化的域名與C2 服務器建立網絡連接,以達到隱藏C2 服務器與逃避安全防護手段檢測的目標,其核心算法是內嵌在惡意程序中的DGA 域名生成算法[4]。

Fast-flux 技術的核心功能是實現域名解析IP 的不斷變化,以達到隱藏真實C2 服務器的目的。為了實現域名與IP 地址間映射關系的快速變化,攻擊者需要維護一個IP 地址列表從中周期性的選取IP與域名形成映射關系,并且為了更好實現映射關系的快速變化攻擊者往往需要搭建自己的域名解析服務器。

(1)Single-flux 網絡。在此網絡中,攻擊者為了將C2 服務器隱藏,IP 地址列表中的IP 地址往往并不是具有命令控制功能的C2 服務器,而是代理節點(稱為:flux-agent,通常由被控主機組成)。flux-agent 在收到被控主機的數據后,最終會轉發給具有命令控制功能的C2 服務器(稱為:mothership),由mothership 服務器響應被控主機的請求,并通過flux-agent 轉發給被控主機[5]。

(2)Double-flux 網絡。在此網絡中,攻擊者為了進一步隱藏自己搭建的DNS 解析服務器,將DNS 解析服務器納入Fast-flux 網絡中。攻擊者需要搭建多個DNS 解析服務器,并不斷修改頂級域名服務器中對應底層服務器的IP 地址與NS 記錄,以實現負責解析域名的解析DNS 服務器的不斷變化,由于頂級域名服務器非攻擊者所有,為避免被監測發現,解析DNS 服務器的變化往往較慢。

3 APT 攻擊

APT(Advanced Persistent Threat)高級持續威脅,往往由于特定的組織發起(稱為:APT 組織),利用各種先進的攻擊手段,對高價值目標進行的有組織、長期持續性網絡攻擊行為。有的APT 組織具有國家背景,用以竊取他國的國家機密,破壞網絡基礎設施,擾亂正常的經濟持續,具有較強的政治屬性。APT 攻擊具有高級性、持續性、威脅性、隱秘性、潛伏性、多態性等特點[6],尤其是近年來APT攻擊表現出強烈的跨平臺屬性,除了傳統的Windows 與Linux 桌面平臺,逐漸向物聯網、移動網絡、工控系統、車載智能平臺等方面滲透,這就使得傳統的監測防御體系很難對APT 攻擊進行有效的防御。

APT 攻擊的常用手法有:魚叉攻擊、水坑攻擊、零日漏洞、路過式下載、社會工程學等[7]。

(1)魚叉攻擊(Spear Phishing),這種類型的攻擊對象一般是特定組織機構的成員,根據目標特點屬性,發生包含木馬程序的具有迷惑性的郵件,誘使其感染木馬程序,以便開展進一步的攻擊。

(2)水坑攻擊(Water Holing),這種類型的攻擊需要分析被攻擊者的網絡訪問習慣,通過在被攻擊者經常訪問的網站上植入木馬,在被攻擊者訪問網站時實現對攻擊者的攻擊,最終達到入侵的目的。

(3)零日漏洞(Zero-day Exploit,0day),零日漏洞沒有被公開,通常沒有有效的監測防御手段,具有很高的隱蔽性不易被發現,可以實現安全防護軟件的免殺,APT 攻擊者可利用零日漏洞可以入侵目標網絡,進而開展數據竊取等進一步攻擊。

(4)路過式下載(Drive-by download),這種類型的攻擊通常由于被攻擊者的主機安全策略設置存在漏洞,或者使用的瀏覽器存在漏洞,惡意程序不需要用戶同意即可自行下載運行。另一種情況是惡意程序偽裝成正常的彈窗誘騙用戶點擊下載并運行。

(5)社會工程學,這類攻擊通常是利用被攻擊者的社會心理屬性,通過分析或者欺騙的方式獲取重要敏感數據。

APT 的攻擊過程可以分為四個階段,探測、入侵、潛伏、退出[8]。

(1)探測階段,該階段主要的目的是完成信息的收集,APT 組織通過網絡安全技術、社會工程學等技術手段,收集目標資產的IP、端口及被攻擊機構與員工的信息等,分析目標資產可能的風險點,為進一步攻擊做好準備。

(2)入侵階段,該階段主要的目的是使用各種手段入侵目標資產,在用戶不知情的情況下部署木馬或后門程序,獲取主機的控制權,為數據的竊取做好準備。

(3)潛伏階段,該階段主要為竊取信息做準備并等候最佳的攻擊時機。APT 組織會進行必要的內網滲透,并具備向外傳輸數據的條件,當接到指令后,部署在目標主機的惡意程序會使用隱蔽隧道向APT 代理節點傳輸數據,完成數據的竊取,必要時會破壞目標資產的服務,導致設施運行異?;蛑袛?。

(4)退出階段,該階段主要為隱藏攻擊來源,惡意程序會清除系統日志數據,恢復修改過的相關配置,消除運行痕跡并進行自我銷毀,防止被取證分析隱藏真實的攻擊來源。

4 一種基于DGA 域名檢測的APT 攻擊感知方法

為了繞過安全防護手段的監測,目前絕大多數的僵尸網絡都使用了Domain-flux 的DGA 技術,僵尸網絡又是APT 組織常用的攻擊手段,因此可以基于DGA 域名監測結合威脅情報數據,可以實現對APT 攻擊進行快速有效的檢測感知。

DGA 技術的檢測技術可以分為主動與被動兩種方式。主動方式主要通過內容識別實現,但是因為DGA 域名大多無法解析,因此,該方法大多情況不適用。被動方式有黑名單、機器學習等。目前通常采用機器學習的被動方式對域名進行分類,實現惡意域名的檢查。在機器學習的算法中CNN 深度神經網絡因可以處理圖像與詞語間關系,且在二分類中表現出色,可以用來進行DGA 監測。

CNN 神經網絡的誕生主要是為了解決圖像處理問題。CNN 檢測的圖像通常是二維數據,而作為DGA 域名的子域名雖是一維的文本數據,但同樣可以用CNN 進行處理。在DGA 域名檢測中,使用一維的卷積函數處理DGA 域名片段,以提煉高級特征進一步分析。

DGA 域名檢測階段,DGA 域名檢測模型主要由卷積層、池化層、全連接層等部分組成,卷積層分別使用長度為3,4,5 的卷積核進行過濾,池化層采用最大池化的方式進行組合,通過對正常域名與DGA域名訓練樣本的學習,得到一個可以區分DGA 域名的分類模型,用以實現對DGA 域名的檢測。

DGA 域名分析研判階段,將檢測出的疑似DGA 域名進行DNS解析,若可以成功解析出IP 地址,并且隨著時間的推移IP 地址不斷變化,說明使用了Fast-flux 技術。需要將DGA 域名、域名Whois信息、子域名、IP、IP 域名解析記錄、與威脅情報庫(如VirusTotal、微步在線、360 威脅情報中心等)進行關聯分析研判,確定該DGA域名是否為惡意域名,進而確定是否為APT 攻擊。

APT 威脅情報建立階段,將確定的與APT 攻擊有關的DGA 域名、IP 地址納入APT 威脅情報庫,用來進行APT 威脅感知。

APT 攻擊感知階段,通過鏡像的方式獲取組織機構的互聯網出口流量鏡像,從中篩選出DNS 解析日志數據,進而分離出DNS 解析域名,使用訓練好的CNN 神經網絡模型進行檢查,若存在多個GDA 域名,則說明該組織機構存在被控主機風險,若DNS 解析日志數據中存在APT 威脅情報中的域名,說明存在被APT 攻擊的風險。

5 結束語

本文研究了DGA 域名生成算法,Domain-flux 與Fast-flux 技術,及APT 攻擊的常用攻擊方式,并提出了一種基于DGA 域名檢測的APT 攻擊感知方法,用于分析DGA 域名與APT 攻擊間的關系,實現對機構內APT 攻擊的風險隱患的實時監測。DGA 域名作為APT攻擊的常用手段,現有的檢測感知技術存在一定的滯后性,仍需進一步研究提升檢測準確率與效率。

猜你喜歡
域名攻擊者解析
機動能力受限的目標-攻擊-防御定性微分對策
三角函數解析式中ω的幾種求法
Combosquatting域名搶注的測量研究
正面迎接批判
睡夢解析儀
如何購買WordPress網站域名及綁定域名
電競初解析
對稱巧用解析妙解
有限次重復博弈下的網絡攻擊行為研究
頂級域名爭奪戰:ICANN放出1930個通用頂級域名,申請者有上千家
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合