周 成 勝,董 偉,崔 梟 飛,葛 悅 濤
(1.中國信息通信研究院 安全研究所,北京 100191;2.工業互聯網安全技術試驗與測評工業和信息化部重點實驗室,北京 100191;3.華北計算機系統工程研究所,北京100083)
近年來,隨著比特幣的發展和經濟價值不斷擴大,同類型的虛擬貨幣開始在互聯網中不斷發展,如以太幣、門羅幣、萊特幣等。這類虛擬貨幣并非由特定的貨幣發行機構發行,而是依據特定算法通過大量運算所得[1]。礦工通過礦機等設備運行挖礦程序,利用設備的CPU、GPU來獲取虛擬貨幣,通過算力去獲取虛擬貨幣的過程稱為“挖礦”。
高昂的挖礦成本導致一些不法分子通過網絡攻擊手段將礦機程序植入被控制的主機中,利用受害者主機算力進行挖礦,從而獲取非法經濟利益。這類在用戶不知情的情況下植入受害者主機的挖礦程序稱為挖礦木馬。
挖礦木馬程序會利用被感染主機的CPU、GPU等算力資源進行挖礦活動,也可利用感染主機的硬盤資源進行挖礦,占用大量被感染主機的硬件資源,此時被感染主機成為了攻擊者所掌握的“礦機”。挖礦行為會消耗大量感染主機的算力資源,致使感染主機的CPU、GPU等硬件資源使用率過高,從而使感染主機運行變慢,甚至無法使用,進而影響業務的正常運行,帶來不可估量的損失。
當前國內外圍繞虛擬貨幣挖礦木馬行為的相關研究實踐較少。史博軒等人提出了一種基于網絡流量的挖礦行為檢測識別模型和多維度挖礦指紋特征提取方法,通過對Stratum、Getwork等礦池協議的指令特征提取分析,實現對挖礦行為的自動檢測識別,并提煉出多維度的挖礦指紋特征,包括挖礦指令、礦池幣種、軟件型號、挖礦賬號、算力、能耗等信息[2]。辛毅等人分析挖礦木馬的入侵方式、傳播途徑、行為特征,基于控制機制對挖礦木馬相關技術進行總結,提出從網絡側和主機側進行檢測的方案[3]。黃子依等人設計了基于多特征識別的惡意挖礦網頁檢測模型和多層級證據保存的惡意挖礦網頁取證方法,從平面層、代碼層、網絡數據層三個維度對惡意挖礦網頁數據進行固定,獲取完整、合法、可信的證據,生成取證報告,滿足公安機關對惡意挖礦網頁檢測和取證的需求[4]。程葉霞等人針對強制挖礦詳細介紹與分析了其概念及攻擊形勢、攻擊技術手段及流程、檢測方法、攻擊案例、安全防護建議等,從企業層面提出了區塊鏈應用及安全建議[5]。趙文軍探索防范及處理挖礦病毒的方法,結合服務器感染挖礦病毒的實際案例,通過逐一的診斷與排查,最終解決服務器因感染挖礦病毒而產生的故障,為防范與解決挖礦病毒提供思路[6]。
本文基于企事業單位出入口流量開展挖礦木馬行為監測分析,可在傳播、潛伏、橫向擴散等階段進行預警,提早發現威脅,幫助政企單位及時發現挖礦木馬并降低影響,減少損失。
挖礦木馬通過漏洞利用、暴力破解、釣魚欺詐、惡意鏈接等方式,與僵尸網絡、黑產結合,獲取受害者主機權限,并在被感染的主機上持久化駐留,利用被感染主機的算力資源進行挖礦活動,從而獲取非法收益;部分挖礦木馬還具備橫向傳播的特點,將被感染主機作為跳板,進一步入侵其他內網主機,擴散傳播挖礦木馬程序或進行其他惡意網絡攻擊行為。
以驅動人生挖礦木馬為例說明黑客攻擊流程,該木馬主要通過“人生日歷”等驅動人生系列產品升級組件下發,感染后通過添加計劃任務、修改注冊表、添加啟動項等方式維持自身權限,開啟特定端口,標記主機已經被感染。同時通過抓取本地主機密碼來猜解其他主機登錄密碼,利用永恒之藍、SMB弱口令、MSSQL數據庫弱口令等漏洞進行橫向傳播,具體過程如圖1所示。

圖1 驅動人生挖礦活動過程示意圖
通過分析,挖礦木馬的攻擊行為可分為以下四個階段。
攻擊者上傳挖礦木馬程序,必須先要獲得相對應的權限。攻擊者可利用未授權訪問漏洞、服務器系統組件漏洞、Web服務器遠程代碼執行漏洞等主機漏洞或弱口令爆破獲取必要的權限。
在攻擊者獲取到必要權限之后,上傳挖礦木馬到受害主機,然后啟動挖礦木馬程序,開始進行挖礦活動。并通過配置系統計劃任務、修改操作系統自啟動項、修改系統注冊表等方式來對挖礦木馬進行管理,達到挖礦木馬的持久化運行和隱匿的目的。
挖礦木馬成功控制受害者主機后,與礦池或控制端通信,占用CPU或GPU進行超頻運算,從而消耗主機大量資源,導致CPU和GPU使用率出現異常、業務及服務器訪問出現明顯的卡頓、反應速度慢或頻繁崩潰重啟、異常的網絡連接、礦池地址回連等情況,嚴重影響主機上的其他應用的正常運行。部分挖礦木馬還有橫向傳播功能,還會出現密碼抓取操作、漏洞掃描等大量發包操作。
挖礦木馬利用被感染的主機作為跳板,進行內網主機之間的橫向擴散。攻擊者利用被感染主機進行內網探測掃描,發現其他潛在的受害目標主機,基于受控主機傳播挖礦木馬程序,感染其他主機,實現挖礦木馬在內網主機間的蔓延擴散。
基于上述分析,當前挖礦木馬行為監測治理存在以下難點:一方面挖礦木馬入侵主機后會檢測并關閉安全防護軟件,且能夠隱藏自身進行挖礦,還會利用混淆、加密、加殼等手段對抗檢測[7];另一方面挖礦木馬行為產生海量流量和日志,涉及大量局域網終端設備,難以精準定位挖礦威脅,分析溯源難。本文針對挖礦木馬攻擊階段分析,構建以協議識別、行為檢測、關聯分析、AI基因檢測技術為主,威脅情報匹配為輔的挖礦木馬行為監測系統,為整治挖礦木馬提供精準高效的方法。
新聞采訪中的心理溝通技巧…………………………………………………………………………………………石 堃(1.39)
挖礦活動產生的主要效益為虛擬貨幣,其礦機在運行過程中會存在連接礦池行為,通信過程遵循特殊的協議,目前主流幣種有比特幣、以太坊、門羅幣、萊特幣等,其主要使用的幣類協議有Stratum(STM)、GetWork(GWK)、GetBlockTemplate(GBT)等。
Stratum協議是目前主流的礦機和礦池之間的TCP通信協議,在挖礦主機和礦池的交互過程中,支持礦工連接礦池獲取訂閱任務、礦工賬號登錄礦池授權、挖礦任務分配、挖礦、工作量提交和挖礦任務難度調整六種行為。通過對通信流量中的挖礦協議進行識別,有比較明顯的標識特征,如mining.subscribe、mining.authorize等,監測Stratum協議通信過程中各個階段的通信行為,并進行多種行為之間有效性的關聯分析,最終確認是否存在挖礦木馬程序在使用Stratum協議,與礦池之間進行通信從事挖礦活動。
礦池包括公開礦池和私有礦池,對應域名有公開的礦池地址和私有的礦池地址。私有礦池地址一般由域名+端口或IP地址+端口的形式組成,域名和公有的礦池地址一樣存在一些特殊字符串,如pool、xmr、mine等。在監測過程中可結合威脅情報和對應通信內容進行綜合判定。
通過互聯網情報收集、聯盟情報共享、蜜罐抓取等形式,形成礦池數據以及惡意挖礦木馬威脅情報系統,主要包括挖礦活動家族使用的C&C(Command and Control)域名、惡意文件hash值、礦池域名和IP、挖礦活動使用的加密貨幣錢包地址、郵箱等,結合PDNS數據、WHOIS等數據對域名、域名注冊人、域名注冊郵箱、解析IP地址等進行關聯拓展后形成注冊人信息-注冊域名-子域名-IP-端口-服務等信息關鍵鏈條,通過內部關聯匹配,對監測內容進行自動標簽,從而分析挖礦木馬通信流量并產生相關的威脅告警記錄。
基于kill-chain的攻擊分析模型[8],將網絡攻擊分成掃描探測、嘗試性攻擊、初步感染、木馬下載、遠程控制和行動收割6個階段。其中挖礦木馬入侵通道中的暴力破解、RCE(Remote Command/Code Execute)漏洞利用、Web注入屬于嘗試攻擊,滲透提權屬于初步感染階段,挖礦木馬植入屬于木馬下載階段,僵尸網絡控制、橫向滲透屬于遠程控制階段,挖礦木馬與礦池通信屬于行動收割階段。
獲得內網主機登錄權限的方式主要包括漏洞利用、暴力破解等。漏洞利用常基于遠程代碼執行漏洞,包括不限于Weblogic、Apache Struts2、Jboss、Shiro等常見組件的CVE漏洞;暴力破解針對的應用包括不限 于MySQL、MSSQL、Oracle、SSH、FTP、RDP、Telnet、Redis等。通過挖礦木馬通信的特征、挖礦木馬受控主機等維度,基于深度機器學習的DGA(域名生成算法)檢測算法[9],能有效發現被植入挖礦木馬的受控主機及僵尸網絡木馬的入侵通道。
以時間軸為主線,將不同階段監測發現的攻擊事件進行關聯分析,包括IP匯聚、事件分類分級、訪問關系關聯等,進而發現感染挖礦木馬的主機。通過將內網主機漏洞或缺陷的利用、挖礦木馬的植入和挖礦木馬與礦池的交互通信等單點檢測結果進行關聯,基于攻擊鏈追溯的算法還原挖礦木馬的整個活動過程,從而進行攻擊追溯和更準確的攻擊者畫像繪制。
為逃避打擊,挖礦木馬家族更新速度和頻率遠超其他病毒軟件,據統計基于蜜罐網絡捕獲發現Sysrv-hello挖礦家族曾在一周內進行數次更新[10],版本迭代已數十次,通過不斷地新增攻擊模塊,進一步擴大了影響范圍和危害。
傳統的挖礦木馬檢測方法分為靜態檢測、動態檢測、資源檢測等方式,均存在各自的缺陷。人工智能(AI)技術可以基于大數據統計分析,挖掘數據規律及目標特征[11],更快地檢測出挖礦木馬威脅,提高分析的效率及準確性。通過威脅情報圖數據庫進行樣本關聯,發現大量的同家族威脅樣本,針對不同的挖礦家族繪制對應基因圖譜,開展惡意代碼基因檢測,發現挖礦惡意木馬及變種;在此基礎上對不能解密的加密流量使用加密惡意流量檢測模型分析,發現加密挖礦通信,從數據包級、流級等不同層次提取行為特征構建模型,基于人工智能的基因檢測技術提升對惡意流量的識別能力,分析挖礦木馬的通信協議、數據格式、字段特征等,從而判斷是否是挖礦木馬行為。
對上述提出的幾種技術進行橫向對比分析,不同技術實現方式優劣勢對比情況見表1。

表1 技術對比情況
為驗證上述挖礦木馬行為監測模型,選取20個疑似感染挖礦木馬的企事業單位,在網絡出入口通過分光或鏡像網絡流量旁路部署監測設備,對流經的網絡流量進行全流量監測,系統部署如圖2所示。

圖2 監測系統部署示意圖
近一個月累計監測,單一挖礦協議流量識別發現98臺企業主機存在虛擬貨幣挖礦通信行為,單一威脅情報匹配發現56臺主機疑似感染挖礦木馬病毒,進一步基于攻擊鏈模型關聯識別及AI基因模型監測研判確認75臺主機感染挖礦木馬病毒,挖礦通信行為近1 100萬余次,涉及CoinMiner、Bit-Coin、XMRig、CoinHive等數十種挖礦木馬家族,主要從事門羅幣挖礦。
同時,監測設備可與涉事企業防火墻聯動,下發策略過濾挖礦病毒木馬,阻斷受控主機與礦池連接。進一步聯動企業終端檢測響應系統,對挖礦程序及進程隔離、清除,實現系統級防御。
近年來,伴隨著虛擬貨幣交易市場的發展以及虛擬貨幣的經濟價值不斷提升,挖礦木馬網絡攻擊已經成為影響最為廣泛的網絡安全威脅之一[12],影響著廣大企事業單位和個人用戶。
建議行業監管單位依托流量技術手段,建立虛擬貨幣“挖礦”攔截情報中心,將“挖礦”程序從前期的入侵,中期的植入擴散,到后期的回連全流程進行全程監測,形成縱深聯動防御,保障人民利益[13]。
同時建議涉事企事業單位及個人加強網絡安全意識培訓,禁止使用弱口令,避免一密多用,關閉非必要端口,切勿隨意打開來歷不明的程序、文檔、郵件等,盡量從官方網站下載安裝程序,及時更新重要補丁和升級組件。進一步加強網絡安全監測,對主機進行安全掃描,清除相關惡意程序,同時對入侵通道進行封堵修復,避免二次感染,修復系統、組件、服務存在的相關遠程利用漏洞,增加程序訪問許可和控制訪問對象權限。