周 成 勝,董 偉,崔 梟 飛,葛 悅 濤
(1.中國(guó)信息通信研究院 安全研究所,北京 100191;2.工業(yè)互聯(lián)網(wǎng)安全技術(shù)試驗(yàn)與測(cè)評(píng)工業(yè)和信息化部重點(diǎn)實(shí)驗(yàn)室,北京 100191;3.華北計(jì)算機(jī)系統(tǒng)工程研究所,北京100083)
近年來(lái),隨著比特幣的發(fā)展和經(jīng)濟(jì)價(jià)值不斷擴(kuò)大,同類型的虛擬貨幣開始在互聯(lián)網(wǎng)中不斷發(fā)展,如以太幣、門羅幣、萊特幣等。這類虛擬貨幣并非由特定的貨幣發(fā)行機(jī)構(gòu)發(fā)行,而是依據(jù)特定算法通過(guò)大量運(yùn)算所得[1]。礦工通過(guò)礦機(jī)等設(shè)備運(yùn)行挖礦程序,利用設(shè)備的CPU、GPU來(lái)獲取虛擬貨幣,通過(guò)算力去獲取虛擬貨幣的過(guò)程稱為“挖礦”。
高昂的挖礦成本導(dǎo)致一些不法分子通過(guò)網(wǎng)絡(luò)攻擊手段將礦機(jī)程序植入被控制的主機(jī)中,利用受害者主機(jī)算力進(jìn)行挖礦,從而獲取非法經(jīng)濟(jì)利益。這類在用戶不知情的情況下植入受害者主機(jī)的挖礦程序稱為挖礦木馬。
挖礦木馬程序會(huì)利用被感染主機(jī)的CPU、GPU等算力資源進(jìn)行挖礦活動(dòng),也可利用感染主機(jī)的硬盤資源進(jìn)行挖礦,占用大量被感染主機(jī)的硬件資源,此時(shí)被感染主機(jī)成為了攻擊者所掌握的“礦機(jī)”。挖礦行為會(huì)消耗大量感染主機(jī)的算力資源,致使感染主機(jī)的CPU、GPU等硬件資源使用率過(guò)高,從而使感染主機(jī)運(yùn)行變慢,甚至無(wú)法使用,進(jìn)而影響業(yè)務(wù)的正常運(yùn)行,帶來(lái)不可估量的損失。
當(dāng)前國(guó)內(nèi)外圍繞虛擬貨幣挖礦木馬行為的相關(guān)研究實(shí)踐較少。史博軒等人提出了一種基于網(wǎng)絡(luò)流量的挖礦行為檢測(cè)識(shí)別模型和多維度挖礦指紋特征提取方法,通過(guò)對(duì)Stratum、Getwork等礦池協(xié)議的指令特征提取分析,實(shí)現(xiàn)對(duì)挖礦行為的自動(dòng)檢測(cè)識(shí)別,并提煉出多維度的挖礦指紋特征,包括挖礦指令、礦池幣種、軟件型號(hào)、挖礦賬號(hào)、算力、能耗等信息[2]。辛毅等人分析挖礦木馬的入侵方式、傳播途徑、行為特征,基于控制機(jī)制對(duì)挖礦木馬相關(guān)技術(shù)進(jìn)行總結(jié),提出從網(wǎng)絡(luò)側(cè)和主機(jī)側(cè)進(jìn)行檢測(cè)的方案[3]。黃子依等人設(shè)計(jì)了基于多特征識(shí)別的惡意挖礦網(wǎng)頁(yè)檢測(cè)模型和多層級(jí)證據(jù)保存的惡意挖礦網(wǎng)頁(yè)取證方法,從平面層、代碼層、網(wǎng)絡(luò)數(shù)據(jù)層三個(gè)維度對(duì)惡意挖礦網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行固定,獲取完整、合法、可信的證據(jù),生成取證報(bào)告,滿足公安機(jī)關(guān)對(duì)惡意挖礦網(wǎng)頁(yè)檢測(cè)和取證的需求[4]。程葉霞等人針對(duì)強(qiáng)制挖礦詳細(xì)介紹與分析了其概念及攻擊形勢(shì)、攻擊技術(shù)手段及流程、檢測(cè)方法、攻擊案例、安全防護(hù)建議等,從企業(yè)層面提出了區(qū)塊鏈應(yīng)用及安全建議[5]。趙文軍探索防范及處理挖礦病毒的方法,結(jié)合服務(wù)器感染挖礦病毒的實(shí)際案例,通過(guò)逐一的診斷與排查,最終解決服務(wù)器因感染挖礦病毒而產(chǎn)生的故障,為防范與解決挖礦病毒提供思路[6]。
本文基于企事業(yè)單位出入口流量開展挖礦木馬行為監(jiān)測(cè)分析,可在傳播、潛伏、橫向擴(kuò)散等階段進(jìn)行預(yù)警,提早發(fā)現(xiàn)威脅,幫助政企單位及時(shí)發(fā)現(xiàn)挖礦木馬并降低影響,減少損失。
挖礦木馬通過(guò)漏洞利用、暴力破解、釣魚欺詐、惡意鏈接等方式,與僵尸網(wǎng)絡(luò)、黑產(chǎn)結(jié)合,獲取受害者主機(jī)權(quán)限,并在被感染的主機(jī)上持久化駐留,利用被感染主機(jī)的算力資源進(jìn)行挖礦活動(dòng),從而獲取非法收益;部分挖礦木馬還具備橫向傳播的特點(diǎn),將被感染主機(jī)作為跳板,進(jìn)一步入侵其他內(nèi)網(wǎng)主機(jī),擴(kuò)散傳播挖礦木馬程序或進(jìn)行其他惡意網(wǎng)絡(luò)攻擊行為。
以驅(qū)動(dòng)人生挖礦木馬為例說(shuō)明黑客攻擊流程,該木馬主要通過(guò)“人生日歷”等驅(qū)動(dòng)人生系列產(chǎn)品升級(jí)組件下發(fā),感染后通過(guò)添加計(jì)劃任務(wù)、修改注冊(cè)表、添加啟動(dòng)項(xiàng)等方式維持自身權(quán)限,開啟特定端口,標(biāo)記主機(jī)已經(jīng)被感染。同時(shí)通過(guò)抓取本地主機(jī)密碼來(lái)猜解其他主機(jī)登錄密碼,利用永恒之藍(lán)、SMB弱口令、MSSQL數(shù)據(jù)庫(kù)弱口令等漏洞進(jìn)行橫向傳播,具體過(guò)程如圖1所示。
圖1 驅(qū)動(dòng)人生挖礦活動(dòng)過(guò)程示意圖
通過(guò)分析,挖礦木馬的攻擊行為可分為以下四個(gè)階段。
攻擊者上傳挖礦木馬程序,必須先要獲得相對(duì)應(yīng)的權(quán)限。攻擊者可利用未授權(quán)訪問(wèn)漏洞、服務(wù)器系統(tǒng)組件漏洞、Web服務(wù)器遠(yuǎn)程代碼執(zhí)行漏洞等主機(jī)漏洞或弱口令爆破獲取必要的權(quán)限。
在攻擊者獲取到必要權(quán)限之后,上傳挖礦木馬到受害主機(jī),然后啟動(dòng)挖礦木馬程序,開始進(jìn)行挖礦活動(dòng)。并通過(guò)配置系統(tǒng)計(jì)劃任務(wù)、修改操作系統(tǒng)自啟動(dòng)項(xiàng)、修改系統(tǒng)注冊(cè)表等方式來(lái)對(duì)挖礦木馬進(jìn)行管理,達(dá)到挖礦木馬的持久化運(yùn)行和隱匿的目的。
挖礦木馬成功控制受害者主機(jī)后,與礦池或控制端通信,占用CPU或GPU進(jìn)行超頻運(yùn)算,從而消耗主機(jī)大量資源,導(dǎo)致CPU和GPU使用率出現(xiàn)異常、業(yè)務(wù)及服務(wù)器訪問(wèn)出現(xiàn)明顯的卡頓、反應(yīng)速度慢或頻繁崩潰重啟、異常的網(wǎng)絡(luò)連接、礦池地址回連等情況,嚴(yán)重影響主機(jī)上的其他應(yīng)用的正常運(yùn)行。部分挖礦木馬還有橫向傳播功能,還會(huì)出現(xiàn)密碼抓取操作、漏洞掃描等大量發(fā)包操作。
挖礦木馬利用被感染的主機(jī)作為跳板,進(jìn)行內(nèi)網(wǎng)主機(jī)之間的橫向擴(kuò)散。攻擊者利用被感染主機(jī)進(jìn)行內(nèi)網(wǎng)探測(cè)掃描,發(fā)現(xiàn)其他潛在的受害目標(biāo)主機(jī),基于受控主機(jī)傳播挖礦木馬程序,感染其他主機(jī),實(shí)現(xiàn)挖礦木馬在內(nèi)網(wǎng)主機(jī)間的蔓延擴(kuò)散。
基于上述分析,當(dāng)前挖礦木馬行為監(jiān)測(cè)治理存在以下難點(diǎn):一方面挖礦木馬入侵主機(jī)后會(huì)檢測(cè)并關(guān)閉安全防護(hù)軟件,且能夠隱藏自身進(jìn)行挖礦,還會(huì)利用混淆、加密、加殼等手段對(duì)抗檢測(cè)[7];另一方面挖礦木馬行為產(chǎn)生海量流量和日志,涉及大量局域網(wǎng)終端設(shè)備,難以精準(zhǔn)定位挖礦威脅,分析溯源難。本文針對(duì)挖礦木馬攻擊階段分析,構(gòu)建以協(xié)議識(shí)別、行為檢測(cè)、關(guān)聯(lián)分析、AI基因檢測(cè)技術(shù)為主,威脅情報(bào)匹配為輔的挖礦木馬行為監(jiān)測(cè)系統(tǒng),為整治挖礦木馬提供精準(zhǔn)高效的方法。
新聞采訪中的心理溝通技巧…………………………………………………………………………………………石 堃(1.39)
挖礦活動(dòng)產(chǎn)生的主要效益為虛擬貨幣,其礦機(jī)在運(yùn)行過(guò)程中會(huì)存在連接礦池行為,通信過(guò)程遵循特殊的協(xié)議,目前主流幣種有比特幣、以太坊、門羅幣、萊特幣等,其主要使用的幣類協(xié)議有Stratum(STM)、GetWork(GWK)、GetBlockTemplate(GBT)等。
Stratum協(xié)議是目前主流的礦機(jī)和礦池之間的TCP通信協(xié)議,在挖礦主機(jī)和礦池的交互過(guò)程中,支持礦工連接礦池獲取訂閱任務(wù)、礦工賬號(hào)登錄礦池授權(quán)、挖礦任務(wù)分配、挖礦、工作量提交和挖礦任務(wù)難度調(diào)整六種行為。通過(guò)對(duì)通信流量中的挖礦協(xié)議進(jìn)行識(shí)別,有比較明顯的標(biāo)識(shí)特征,如mining.subscribe、mining.authorize等,監(jiān)測(cè)Stratum協(xié)議通信過(guò)程中各個(gè)階段的通信行為,并進(jìn)行多種行為之間有效性的關(guān)聯(lián)分析,最終確認(rèn)是否存在挖礦木馬程序在使用Stratum協(xié)議,與礦池之間進(jìn)行通信從事挖礦活動(dòng)。
礦池包括公開礦池和私有礦池,對(duì)應(yīng)域名有公開的礦池地址和私有的礦池地址。私有礦池地址一般由域名+端口或IP地址+端口的形式組成,域名和公有的礦池地址一樣存在一些特殊字符串,如pool、xmr、mine等。在監(jiān)測(cè)過(guò)程中可結(jié)合威脅情報(bào)和對(duì)應(yīng)通信內(nèi)容進(jìn)行綜合判定。
通過(guò)互聯(lián)網(wǎng)情報(bào)收集、聯(lián)盟情報(bào)共享、蜜罐抓取等形式,形成礦池?cái)?shù)據(jù)以及惡意挖礦木馬威脅情報(bào)系統(tǒng),主要包括挖礦活動(dòng)家族使用的C&C(Command and Control)域名、惡意文件hash值、礦池域名和IP、挖礦活動(dòng)使用的加密貨幣錢包地址、郵箱等,結(jié)合PDNS數(shù)據(jù)、WHOIS等數(shù)據(jù)對(duì)域名、域名注冊(cè)人、域名注冊(cè)郵箱、解析IP地址等進(jìn)行關(guān)聯(lián)拓展后形成注冊(cè)人信息-注冊(cè)域名-子域名-IP-端口-服務(wù)等信息關(guān)鍵鏈條,通過(guò)內(nèi)部關(guān)聯(lián)匹配,對(duì)監(jiān)測(cè)內(nèi)容進(jìn)行自動(dòng)標(biāo)簽,從而分析挖礦木馬通信流量并產(chǎn)生相關(guān)的威脅告警記錄。
基于kill-chain的攻擊分析模型[8],將網(wǎng)絡(luò)攻擊分成掃描探測(cè)、嘗試性攻擊、初步感染、木馬下載、遠(yuǎn)程控制和行動(dòng)收割6個(gè)階段。其中挖礦木馬入侵通道中的暴力破解、RCE(Remote Command/Code Execute)漏洞利用、Web注入屬于嘗試攻擊,滲透提權(quán)屬于初步感染階段,挖礦木馬植入屬于木馬下載階段,僵尸網(wǎng)絡(luò)控制、橫向滲透屬于遠(yuǎn)程控制階段,挖礦木馬與礦池通信屬于行動(dòng)收割階段。
獲得內(nèi)網(wǎng)主機(jī)登錄權(quán)限的方式主要包括漏洞利用、暴力破解等。漏洞利用?;谶h(yuǎn)程代碼執(zhí)行漏洞,包括不限于Weblogic、Apache Struts2、Jboss、Shiro等常見(jiàn)組件的CVE漏洞;暴力破解針對(duì)的應(yīng)用包括不限 于MySQL、MSSQL、Oracle、SSH、FTP、RDP、Telnet、Redis等。通過(guò)挖礦木馬通信的特征、挖礦木馬受控主機(jī)等維度,基于深度機(jī)器學(xué)習(xí)的DGA(域名生成算法)檢測(cè)算法[9],能有效發(fā)現(xiàn)被植入挖礦木馬的受控主機(jī)及僵尸網(wǎng)絡(luò)木馬的入侵通道。
以時(shí)間軸為主線,將不同階段監(jiān)測(cè)發(fā)現(xiàn)的攻擊事件進(jìn)行關(guān)聯(lián)分析,包括IP匯聚、事件分類分級(jí)、訪問(wèn)關(guān)系關(guān)聯(lián)等,進(jìn)而發(fā)現(xiàn)感染挖礦木馬的主機(jī)。通過(guò)將內(nèi)網(wǎng)主機(jī)漏洞或缺陷的利用、挖礦木馬的植入和挖礦木馬與礦池的交互通信等單點(diǎn)檢測(cè)結(jié)果進(jìn)行關(guān)聯(lián),基于攻擊鏈追溯的算法還原挖礦木馬的整個(gè)活動(dòng)過(guò)程,從而進(jìn)行攻擊追溯和更準(zhǔn)確的攻擊者畫像繪制。
為逃避打擊,挖礦木馬家族更新速度和頻率遠(yuǎn)超其他病毒軟件,據(jù)統(tǒng)計(jì)基于蜜罐網(wǎng)絡(luò)捕獲發(fā)現(xiàn)Sysrv-hello挖礦家族曾在一周內(nèi)進(jìn)行數(shù)次更新[10],版本迭代已數(shù)十次,通過(guò)不斷地新增攻擊模塊,進(jìn)一步擴(kuò)大了影響范圍和危害。
傳統(tǒng)的挖礦木馬檢測(cè)方法分為靜態(tài)檢測(cè)、動(dòng)態(tài)檢測(cè)、資源檢測(cè)等方式,均存在各自的缺陷。人工智能(AI)技術(shù)可以基于大數(shù)據(jù)統(tǒng)計(jì)分析,挖掘數(shù)據(jù)規(guī)律及目標(biāo)特征[11],更快地檢測(cè)出挖礦木馬威脅,提高分析的效率及準(zhǔn)確性。通過(guò)威脅情報(bào)圖數(shù)據(jù)庫(kù)進(jìn)行樣本關(guān)聯(lián),發(fā)現(xiàn)大量的同家族威脅樣本,針對(duì)不同的挖礦家族繪制對(duì)應(yīng)基因圖譜,開展惡意代碼基因檢測(cè),發(fā)現(xiàn)挖礦惡意木馬及變種;在此基礎(chǔ)上對(duì)不能解密的加密流量使用加密惡意流量檢測(cè)模型分析,發(fā)現(xiàn)加密挖礦通信,從數(shù)據(jù)包級(jí)、流級(jí)等不同層次提取行為特征構(gòu)建模型,基于人工智能的基因檢測(cè)技術(shù)提升對(duì)惡意流量的識(shí)別能力,分析挖礦木馬的通信協(xié)議、數(shù)據(jù)格式、字段特征等,從而判斷是否是挖礦木馬行為。
對(duì)上述提出的幾種技術(shù)進(jìn)行橫向?qū)Ρ确治?,不同技術(shù)實(shí)現(xiàn)方式優(yōu)劣勢(shì)對(duì)比情況見(jiàn)表1。
表1 技術(shù)對(duì)比情況
為驗(yàn)證上述挖礦木馬行為監(jiān)測(cè)模型,選取20個(gè)疑似感染挖礦木馬的企事業(yè)單位,在網(wǎng)絡(luò)出入口通過(guò)分光或鏡像網(wǎng)絡(luò)流量旁路部署監(jiān)測(cè)設(shè)備,對(duì)流經(jīng)的網(wǎng)絡(luò)流量進(jìn)行全流量監(jiān)測(cè),系統(tǒng)部署如圖2所示。
圖2 監(jiān)測(cè)系統(tǒng)部署示意圖
近一個(gè)月累計(jì)監(jiān)測(cè),單一挖礦協(xié)議流量識(shí)別發(fā)現(xiàn)98臺(tái)企業(yè)主機(jī)存在虛擬貨幣挖礦通信行為,單一威脅情報(bào)匹配發(fā)現(xiàn)56臺(tái)主機(jī)疑似感染挖礦木馬病毒,進(jìn)一步基于攻擊鏈模型關(guān)聯(lián)識(shí)別及AI基因模型監(jiān)測(cè)研判確認(rèn)75臺(tái)主機(jī)感染挖礦木馬病毒,挖礦通信行為近1 100萬(wàn)余次,涉及CoinMiner、Bit-Coin、XMRig、CoinHive等數(shù)十種挖礦木馬家族,主要從事門羅幣挖礦。
同時(shí),監(jiān)測(cè)設(shè)備可與涉事企業(yè)防火墻聯(lián)動(dòng),下發(fā)策略過(guò)濾挖礦病毒木馬,阻斷受控主機(jī)與礦池連接。進(jìn)一步聯(lián)動(dòng)企業(yè)終端檢測(cè)響應(yīng)系統(tǒng),對(duì)挖礦程序及進(jìn)程隔離、清除,實(shí)現(xiàn)系統(tǒng)級(jí)防御。
近年來(lái),伴隨著虛擬貨幣交易市場(chǎng)的發(fā)展以及虛擬貨幣的經(jīng)濟(jì)價(jià)值不斷提升,挖礦木馬網(wǎng)絡(luò)攻擊已經(jīng)成為影響最為廣泛的網(wǎng)絡(luò)安全威脅之一[12],影響著廣大企事業(yè)單位和個(gè)人用戶。
建議行業(yè)監(jiān)管單位依托流量技術(shù)手段,建立虛擬貨幣“挖礦”攔截情報(bào)中心,將“挖礦”程序從前期的入侵,中期的植入擴(kuò)散,到后期的回連全流程進(jìn)行全程監(jiān)測(cè),形成縱深聯(lián)動(dòng)防御,保障人民利益[13]。
同時(shí)建議涉事企事業(yè)單位及個(gè)人加強(qiáng)網(wǎng)絡(luò)安全意識(shí)培訓(xùn),禁止使用弱口令,避免一密多用,關(guān)閉非必要端口,切勿隨意打開來(lái)歷不明的程序、文檔、郵件等,盡量從官方網(wǎng)站下載安裝程序,及時(shí)更新重要補(bǔ)丁和升級(jí)組件。進(jìn)一步加強(qiáng)網(wǎng)絡(luò)安全監(jiān)測(cè),對(duì)主機(jī)進(jìn)行安全掃描,清除相關(guān)惡意程序,同時(shí)對(duì)入侵通道進(jìn)行封堵修復(fù),避免二次感染,修復(fù)系統(tǒng)、組件、服務(wù)存在的相關(guān)遠(yuǎn)程利用漏洞,增加程序訪問(wèn)許可和控制訪問(wèn)對(duì)象權(quán)限。