《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 震網(wǎng)事件(Stuxnet病毒)的九年再?gòu)?fù)盤與思考

震網(wǎng)事件(Stuxnet病毒)的九年再?gòu)?fù)盤與思考

2019-10-14
關(guān)鍵詞: Stuxnet病毒 震網(wǎng)

  震網(wǎng)病毒又名Stuxnet病毒,,是一個(gè)席卷全球工業(yè)界的病毒,。震網(wǎng)(Stuxnet)病毒于2010年6月首次被檢測(cè)出來(lái),,是第一個(gè)專門定向攻擊真實(shí)世界中基礎(chǔ)(能源)設(shè)施的“蠕蟲”病毒,,比如核電站,水壩,,國(guó)家電網(wǎng)?;ヂ?lián)網(wǎng)安全專家對(duì)此表示擔(dān)心,。作為世界上首個(gè)網(wǎng)絡(luò)“超級(jí)破壞性武器”,Stuxnet的計(jì)算機(jī)病毒已經(jīng)感染了全球超過(guò) 45000個(gè)網(wǎng)絡(luò),,伊朗遭到的攻擊最為嚴(yán)重,,60%的個(gè)人電腦感染了這種病毒。計(jì)算機(jī)安防專家認(rèn)為,,該病毒是有史以來(lái)最高端的“蠕蟲”病毒,。蠕蟲是一種典型的計(jì)算機(jī)病毒,它能自我復(fù)制,,并將副本通過(guò)網(wǎng)絡(luò)傳輸,,任何一臺(tái)個(gè)人電腦只要和染毒電腦相連,就會(huì)被感染,。

  文章來(lái)源:安天cert

  1.小序

  2010年7月,,“震網(wǎng)”(Stuxnet)蠕蟲攻擊事件浮出水面,引發(fā)了國(guó)際主流安全廠商和安全研究者的全面關(guān)注,,卡巴斯基,、賽門鐵克、安天等安全廠商,,Ralph Langne等著名安全研究者,,以及多國(guó)的應(yīng)急組織和研究機(jī)構(gòu),都投入到了全面的分析接力中。最終使這場(chǎng)攻擊的大量細(xì)節(jié)被呈現(xiàn)出來(lái):這是一起經(jīng)過(guò)長(zhǎng)期規(guī)劃準(zhǔn)備和入侵潛伏作業(yè),;借助高度復(fù)雜的惡意代碼和多個(gè)零日漏洞作為攻擊武器,;以鈾離心機(jī)為攻擊目標(biāo);以造成超壓導(dǎo)致離心機(jī)批量損壞和改變離心機(jī)轉(zhuǎn)數(shù)導(dǎo)致鈾無(wú)法滿足武器要求為致效機(jī)理,,以阻斷伊朗核武器進(jìn)程為目的的攻擊,。

  9年的時(shí)間過(guò)去了,這一安全事件依然在安天的研究視野中,。安天從2010年7月15日展開(kāi)對(duì)震網(wǎng)的分析工作,,搭建了模擬環(huán)境,在9月27日發(fā)布了《對(duì)Stuxnet蠕蟲攻擊工業(yè)控制系統(tǒng)事件的綜合分析報(bào)告》[1],,在后續(xù)形成了對(duì)其傳播機(jī)理進(jìn)行分析的《對(duì)Stuxnet蠕蟲的后續(xù)分析報(bào)告》[2],,以及分析其對(duì)工業(yè)生產(chǎn)過(guò)程作用機(jī)理的《WinCC后發(fā)生了什么》[3]系列分析報(bào)告。

  安天提出了震網(wǎng)與毒曲(Duqu)同源的猜測(cè),,并先后發(fā)表了兩篇驗(yàn)證性報(bào)告,,并啟動(dòng)了對(duì)火焰(Flame)惡意代碼的馬拉松式的模塊分析。在工作推進(jìn)中,,安天逐步認(rèn)識(shí)到震網(wǎng),、毒曲、高斯(Gauss),、火焰,,這些高度復(fù)雜的惡意代碼間存在著同樣的背景聯(lián)系。這些研究工作對(duì)安天后續(xù)展開(kāi)對(duì)方程式組織(Equation)的深度分析起到了非常重要的作用,。

  由于歷史原因,,其中部分研究文獻(xiàn)并未公開(kāi),而一些分析進(jìn)展是碎片化的,,雖然在我們的對(duì)外技術(shù)演講中有所提及,,但并未作為文獻(xiàn)發(fā)布。這是安天編寫這篇文獻(xiàn)的原因之一,。震網(wǎng)的整體運(yùn)行框架,、USB擺渡機(jī)理和傳播失控分析,以及圖解Tilded框架與Flamer框架的關(guān)聯(lián),,將震網(wǎng),、火焰、毒曲,、高斯,、Fanny、Flowershop之間的關(guān)系進(jìn)行串接的相關(guān)章節(jié),,是對(duì)這些成果的整理,。

  今天看來(lái),,在前期分析震網(wǎng)系列事件的過(guò)程中,我們?nèi)鄙僖环N真正意義上的框架化方法,。依然更多的是從自身習(xí)慣的反惡意代碼視角來(lái)看待整個(gè)攻擊過(guò)程,。盡管我們給震網(wǎng)這樣的復(fù)雜攻擊提出了一個(gè)A2PT(即高級(jí)的高級(jí)可持續(xù)性威脅)的命名,但分析中始終缺乏作業(yè)到作戰(zhàn)視角的思考,。在相關(guān)專家的指導(dǎo)下,,我們對(duì)網(wǎng)空博弈、敵情想定有了新的體悟,,逐漸從威脅框架視角進(jìn)行方法論切換,,實(shí)現(xiàn)自我能力完善。也希望通過(guò)威脅框架這一視角來(lái)解讀“震網(wǎng)”這場(chǎng)看起來(lái)依然高度復(fù)雜的“昨天的戰(zhàn)爭(zhēng)”,。

  本文也詳細(xì)解讀了一個(gè)值得思考的問(wèn)題,,震網(wǎng)作為一種沒(méi)有感染屬性的蠕蟲,為何會(huì)有大量的樣本存在,。這個(gè)原理我們?cè)谠缙诘姆治龉ぷ髦幸呀?jīng)發(fā)現(xiàn),,即震網(wǎng)的載荷投放程序,在每落地一臺(tái)機(jī)器時(shí),,會(huì)有一個(gè)內(nèi)嵌配置數(shù)據(jù)的自我更新,,從而導(dǎo)致震網(wǎng)的每次落地形成的主執(zhí)行體的HASH均不同,同時(shí)其實(shí)際攻擊載荷多數(shù)均被包裹在主DLL之中,,并不落地,。而震網(wǎng)的相關(guān)域名則是在其已經(jīng)達(dá)成其主體作業(yè)效果的情況下才被曝光的。這從某種意義上也昭示了面對(duì)更高級(jí),、隱蔽的攻擊行動(dòng),以HASH,、域名等為主體的威脅情報(bào)實(shí)際上早就面對(duì)著無(wú)效的危機(jī),。

640.webp (10).jpg

  圖 1-1 震網(wǎng)事件時(shí)間軸

  2.為什么是震網(wǎng)

  在信息技術(shù)發(fā)展歷史上,出現(xiàn)過(guò)大量典型的安全事件,,但為什么“震網(wǎng)”被視為具有威脅里程碑意義,?震網(wǎng)被認(rèn)為是第一個(gè)以現(xiàn)實(shí)世界中的關(guān)鍵工業(yè)基礎(chǔ)設(shè)施為目標(biāo)的惡意代碼,并達(dá)到了預(yù)設(shè)的攻擊目標(biāo),,或者說(shuō),,這是第一個(gè)“網(wǎng)絡(luò)空間”意義上的重大攻擊事件,而非傳統(tǒng)的網(wǎng)絡(luò)攻擊事件,。盡管此前也存在著一些通過(guò)信息攻擊手段影響工業(yè)設(shè)施的傳聞,,但基本都缺乏技術(shù)層面的實(shí)證支撐。

  從安天此前提出的觀點(diǎn)來(lái)看,,震網(wǎng)的里程碑意義并不是在于其相對(duì)其他簡(jiǎn)單的網(wǎng)絡(luò)攻擊的復(fù)雜性和高級(jí)性,,而在于其證實(shí)了通過(guò)網(wǎng)絡(luò)空間手段進(jìn)行攻擊,,可以達(dá)成與傳統(tǒng)物理空間攻擊(甚至是火力打擊)的等效性。在2016年的報(bào)告中,,安天研究人員將上世紀(jì)70,、80年代的“凋謝利刃與巴比倫行動(dòng)”(在1977年~1981年間發(fā)生的以、美聯(lián)合,,在兩伊戰(zhàn)爭(zhēng)期間針對(duì)伊拉克核反應(yīng)堆進(jìn)行軍事打擊的事件)與震網(wǎng)事件進(jìn)行對(duì)比分析看出,,通過(guò)大量復(fù)雜的軍事情報(bào)和成本投入才能達(dá)成的物理攻擊效果僅通過(guò)網(wǎng)絡(luò)空間作業(yè)就可以達(dá)成,而且成本也大大降低,。正如美國(guó)陸軍參謀長(zhǎng)前高級(jí)顧問(wèn)Maren Leed所講的——網(wǎng)絡(luò)武器可以有許多適應(yīng)環(huán)境的屬性,,從生命周期的成本角度看,它們比其他的武器系統(tǒng)更為優(yōu)越[4],。

1.jpg

2.jpg

震網(wǎng)系列攻擊也全面昭示了工業(yè)基礎(chǔ)設(shè)施可能被全面入侵滲透乃至完成戰(zhàn)場(chǎng)預(yù)制的風(fēng)險(xiǎn),,震網(wǎng)的成功是建立在火焰、毒曲惡意代碼的長(zhǎng)期運(yùn)行,、信息采集的基礎(chǔ)上,。在攻擊伊朗鈾離心設(shè)施之前,攻擊方已經(jīng)入侵滲透了伊朗的多家主要國(guó)防工業(yè)和基礎(chǔ)工業(yè)廠商,,包括設(shè)備生產(chǎn)商,、供應(yīng)商、軟件開(kāi)發(fā)商等,,表2-2是多個(gè)企業(yè)遭遇入侵的事件,。

表 2-2 伊朗基礎(chǔ)工業(yè)體系遭遇滲透的情況

2.jpg

  3.震網(wǎng)整體結(jié)構(gòu)和運(yùn)行邏輯

  震網(wǎng)的結(jié)構(gòu)非常復(fù)雜。其中又經(jīng)歷了從0.5到1.x的版本更迭,,其破壞機(jī)理從以干擾離心機(jī)閥門,、造成超壓導(dǎo)致離心機(jī)批量損壞調(diào)整為修改離心機(jī)轉(zhuǎn)數(shù)。同時(shí)其開(kāi)發(fā)框架也發(fā)生了變化,。我們以流行更為廣泛的1.x版本為對(duì)象,,進(jìn)行整體結(jié)構(gòu)和運(yùn)行邏輯梳理。震網(wǎng)的核心是僅在內(nèi)存中解密存在的DLL文件(以下簡(jiǎn)稱主DLL文件),。DLL文件包含32種不同的導(dǎo)出函數(shù)以及15種不同的資源,,每一個(gè)導(dǎo)出函數(shù)都有不同的控制功能,其中主要涉及導(dǎo)出函數(shù)15(初始入口點(diǎn)),、導(dǎo)出函數(shù)16(安裝),、導(dǎo)出函數(shù)32(感染連接的移動(dòng)設(shè)備,啟動(dòng)RPC服務(wù)),、導(dǎo)出函數(shù)2(鉤掛API以感染Step7工程文件)等,;每個(gè)資源也分別執(zhí)行不同的功能,主要涉及資源250,、資源201,、資源242等,;導(dǎo)出函數(shù)正是利用這些不同功能的資源來(lái)控制震網(wǎng)執(zhí)行不同的分支操作。

2.jpg

  Stuxnet Dropper的資源在安裝執(zhí)行過(guò)程中會(huì)釋放載荷,,震網(wǎng)落地文件如表3-2所示,。

2.jpg

       按資源類型,對(duì)照其編譯時(shí)間戳,,獲得PE類型資源版本迭代,,如圖3-1所示,由圖能夠看出資源202,、210都存在3個(gè)可能的版本,,資源208存在2個(gè)可能的版本,其余各資源都僅有1個(gè)版本,。另外資源207,、231僅存在少數(shù)樣本,在后續(xù)版本的Stuxnet中已經(jīng)刪除,。

640.webp (11).jpg

  圖 3-1 PE類型資源版本迭代

  安天CERT基于對(duì)震網(wǎng)樣本集及已有數(shù)據(jù)的分析,,繪制了震網(wǎng)整體運(yùn)行框架,它包含傳播和安裝執(zhí)行,。

640.webp (12).jpg

  圖 3-2 震網(wǎng)整體運(yùn)行框架圖

  震網(wǎng)的傳播主要包括兩種方式,,一種是移動(dòng)設(shè)備感染,利用LNK漏洞或者通過(guò)autorun.inf文件進(jìn)行傳播,;另一種是網(wǎng)絡(luò)傳播,,涉及WinCC數(shù)據(jù)庫(kù)感染、網(wǎng)絡(luò)共享傳播,、打印機(jī)后臺(tái)處理程序漏洞傳播,、Windows服務(wù)器漏洞傳播等多種方式。這兩種傳播方式雖然不同,,但最終都會(huì)釋放主DLL文件,,進(jìn)行后續(xù)的安裝和執(zhí)行操作。震網(wǎng)感染目標(biāo)系統(tǒng)后,,會(huì)啟動(dòng)RPC服務(wù)器監(jiān)聽(tīng)網(wǎng)絡(luò),將網(wǎng)絡(luò)上其他感染計(jì)算機(jī)都連接到RPC服務(wù)器,,并查詢遠(yuǎn)程計(jì)算機(jī)安裝的震網(wǎng)版本,,以執(zhí)行對(duì)等通信和更新,如果遠(yuǎn)程計(jì)算機(jī)上的震網(wǎng)版本較新,,則本地計(jì)算機(jī)就會(huì)請(qǐng)求新版本并自我更新,,如果遠(yuǎn)程機(jī)器上的震網(wǎng)版本較舊,則本地計(jì)算機(jī)上的震網(wǎng)就將自身副本發(fā)送給遠(yuǎn)程機(jī)器,。這樣,,震網(wǎng)可以在任何感染機(jī)器上更新并最終傳播到所有機(jī)器,。

  在安裝執(zhí)行中,傳播釋放的主DLL文件首次加載時(shí)調(diào)用導(dǎo)出函數(shù)15執(zhí)行一系列檢查工作,,包括檢查配置數(shù)據(jù)是否為最新,、檢查操作系統(tǒng)是否為64位、檢查操作系統(tǒng)版本是否匹配,,如果不符合其安裝執(zhí)行要求,,則退出;此外,,檢查目標(biāo)系統(tǒng)是否具備管理員權(quán)限,,如果不具備,則利用資源250中兩個(gè)當(dāng)時(shí)的零日漏洞進(jìn)行提權(quán)以獲取最高權(quán)限,;之后,,檢查目標(biāo)系統(tǒng)安裝了哪些反病毒軟件以及哪個(gè)進(jìn)程適合注入;導(dǎo)出函數(shù)15完成上述規(guī)定的檢查后,,震網(wǎng)就會(huì)調(diào)用導(dǎo)出函數(shù)16,。

  導(dǎo)出函數(shù)16是震網(wǎng)的主安裝程序。首先,,檢查目標(biāo)系統(tǒng)配置是否匹配,、注冊(cè)表鍵值是否為特定值、當(dāng)前時(shí)間是否小于終止時(shí)間,,如果不符合這些安裝執(zhí)行要求,,則退出;繼續(xù)執(zhí)行,,震網(wǎng)通過(guò)創(chuàng)建全局互斥量與不同的組件通信,,并再次檢查目標(biāo)系統(tǒng)當(dāng)前時(shí)間,確保只在小于終止時(shí)間的目標(biāo)系統(tǒng)上執(zhí)行,;從磁盤中讀取其加密版本,,解密、加載到內(nèi)存中,,從新加載的文件中調(diào)用導(dǎo)出函數(shù)6,,獲取自身配置數(shù)據(jù)的版本信息,如果與磁盤文件的版本相同,,則繼續(xù)執(zhí)行,;震網(wǎng)提取、解密資源201和資源242,,并將兩個(gè)驅(qū)動(dòng)文件寫入磁盤,,分別用于持久化和隱藏惡意文件,為了規(guī)避檢測(cè),,震網(wǎng)會(huì)修改這兩個(gè)文件的時(shí)間以匹配目標(biāo)系統(tǒng)目錄下的其他文件時(shí)間,;創(chuàng)建rootkit服務(wù)和注冊(cè)表,,以實(shí)現(xiàn)震網(wǎng)的持久化,并再次創(chuàng)建全局互斥量,;為了繼續(xù)安裝和傳播,,震網(wǎng)將控制權(quán)傳遞給其他導(dǎo)出函數(shù),一種是將主DLL文件注入service.exe進(jìn)程,,并調(diào)用導(dǎo)出函數(shù)32,,以感染新連接的移動(dòng)設(shè)備,以及啟動(dòng)RPC服務(wù)器,,另一種是將主DLL文件注入Step7進(jìn)程,,并調(diào)用導(dǎo)出函數(shù)2,以感染所有指定的Step7文件,。

  4.威脅框架視角下的震網(wǎng)解讀

  能夠研發(fā)類似震網(wǎng)的復(fù)雜高級(jí)的惡意代碼,,是源自高級(jí)網(wǎng)空威脅行為體具有充足資源和成本支撐能力。其作業(yè)過(guò)程具有龐大的工程體系和人員團(tuán)隊(duì)為支撐條件,,是一系列復(fù)雜的動(dòng)作組合,。與此同時(shí),復(fù)雜的過(guò)程并不必然全部由“高級(jí)”攻擊手段和“高級(jí)”裝備支撐,。防御方的一些低級(jí)配置錯(cuò)誤和未及時(shí)修補(bǔ)的漏洞會(huì)成為威脅行為體攻擊的入口,;高級(jí)網(wǎng)空威脅行為體也會(huì)劫持和利用低級(jí)網(wǎng)空威脅行為體所掌控的僵尸網(wǎng)絡(luò)等資源,這些都使局面更為復(fù)雜,。

  解讀復(fù)雜的攻擊行動(dòng),,并驅(qū)動(dòng)防御的改善,需要有更理想的結(jié)構(gòu)化方法,。殺傷鏈等模型用于解構(gòu)震網(wǎng)式的復(fù)雜攻擊,,依然顯得不足,需要進(jìn)一步改善,。威脅框架作為一種對(duì)攻擊過(guò)程更為結(jié)構(gòu)化和數(shù)據(jù)化的描述方法,,開(kāi)始成為改善防御能力的威脅認(rèn)知基礎(chǔ)。當(dāng)前較為流行的威脅框架主要有MITRE提出的ATT&CK,,和NSA提出的《NSA/CSS技術(shù)網(wǎng)空威脅框架》(NSA/CSS Technical Cyber Threat Framework),。后者對(duì)前者做了一定的借鑒工作。鑒于NSA/CSS技術(shù)網(wǎng)空威脅框架,,更具有情報(bào)機(jī)構(gòu)的背景,,因此更適合推演類似震網(wǎng)級(jí)別的A2PT攻擊。

  從威脅框架出發(fā),,針對(duì)威脅每個(gè)階段,、逐個(gè)行為推演,,無(wú)論對(duì)評(píng)估當(dāng)前防御體系及相關(guān)安全產(chǎn)品能力的有效性和合理性,,還是對(duì)形成體系化的防御規(guī)劃與建設(shè)目標(biāo),,都是一種有益的工作。2019年6月,,安天發(fā)布的“方程式組織”攻擊SWIFT服務(wù)提供商EastNets事件復(fù)盤分析報(bào)告中[5],,將事件涉及的威脅行為映射到了“NSA/CSS威脅框架”V2版本中。

  將震網(wǎng)事件涉及到的威脅行為映射到威脅框架的類別與動(dòng)作,,如圖4-1所示,。

640.webp (13).jpg

  圖 4-1 震網(wǎng)事件映射到威脅框架

  在震網(wǎng)行動(dòng)中共涉及21個(gè)目標(biāo)中的83種行為,其中包括推測(cè)的和確定執(zhí)行的行為,。

  表 4-1 震網(wǎng)事件中涉及的類別與動(dòng)作

2.jpg

1.jpg

3.jpg

  針對(duì)震網(wǎng)級(jí)別的攻擊,,需要重點(diǎn)關(guān)注的是其決策和準(zhǔn)備過(guò)程,類似如此復(fù)雜精密的攻擊,,如果不搭建一個(gè)完全等效的模擬靶場(chǎng)環(huán)境,,是很難達(dá)成效果的。如果僅僅把目光放在惡意代碼和漏洞利用工具本身,,而不能就行動(dòng)管理與資源保障,、目標(biāo)勘察與環(huán)境整備等前期環(huán)節(jié)進(jìn)行深入的分析,就一定程度上失去了引入威脅框架的意義,。但無(wú)疑,,這一部分的分析更為困難和復(fù)雜。

  從威脅框架視角重新梳理震網(wǎng),,也讓我們可以解開(kāi)“Michael之問(wèn)”,。2014年3月,洛克希德·馬丁公司的高級(jí)研究員Michael在博客上對(duì)震網(wǎng)事件的意圖和能力兩個(gè)方面進(jìn)行了分析,,提出了“Why Stuxnet Isn't APT,?”[6]這一設(shè)問(wèn)。在這篇文獻(xiàn)中,,Michael 以震網(wǎng)的傳播失控和明顯的物理空間后果不符合APT的高度定向性和隱蔽性,、震網(wǎng)比常見(jiàn)的APT攻擊更為高級(jí)等方面進(jìn)行了論述,其更傾向于震網(wǎng)是一種作戰(zhàn)行動(dòng),,而非APT攻擊,。Michael關(guān)于震網(wǎng)是一種比APT更高級(jí)的觀點(diǎn),與安天將震網(wǎng)級(jí)別的攻擊命名為A2PT觀點(diǎn)是相近的,。但從Michael的根本觀念是將APT與CNE(網(wǎng)絡(luò)情報(bào)利用)相映射的,,因此當(dāng)震網(wǎng)以達(dá)成CNA(網(wǎng)絡(luò)攻擊、作戰(zhàn))為目的的情況下,,則提出這種質(zhì)疑是有道理的,。但在現(xiàn)實(shí)場(chǎng)景下,很難生硬的把CNE與CNA割裂開(kāi),CNE通常是CNA的基礎(chǔ),。CNE轉(zhuǎn)化為CNA可能只是指令與策略的調(diào)整,。在威脅框架體系中,CNA的動(dòng)作是致效能力運(yùn)用中的中的若干動(dòng)作環(huán)節(jié),,這就將CNE與CNA良好的統(tǒng)合到一個(gè)框架體系中,,從而能更好的推動(dòng)分析與防御改善的體系的改善。

  5.震網(wǎng)的USB擺渡與傳播“失控”的原因

  震網(wǎng)是針對(duì)非常特殊的工業(yè)場(chǎng)景進(jìn)行攻擊的惡意代碼,,2019年,,有相關(guān)媒體報(bào)道,震網(wǎng)病毒進(jìn)入到伊朗相關(guān)物理隔離的工業(yè)網(wǎng),,是依靠荷蘭情報(bào)人員在攻擊方的要求下招募了“內(nèi)鬼”[7],。而在內(nèi)網(wǎng)中,震網(wǎng)主要的傳播方式為借助USB擺渡+基于漏洞的橫向移動(dòng),。其預(yù)設(shè)的攻擊場(chǎng)景是與互聯(lián)網(wǎng)隔離的內(nèi)部網(wǎng)絡(luò),。安天在最早的分析報(bào)告中,對(duì)于其傳播機(jī)理[1],,以如圖5-1進(jìn)行了說(shuō)明:

640.webp (14).jpg

  圖 5-1 樣本的多種傳播方式

  整體的傳播思路是:染毒U盤利用快捷方式文件解析漏洞,,傳播到內(nèi)部網(wǎng)絡(luò);在內(nèi)網(wǎng)中,,通過(guò)快捷方式解析漏洞,、RPC遠(yuǎn)程執(zhí)行漏洞、打印機(jī)后臺(tái)程序服務(wù)漏洞,,實(shí)現(xiàn)聯(lián)網(wǎng)主機(jī)之間的傳播,;最后抵達(dá)安裝了WinCC軟件的主機(jī),展開(kāi)攻擊,。在這一過(guò)程中,,亦存在染毒主機(jī)對(duì)插入的U盤進(jìn)行感染的過(guò)程,但經(jīng)過(guò)安天分析這一動(dòng)作并非是無(wú)條件的,。

640.webp (15).jpg

  圖 5-2 U盤感染過(guò)程中配置文件解析

  感染震網(wǎng)的計(jì)算機(jī)會(huì)監(jiān)控接入的設(shè)備,,一旦發(fā)現(xiàn)U盤插入且滿足條件即開(kāi)始寫入U(xiǎn)盤擺渡文件,具體條件如下:

  ●當(dāng)前時(shí)間的U盤沒(méi)有被感染,;

  ●根據(jù)配置標(biāo)記(不是默認(rèn)設(shè)置)來(lái)感染磁盤,,如果默認(rèn)配置不感染,那么感染的發(fā)生取決于日期,;

  ●感染當(dāng)前計(jì)算機(jī)少于21天,;

  ●U盤至少有5MB的剩余空間;

  ●U盤至少有3個(gè)文件,。

  USB文件和加載攻擊邏輯如圖5-3所示,,含4個(gè)適用于不同Windows版本的LNK快捷方式漏洞(CVE-2010-2568)文件和2個(gè)TMP文件(~WTR4141.tmp是USB Loader,,~WTR4132.tmp是Dropper,均為DLL格式,,文件屬性為隱藏,、系統(tǒng)),震網(wǎng)通過(guò)rootkit隱藏這6個(gè)文件,,因此被震網(wǎng)感染的計(jì)算機(jī)上并不能看到U盤里的這些文件。

  U盤擺渡攻擊過(guò)程為:被感染的U盤插入新的計(jì)算機(jī),,用戶打開(kāi)此U盤,,系統(tǒng)開(kāi)始遍歷U盤目錄文件,當(dāng)遍歷到LNK文件時(shí)漏洞觸發(fā)加載~WTR4141.tmp執(zhí)行,,~WTR4141.tmp首先會(huì)掛鉤文件相關(guān)函數(shù)隱藏這6個(gè)文件(在打開(kāi)U盤的一瞬間可以看到這4個(gè)LNK文件,,如果開(kāi)啟了顯示隱藏和系統(tǒng)文件選項(xiàng),還可以看到2個(gè)TMP文件,,但瞬間漏洞觸發(fā)這6個(gè)文件全部隱藏在文件夾下看不到了),,隨后~WTR4141.tmp在內(nèi)存中加載調(diào)用~WTR4132.tmp完成震網(wǎng)的主模塊執(zhí)行。

640.webp (16).jpg

  圖 5-3 USB文件和加載攻擊邏輯示意圖

  Stuxnet是否感染到U盤,,取決于加密配置文件mdmcpq3.pnf中的多個(gè)值,,包括:

  ●偏移0x6c、0x70,、0xc8處的標(biāo)記位,;

  ●偏移0x78、0x7c處的時(shí)間戳,;

  ●偏移0x80,、0x84處的數(shù)值。

  只有當(dāng)每個(gè)值對(duì)應(yīng)的條件都滿足時(shí),,才會(huì)感染U盤,。其中,偏移0xc8處的位默認(rèn)設(shè)置為不感染,。

  Stuxnet不會(huì)主動(dòng)修改配置數(shù)據(jù),,配置的更新通過(guò)版本更新來(lái)完成。因此,,我們認(rèn)為它是嘗試連接因特網(wǎng)來(lái)判斷自己是否在內(nèi)部網(wǎng)絡(luò)中,。如果是,就只通過(guò)其他途徑傳播,;只有通過(guò)連接服務(wù)器或其他被感染主機(jī)更新之后,,才感染U盤。

  當(dāng)Stuxnet感染U盤時(shí),,拷貝多個(gè).lnk快捷方式文件和兩個(gè).tmp文件到根目錄,。這兩個(gè).tmp文件,一個(gè)是用于隱藏它們自身的驅(qū)動(dòng)程序,帶有數(shù)字簽名,;另一個(gè)是病毒體本身以及一個(gè)投放器,,配置信息已經(jīng)存在于病毒體中。

  根據(jù)賽門鐵克在2010年7月-10月監(jiān)測(cè)的震網(wǎng)攻擊數(shù)據(jù),,全球155個(gè)國(guó)家的計(jì)算機(jī)被感染,,其中約60%的受害主機(jī)位于伊朗境內(nèi)[8]。對(duì)于一次被認(rèn)為是應(yīng)具有高度定向性質(zhì)的作業(yè)行動(dòng),,卻呈現(xiàn)出發(fā)散性傳播效果的原因,,目前各分析方給出了多種不同猜測(cè):

  ⊕第一種猜測(cè)是,各種原因?qū)е铝藗鞑ナЭ亍?/p>

  盡管震網(wǎng)本身的USB擺渡+橫向移動(dòng)設(shè)計(jì),,使其只能在內(nèi)網(wǎng)傳播,。但由于其本身的傳播和攻擊策略是基于隔離網(wǎng)絡(luò)目標(biāo)設(shè)計(jì),要達(dá)成一種無(wú)實(shí)時(shí)遠(yuǎn)控作業(yè),,因此多數(shù)條件下只能以預(yù)設(shè)停止傳播時(shí)間等因素,,而無(wú)法像基于互聯(lián)網(wǎng)的攻擊作業(yè)一樣,進(jìn)行遠(yuǎn)程遙控和調(diào)整,。由于蠕蟲感染了供應(yīng)商工程師帶入現(xiàn)場(chǎng)的筆記本設(shè)備,,之后又被帶入到供應(yīng)商自身的網(wǎng)絡(luò)中和其他客戶的內(nèi)網(wǎng)中。內(nèi)網(wǎng)的VPN互聯(lián)也加劇了這種傳播,,最終導(dǎo)致震網(wǎng)的傳播失控,。這種觀點(diǎn)與一些實(shí)際情況有一定沖突,比如震網(wǎng)0.5版本,,作業(yè)周期較長(zhǎng),,達(dá)成了攻擊目的,但并未發(fā)生擴(kuò)散傳播,。

  ⊕第二種猜測(cè)是,,這是作業(yè)方為獲取更多信息有意為之。

  其目的是根據(jù)感染鏈條,,進(jìn)一步了解伊朗核工業(yè)體系供應(yīng)商的情況,。德國(guó)控制系統(tǒng)安全顧問(wèn)Ralph Langner在《Stuxnet’s Secret Twin》(震網(wǎng)蠕蟲的秘密變種)[9]中的一個(gè)推測(cè)是這種外部擴(kuò)散,是因?yàn)楣粽呦M铏C(jī)獲取到與伊朗相關(guān)設(shè)施的供應(yīng)商的情報(bào),。他指出“鑒于Stuxnet將受感染系統(tǒng)的IP地址,、主機(jī)名以及基本配置信息上報(bào)給其C&C服務(wù)器,看來(lái)攻擊者顯然預(yù)期(并接受)傳播到非軍用系統(tǒng),,且相當(dāng)渴望密切監(jiān)測(cè)它—攻擊者最終將獲取在納坦茲工作的承包商以及其客戶的信息,,甚至伊朗秘密核設(shè)施的信息?!?/p>

  ⊕第三種猜測(cè)是作業(yè)方為了掩蓋定向攻擊意圖,,以感染范圍的擴(kuò)大提升取證溯源的難度,。

  包括干擾對(duì)真實(shí)攻擊目標(biāo)更準(zhǔn)確的判斷和定位。

  ⊕第四種猜測(cè)是攻擊方展示能力,,達(dá)成對(duì)他國(guó)恐嚇甚至訛詐的需要,。

  如果事件單一的發(fā)生于伊朗,可能導(dǎo)致此事件最終不會(huì)浮出水面,。而只有放任其“越獄”傳播,,才有可能更快達(dá)成此種效果。在《Stuxnet’s Secret Twin》(震網(wǎng)蠕蟲的秘密變種)一文中,,Ralph Langner同樣猜想,,“Stuxnet被發(fā)現(xiàn)意味著行動(dòng)的終結(jié),但是它的實(shí)用性并不一定結(jié)束,,它將向世界展示網(wǎng)絡(luò)武器在超級(jí)大國(guó)手中可以做什么。因?yàn)椴煌趯?shí)體軍事裝備的展示,,閱兵時(shí)是無(wú)法展示U盤,。攻擊者也可能關(guān)注另一個(gè)國(guó)家,最壞的情況下是一個(gè)對(duì)手,;而且將第一個(gè)證明其在數(shù)字領(lǐng)域的能力--這個(gè)場(chǎng)景簡(jiǎn)直可以說(shuō)是超級(jí)大國(guó)歷史上的另一個(gè)Sputnik(放衛(wèi)星)的時(shí)刻,。所有這些理由使得攻擊者不必太過(guò)擔(dān)心被檢測(cè)到?!?/p>

  震網(wǎng)的發(fā)散性傳播到底是一種“失控”,,還是攻擊方有意所為,或者兩者因素都存在,。最終的效果可能并非是某個(gè)單一原因,,而是多個(gè)因素的組合。

  6.震網(wǎng)為何有數(shù)千個(gè)樣本,?

  作為一種目標(biāo)高度定向的攻擊行動(dòng),,一個(gè)曾令人費(fèi)解的事實(shí)是,震網(wǎng)并不具備感染其他宿主文件的屬性,,但卻有大量的樣本存在,。

  在惡意代碼對(duì)抗工作中,樣本被視為一種重要的基礎(chǔ)資源,。樣本被視為惡意代碼所對(duì)應(yīng)的一種實(shí)體文件形態(tài),,包括帶有感染式病毒的宿主文件、非感染式惡意代碼的文件,、以及惡意代碼所存在的扇區(qū)或內(nèi)存的文件鏡像,。在威脅對(duì)抗的深度從最初的檢測(cè)、查殺,,逐漸擴(kuò)展到響應(yīng),,深度機(jī)理分析和溯源中,,我們也發(fā)現(xiàn)對(duì)樣本的需求和定義開(kāi)始發(fā)生一些變化。調(diào)查/獵殺意義上的樣本和傳統(tǒng)檢測(cè)意義上的樣本存在著差異,,傳統(tǒng)檢測(cè)意義的樣本既包含在現(xiàn)場(chǎng)場(chǎng)景中所采集的文件,,同時(shí)也包含了為了測(cè)試反病毒引擎的能力以及分析中所二次構(gòu)造出的樣本變換結(jié)果。對(duì)于檢測(cè)和清除能力來(lái)說(shuō),,進(jìn)行這種樣本構(gòu)造是必須完成的,,例如在樣本規(guī)范中,特別是對(duì)于感染式病毒來(lái)說(shuō),,為保證檢測(cè)和清除效果的檢驗(yàn),,相關(guān)業(yè)內(nèi)標(biāo)準(zhǔn)在DOS時(shí)代就提出過(guò)根據(jù)DOS_COM、DOS_MZ等文件大小,,被感染文件要達(dá)到規(guī)定的數(shù)量,,對(duì)于變形病毒的樣本,還有需要構(gòu)造出更多數(shù)量的樣本的要求,。而對(duì)調(diào)查/獵殺意義來(lái)說(shuō),,在攻擊場(chǎng)景中客觀存在則成為一種重要的需要被標(biāo)識(shí)出的樣本屬性。

  安天捕獲的震網(wǎng)樣本集合是數(shù)以千計(jì)的,,但這些樣本可以分成幾個(gè)不同的標(biāo)識(shí)維度,,基于U盤擺渡的原始載荷形態(tài)、在主機(jī)上落地的文件,、不落地的模塊(需要靜態(tài)拆離或動(dòng)態(tài)Dump)等等,。一類是從其中拆解出的最終攻擊載荷(在實(shí)際的攻擊中多數(shù)是不落地的)和一些輔助的驅(qū)動(dòng)等。從磁盤介質(zhì)提取的實(shí)體文件數(shù)量較多的主要分為三種:攻擊載荷釋放器Dropper(原始文件名為~WTR4132.tmp),、移動(dòng)介質(zhì)載荷加載器USB Loader(~WTR4141.tmp)和LNK漏洞利用文件,,其中Dropper樣本數(shù)量呈現(xiàn)發(fā)散態(tài),從安天所掌握的數(shù)量來(lái)看,,在千數(shù)量級(jí)別,。而最終的攻擊功能模塊載荷和輔助驅(qū)動(dòng)在百數(shù)量級(jí),總數(shù)呈現(xiàn)收斂態(tài),。

640.webp (17).jpg

  震網(wǎng)樣本集的分類情況如圖6-1所示,。

  圖 6-1 震網(wǎng)樣本集分類

  安天CERT分析發(fā)現(xiàn),造成震網(wǎng)樣本集基數(shù)較大的原因是:

  1.Dropper樣本在落地時(shí)寫入目標(biāo)配置導(dǎo)致文件變化

  攻擊載荷釋放器Dropper存在一個(gè)名為stub的資源段,,攻擊載荷(即主DLL)即存在于這個(gè)字段中,。而在病毒落地時(shí),stub段中存儲(chǔ)的配置數(shù)據(jù)會(huì)被當(dāng)前感染節(jié)點(diǎn)的相關(guān)信息數(shù)據(jù)更新,,這是導(dǎo)致震網(wǎng)樣本集數(shù)量多的一個(gè)最主要原因,。也就是說(shuō),每次落地震網(wǎng)都會(huì)再形成一個(gè)HASH不同的Dropper,。這就導(dǎo)致了震網(wǎng)的樣本集從HASH數(shù)量上看,,呈現(xiàn)發(fā)散狀態(tài),。而樣本集中Dropper功能的真實(shí)“版本”是有限的,Dropper中98.84%的導(dǎo)入表相同,,有91%的樣本text段單獨(dú)拆離出的文件是完全一致的,,MD5值均為17e2270d82d774b7f06902fa7d630c74,這是一個(gè)發(fā)生規(guī)模感染的Dropper主力版本,。

640.webp (18).jpg

  圖 6-2 Dropper導(dǎo)入表統(tǒng)計(jì)

  stub段作為主DLL存放的位置,,其布局解析如表6-1所示。

  解密主DLL的函數(shù)如下:

640.webp (19).jpg

  圖 6-3 主DLL函數(shù)解密

  主DLL之后的數(shù)據(jù)中存在加密的配置信息,,能夠在感染過(guò)程中控制震網(wǎng)的具體行為,,使得震網(wǎng)具備在無(wú)法遠(yuǎn)程控制的情況下,依然可以按照預(yù)設(shè)策略工作,,確保其復(fù)雜的作業(yè)可以成功,。其配置文件也記錄了被感染機(jī)器信息和時(shí)間等特征,這樣做的目的可能是攻擊者希望這些信息在感染時(shí)被提取記錄,,一旦聯(lián)網(wǎng)時(shí)可以直接將相關(guān)信息提交給C2,,而不用做二次提取操作,減少對(duì)主機(jī)環(huán)境操作,,以減少暴露的機(jī)會(huì),。

  部分解密后的配置信息如下:

640.webp (20).jpg

  圖 6-4 部分解密后的配置信息

  表6-2是部分配置內(nèi)容的解析,,這些值能夠控制震網(wǎng)在受害主機(jī)上的行為,,具體內(nèi)容包括:通過(guò)+A4值控制開(kāi)始感染時(shí)間,如果這個(gè)值不能滿足感染要求,,則退出,;通過(guò)+78值控制控制終止感染USB的時(shí)間,以及涉及控制震網(wǎng)傳播,、版本更新等值,。在解密后的配置信息中這種控制震網(wǎng)行為的值有近百個(gè),正是這些值來(lái)控制震網(wǎng)的復(fù)雜行為,。

  表 6-2 部分配置內(nèi)容解析

360截圖20191014161931924.jpg

  Dropper的配置文件校驗(yàn)函數(shù):

  圖 6-5 Dropper的配置文件校驗(yàn)函數(shù)

  配置塊的一些關(guān)鍵信息:如感染路徑,、感染時(shí)間、配置塊長(zhǎng)度,,通過(guò)提取配置數(shù)據(jù)分析后發(fā)現(xiàn),,由于在每次感染新的設(shè)備后,其自身都會(huì)更新數(shù)據(jù)配置塊,,致使每感染一臺(tái)設(shè)備,,Stuxnet就會(huì)多出一個(gè)含有新配置的Dropper樣本,圖6-6為震網(wǎng)開(kāi)始感染時(shí)間的數(shù)量分布圖,,其中2008年-2010年為可信度較高的感染時(shí)間,,而2000年-2007年為可信度較低的感染時(shí)間,。

640.webp (22).jpg

  圖 6-6 開(kāi)始感染時(shí)間數(shù)量分布圖(由于內(nèi)網(wǎng)主機(jī)可能的存在時(shí)鐘不同步問(wèn)題導(dǎo)致錯(cuò)誤的起始時(shí)間)

  在震網(wǎng)的安裝執(zhí)行過(guò)程中會(huì)多次檢查目標(biāo)系統(tǒng)當(dāng)前時(shí)間,如果目標(biāo)系統(tǒng)時(shí)間大于終止時(shí)間,,震網(wǎng)就會(huì)退出安裝執(zhí)行過(guò)程,。圖6-7是震網(wǎng)1.x版本終止U盤感染時(shí)間的統(tǒng)計(jì),它有三個(gè)終止U盤感染時(shí)間:2010年7月31日,、2010年8月31日,、2010年12月31日,其中絕大多數(shù)的終止U盤感染時(shí)間為2010年12月31日,。

640.webp (23).jpg

  圖 6-7 終止U盤感染時(shí)間統(tǒng)計(jì)

  2.分析提取工作導(dǎo)致的

  將震網(wǎng)的各個(gè)功能載荷從主DLL中剝離出來(lái),,是震網(wǎng)分析中的重要工作,這帶來(lái)了一種新的樣本統(tǒng)計(jì)上需要考慮的因素,,即何為原始樣本,,何為處理中的過(guò)程數(shù)據(jù)。震網(wǎng)主DLL文件在Dropper中采用UPX壓縮的方式進(jìn)行存儲(chǔ),,防止樣本大小過(guò)大,,減少傳播機(jī)會(huì)。在實(shí)際感染過(guò)程中主DLL不會(huì)落地,,在樣本集中有UPX加殼的主DLL文件,,在實(shí)際樣本集中存在,因Dump導(dǎo)致的不同版本,,未脫殼版本,,不同脫殼方式生成的版本等情況。

  在A2PT組織作業(yè)使用落地的樣本中,,很少看到使用殼的情況,,這可能與一些殺毒軟件會(huì)對(duì)殼報(bào)警、或輸出日志相關(guān),。但震網(wǎng)主DLL文件在Dropper是采用UPX殼壓縮的(毒曲也是如此),,究其原因,應(yīng)是出于減小文件體積的考慮,。

640.webp (24).jpg

  圖 6-8 未完全脫殼文件

  3.干擾數(shù)據(jù)

  在震網(wǎng)的USB Loader樣本集中,,有數(shù)以百計(jì)的樣本文件簽名損壞,且大量該類文件的尾部還追加了其他的LNK文件和某種反病毒產(chǎn)品的報(bào)警日志,,從目前分析來(lái)看,,這是某款反病毒產(chǎn)品的產(chǎn)品Bug導(dǎo)致的,其某版本在掃描樣本時(shí),,會(huì)錯(cuò)誤的樣本后面追加數(shù)據(jù),,從而引入數(shù)百被破壞的樣本。

640.webp (25).jpg

  圖 6-9 USB Loader尾部追加LNK文件

  7.惡意代碼框架與多起A2PT的事件關(guān)聯(lián)

  在震網(wǎng)事件曝光前后,,包括毒曲,、高斯,、火焰等高級(jí)惡意代碼被陸續(xù)曝光,由于這些惡意代碼都空前復(fù)雜,,且往往多在中東國(guó)家被發(fā)現(xiàn),,因此懷疑其相互間存在某種意義的關(guān)聯(lián),也成為了一種比較自然的猜想,。

  安天CERT在2011初提出了震網(wǎng)和毒曲可能存在某種關(guān)聯(lián)關(guān)系的猜測(cè),,但直到次年初,才完成比較系統(tǒng)的驗(yàn)證,。發(fā)布了《探索Duqu木馬的身世之謎》[10],、《從Duqu病毒與Stuxnet蠕蟲的同源性看工業(yè)控制系統(tǒng)安全》[11]兩篇文獻(xiàn),分別從模塊結(jié)構(gòu)相似性分析,、編譯器架構(gòu)相似性分析,、關(guān)鍵功能實(shí)現(xiàn)相似性分析、密鑰與其他關(guān)鍵數(shù)據(jù)相似性分析,、編碼心理特點(diǎn)分析,、相同的程序Bug分析等角度,證實(shí)了兩者存在同源關(guān)聯(lián)關(guān)系,。

640.webp (26).jpg

  圖 7-1 毒曲病毒與震網(wǎng)蠕蟲的代碼片斷比較

640.webp (27).jpg

  圖 7-2 毒曲病毒與震網(wǎng)蠕蟲使用相同密鑰

  安天在當(dāng)時(shí)做出的結(jié)論是“通過(guò)對(duì)毒曲病毒與震網(wǎng)蠕蟲關(guān)鍵代碼結(jié)構(gòu),、密鑰使用方法和代碼邏輯等的比較,我們發(fā)現(xiàn)了大量相同或相似的代碼片斷,,這說(shuō)明兩者間存在代碼復(fù)用關(guān)系,,或者兩者基于相同的代碼框架開(kāi)發(fā)?!钡珜?duì)于是復(fù)用關(guān)系,,還是同框架開(kāi)發(fā)這一問(wèn)題,,當(dāng)時(shí)并未給出定論,。而融合其他機(jī)構(gòu)的后期分析成果和進(jìn)展,可以形成的結(jié)論是,,相關(guān)A2PT攻擊組織至少維護(hù)了Tilded和Flamer兩個(gè)惡意代碼框架,。震網(wǎng)、毒曲與火焰,、高斯分別是基于Tilded和Flamer框架開(kāi)發(fā)的,。2012年6月11日,卡巴斯基發(fā)布報(bào)告稱2009年早期版本的(即0.5版)Stuxnet模塊(稱為“Resource 207”)實(shí)際上是一個(gè)Flame插件,。而這一成果也將Flamer和Tilded這兩個(gè)完全不同的框架串接了起來(lái),。基于這兩個(gè)框架的惡意代碼在感染目標(biāo)系統(tǒng)和執(zhí)行主要任務(wù)方面具有獨(dú)特的技巧,,均用來(lái)開(kāi)發(fā)不同的網(wǎng)空攻擊裝備,??ò退够岢龅慕Y(jié)論是:兩個(gè)框架背后的團(tuán)隊(duì)曾經(jīng)共享過(guò)至少一個(gè)模塊的源代碼,表明他們至少有一次團(tuán)隊(duì)合作,,是屬于同一機(jī)構(gòu)的兩個(gè)平行項(xiàng)目[12],。基于更多的線索,,還可以把Fanny和Flowershop與上述事件串接到一起,,它們的關(guān)系如圖7-3所示。

640.webp (28).jpg

  圖 7-3 震網(wǎng)和毒曲,、火焰,、高斯、Fanny,、Flowershop關(guān)系圖

  7.1Flamer框架

  Flamer框架的開(kāi)發(fā)時(shí)間可以追溯至2006年12月,,火焰和高斯是基于Flamer框架開(kāi)發(fā)的。安天于2012年5月28日起陸續(xù)捕獲到火焰蠕蟲的樣本[13],,并成立了專門的分析小組進(jìn)行持續(xù)分析,,發(fā)現(xiàn)火焰是采用多模塊化復(fù)雜結(jié)構(gòu)實(shí)現(xiàn)的信息竊取類型的惡意軟件。其主模塊文件大小超過(guò)6MB,,包含了大量加密數(shù)據(jù),、內(nèi)嵌腳本(如Lua等)、漏洞攻擊代碼,、模塊配置文件,、多種加密壓縮算法,信息盜取等多種模塊,。

  火焰的兩個(gè)主要版本為Flame 1.0和Flame 2.0,,兩個(gè)版本均由依賴于嵌入式Lua VM的主協(xié)調(diào)器指示的多個(gè)子模塊組成?;鹧婧透咚怪g包含一些相同代碼,,同時(shí)共享MiniFlame惡意軟件插件。

  7.2Tilded框架

  震網(wǎng)和毒曲是基于Tilded框架開(kāi)發(fā)的,。Tilded框架感染方式一般可以歸納為利用驅(qū)動(dòng)程序文件,,加載一個(gè)設(shè)計(jì)為加密庫(kù)的主模塊。同時(shí),,整個(gè)惡意復(fù)合體有一個(gè)單獨(dú)的配置文件,,系統(tǒng)注冊(cè)表中有一個(gè)加密塊,用于定義正在加載的模塊的位置和注入過(guò)程的名稱,。

  震網(wǎng)已知的版本包括Stuxnet0.5,、Stuxnet1.001和Stuxnet1.100。Stuxnet0.5是震網(wǎng)的早期版本,但是后被發(fā)現(xiàn)曝光,,該變種在2009年7月4日停止了對(duì)計(jì)算機(jī)的攻擊,。Stuxnet0.5與Stuxnet1.x版本的主要區(qū)別包括:Stuxnet1.x版本顯著增加了傳播和漏洞利用能力;Stuxnet0.5是部分基于Flamer框架的,,而Stuxnet1.x版本主要基于Tilded框架,;Stuxnet0.5采用導(dǎo)致超壓的方式,大規(guī)模破壞離心機(jī),,而Stuxnet1.x版本采取了新的攻擊策略,,從鈾濃縮閥破壞變成對(duì)離心機(jī)速度的修改。

  表 7-1 震網(wǎng)0.5與1.x版本技術(shù)細(xì)節(jié)全面對(duì)比

1.jpg

2.jpg

  毒曲的主要版本包括Duqu1.0,、Duqu1.5和Duqu2.0,。Duqu與Duqu2.0之間使用統(tǒng)一算法以及復(fù)用大量相同代碼,Duqu1.0和Duqu2.0之間攻擊目標(biāo)有很多重合,,Duqu1.5和Duqu2.0之間均使用了Pipe Backdoor插件,。

  震網(wǎng)和毒曲之間在模塊結(jié)構(gòu)、編譯器結(jié)構(gòu),、關(guān)鍵功能,、數(shù)據(jù)結(jié)構(gòu)、病毒作者心理等方面具有同源性[14],,此外,,震網(wǎng)和Duqu1.0、Duqu2.0均采用竊取自中國(guó)臺(tái)灣IT廠商的數(shù)字證書,。

  7.3震網(wǎng)與Fanny,、Flowershop的關(guān)聯(lián)

  從圖7-3中能夠看出,震網(wǎng)除了與毒曲,、火焰具有一定關(guān)聯(lián)之外,,其與Fanny、Flowershop也具有一定的關(guān)聯(lián),。

  Stuxshop是震網(wǎng)的早期組件,,用于管理早期C2。Stuxshop與Flowershop(活躍于2002年至2013年的惡意軟件平臺(tái))之間存在代碼重疊或共享,。

  方程式早期組件Fanny,,其使用了兩個(gè)震網(wǎng)的0day漏洞,,即LNK漏洞(CVE-2010-2568)以及嵌入在“Resource 207”中的提權(quán)漏洞,。此外,震網(wǎng)和方程式開(kāi)發(fā)者之間共享編碼風(fēng)格,,或者使用同樣的開(kāi)發(fā)規(guī)范手冊(cè),。

  8.直面檢測(cè)引擎與威脅情報(bào)面臨的挑戰(zhàn)

  在安天此前的分析報(bào)告中,針對(duì)A2PT帶來(lái)的防御挑戰(zhàn),進(jìn)行過(guò)一些論述和探討,,而針對(duì)震網(wǎng)的復(fù)盤,,我們希望聚焦一個(gè)具體的問(wèn)題,高級(jí)惡意代碼對(duì)檢測(cè)引擎和威脅情報(bào)的挑戰(zhàn),。

  作為攻擊載荷的惡意代碼是網(wǎng)空攻擊的“戰(zhàn)斗部”,,幾乎絕大多數(shù)的網(wǎng)空攻擊事件中都會(huì)出現(xiàn)惡意代碼的身影,在高能力網(wǎng)空威脅行為體的攻擊活動(dòng)中更是如此,。從威脅框架的視角來(lái)看,,高能力網(wǎng)空威脅行為體要針對(duì)目標(biāo)完成接觸目標(biāo)與進(jìn)攻突防、持久化駐留潛伏,、全程持續(xù)支撐作業(yè),,并進(jìn)一步達(dá)成各種致效能力運(yùn)用,在整個(gè)過(guò)程中,,既需要針對(duì)業(yè)務(wù)場(chǎng)景達(dá)成作業(yè)意圖,,又要繞開(kāi)體系化的防護(hù),達(dá)成深度持久化和隱蔽通訊等動(dòng)作,,其必然要完成高度復(fù)雜的邏輯功能執(zhí)行,。這導(dǎo)致了APT攻擊對(duì)惡意代碼的依賴程度在不斷加深,高級(jí)惡意代碼呈現(xiàn)出框架日趨龐大,、模塊眾多和指令體系原子化等趨勢(shì),。

  在過(guò)去對(duì)網(wǎng)空威脅的分析和對(duì)網(wǎng)空威脅行為體的追蹤中,安天對(duì)震網(wǎng),、火焰,、毒曲、方程式等擁有完整,、嚴(yán)密的作業(yè)框架與方法體系的攻擊活動(dòng),,以及其自研使用的的高級(jí)惡意代碼進(jìn)行了持續(xù)關(guān)注分析;同時(shí)也分析了一些組合使用“商業(yè)軍火”,、開(kāi)源免費(fèi)工具即較低水平的自研惡意代碼的定向攻擊活動(dòng),。這些分析工作是長(zhǎng)期的、高代價(jià)的,,但這些工作是實(shí)現(xiàn)更有效地防御和獵殺的基礎(chǔ),。賦能客戶建設(shè)動(dòng)態(tài)綜合防御體系是我們的目標(biāo);而針對(duì)攻擊裝備(惡意代碼,、漏洞利用程序和其他的工具)的斗爭(zhēng)一直是其中的焦點(diǎn),。

  在這種對(duì)抗中,傳統(tǒng)的反病毒引擎和威脅情報(bào)成為兩個(gè)具有互補(bǔ)作用的機(jī)制,,前者針對(duì)海量的惡意代碼的檢測(cè),、辨識(shí)能力,,并且通過(guò)深度預(yù)處理、虛擬執(zhí)行等機(jī)制來(lái)應(yīng)對(duì)惡意代碼的變種,、變換,,因此在載荷檢測(cè)方面,有無(wú)以倫比的識(shí)別與解析深度,,而且對(duì)海量載荷對(duì)象提供了精準(zhǔn)的判定機(jī)制,。但傳統(tǒng)病毒引擎在威脅對(duì)抗中的短板也很明顯,其是最容易被攻擊方獲得的安全資源,,絕大多數(shù)反病毒軟件都可以公開(kāi)的下載或低成本的購(gòu)買,、同時(shí)Virustotal等公開(kāi)的多引擎掃描機(jī)制也會(huì)成為攻擊方的測(cè)試資源。因此反病毒引擎面對(duì)自動(dòng)化構(gòu)造的免殺測(cè)試等方法,,有被繞過(guò)的必然性,。同時(shí)其本地檢測(cè)定期升級(jí)庫(kù)的機(jī)制,或者是云引擎對(duì)遠(yuǎn)程的依賴,,對(duì)內(nèi)網(wǎng)用戶也都帶來(lái)了一定的部署成本,。另一個(gè)問(wèn)題是,傳統(tǒng)反病毒引擎的工作視角是基于樣本檢出率為核心指標(biāo)的,,其信息輸出缺少?gòu)耐{對(duì)抗方面更明確的指向性,。這些短板都需要威脅情報(bào)進(jìn)行彌補(bǔ)。在威脅情報(bào)金字塔中,,HASH,、IP、域名等“狹義情報(bào)”被列入底層,,即獲取難度低,、應(yīng)用成本低。較為容易的被分析防御方提取為攻擊指示器(信標(biāo)),,同時(shí)可以與多種安全設(shè)備,、管理設(shè)備、防護(hù)軟件等現(xiàn)有擴(kuò)展接口實(shí)現(xiàn)對(duì)接,。

640.webp (29).jpg

  圖 8-1 威脅情報(bào)金字塔模型

  盡管與傳統(tǒng)的反病毒檢測(cè)引擎相比,,HASH檢測(cè)機(jī)制毫無(wú)魯棒性可言,但由于HASH的唯一性,,其在可靠的知識(shí)運(yùn)營(yíng)支撐的情況下,,可以建立起對(duì)攻擊組織的精準(zhǔn)的指向性。例如兩個(gè)不同的攻擊組織,,分別定制了同一個(gè)版本的商用木馬,,在文件尾部附著了各自的C2配置。對(duì)于反病毒引擎來(lái)說(shuō),,這是同一種樣本,,而對(duì)于HASH情報(bào)在分析支撐下輸出,,反而能將其區(qū)別出來(lái),。但HASH情報(bào)其可用前提也很明顯,,那就是存在著二進(jìn)制形態(tài)不變的樣本復(fù)用。對(duì)IP和域名規(guī)則也是如此,,當(dāng)情報(bào)供給方能將惡意活動(dòng)指向某個(gè)確定的通訊基礎(chǔ)設(shè)施(C2),,來(lái)完成心跳、控制,、升級(jí),、回傳等操作,并將這個(gè)惡意活動(dòng)指向某個(gè)攻擊組織時(shí),,那么相應(yīng)的網(wǎng)絡(luò)IoC就可以命中在其他攻擊活動(dòng)中的行為,,從而建立起攻擊行為和組織的關(guān)聯(lián)。這種低層次的攻擊指向器,,盡管效用機(jī)理比反病毒引擎和流量檢測(cè)引擎都要簡(jiǎn)單,,但基于其可以快速發(fā)布,廣泛擴(kuò)展,,精準(zhǔn)定義,,一定程度上帶了一種快速的、更為普適的監(jiān)測(cè)和普查能力,。因此傳統(tǒng)檢測(cè)引擎+IoC情報(bào)可以形成一定的互補(bǔ)組合的效果,。這種組合模式也是過(guò)去數(shù)年安天所推動(dòng)的模式。

  但通過(guò)復(fù)盤9年前的震網(wǎng)事件就可以看到,,這個(gè)層面的情報(bào)對(duì)于A2PT攻擊近乎無(wú)效,。每一臺(tái)主機(jī)上提取到Dropper文件的HASH都不可能命中另一臺(tái)主機(jī)上的等效文件。我們不能認(rèn)為震網(wǎng)Dropper的落地自寫更新機(jī)制,,主要目的是為了對(duì)抗HASH檢測(cè)機(jī)制,,但其客觀上構(gòu)成了這樣的效果。而更需要看到的是,,盡管在分析過(guò)程中,,可以看到震網(wǎng)攻擊的相關(guān)域名從2005年已經(jīng)被注冊(cè)。但在分析方將相關(guān)通訊特性作為規(guī)則時(shí),,震網(wǎng)的攻擊效果已經(jīng)達(dá)成,,而在毒曲等的攻擊中,我們亦廣泛看到內(nèi)網(wǎng)C2等機(jī)制的存在,。如果反病毒引擎是一種會(huì)被攻擊者重點(diǎn)繞過(guò)的重載機(jī)制,,而攻擊指示器(信標(biāo))又作為一種穩(wěn)定性極低的情報(bào)機(jī)制的話,這對(duì)雙保險(xiǎn)的效果就會(huì)大打折扣,。

  安天基于傳統(tǒng)檢測(cè)引擎在威脅對(duì)抗中,,是攻擊方重點(diǎn)繞過(guò)環(huán)節(jié)的特點(diǎn),,自2016年起開(kāi)始研發(fā)下一代威脅檢測(cè)引擎。安天下一代引擎延續(xù)并深化了安天傳統(tǒng)引擎格式識(shí)別,、深度解析等特點(diǎn),,繼承對(duì)海量惡意代碼精準(zhǔn)的分類到變種的識(shí)別能力。同時(shí),,以沒(méi)有可信的格式和對(duì)象為前提,,形成對(duì)檢測(cè)對(duì)象全格式識(shí)別,對(duì)更多重點(diǎn)格式形成深度解析能力,。不止為調(diào)用環(huán)節(jié)輸出判定結(jié)果,,同時(shí)也可以將檢測(cè)對(duì)象的向量拆解結(jié)果結(jié)構(gòu)化輸出,形成支撐產(chǎn)品場(chǎng)景和態(tài)勢(shì)感知場(chǎng)景研判分析,、關(guān)聯(lián)與追溯的數(shù)據(jù)資源,。

  探索檢測(cè)引擎與威脅情報(bào)更好的結(jié)合,建立起更可靠的基礎(chǔ)標(biāo)識(shí)能力與響應(yīng)機(jī)制,,更有效的支撐TTP,,乃至人員組織相關(guān)的情報(bào),建立起更完善的知識(shí)工程運(yùn)營(yíng)體系,,這對(duì)我們來(lái)說(shuō),,將是一個(gè)需要長(zhǎng)期努力的方向。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。