歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

震網事件的九年再復盤與思考

來源:本站整理 作者:佚名 時間:2019-10-06 TAG: 我要投稿

1、小序
2010年7月,“震網”(Stuxnet)蠕蟲攻擊事件浮出水面,引發了國際主流安全廠商和安全研究者的全面關注,安天、卡巴斯基、賽門鐵克等安全廠商,Ralph Langne等著名安全研究者,以及多國的應急組織和研究機構,都投入到了全面的分析接力中。最終使這場攻擊的大量細節被呈現出來:這是一起經過長期規劃準備和入侵潛伏作業;借助高度復雜的惡意代碼和多個零日漏洞作為攻擊武器;以鈾離心機為攻擊目標;以造成超壓導致離心機批量損壞和改變離心機轉數導致鈾無法滿足武器要求為致效機理,以阻斷伊朗核武器進程為目的的攻擊。
9年的時間過去了,這一安全事件依然在安天的研究視野中。安天從2010年7月15日展開對震網的分析工作,搭建了模擬環境,在9月27日發布了《對Stuxnet蠕蟲攻擊工業控制系統事件的綜合分析報告》[1],在后續形成了對其傳播機理進行分析的《對Stuxnet蠕蟲的后續分析報告》[2],以及分析其對工業生產過程作用機理的《WinCC后發生了什么》[3]系列分析報告。
安天提出了震網與毒曲(Duqu)同源的猜測,并先后發表了兩篇驗證性報告,并啟動了對火焰(Flame)惡意代碼的馬拉松式的模塊分析。在工作推進中,安天逐步認識到震網、毒曲、高斯(Gauss)、火焰,這些高度復雜的惡意代碼間存在著同樣的背景聯系。這些研究工作對安天后續展開對方程式組織(Equation)的深度分析起到了非常重要的作用。
由于歷史原因,其中部分研究文獻并未公開,而一些分析進展是碎片化的,雖然在我們的對外技術演講中有所提及,但并未作為文獻發布。這是安天編寫這篇文獻的原因之一。震網的整體運行框架、USB擺渡機理和傳播失控分析,以及圖解Tilded框架與Flamer框架的關聯,將震網、火焰、毒曲、高斯、Fanny、Flowershop之間的關系進行串接的相關章節,是對這些成果的整理。
今天看來,在前期分析震網系列事件的過程中,我們缺少一種真正意義上的框架化方法。依然更多的是從自身習慣的反惡意代碼視角來看待整個攻擊過程。盡管我們給震網這樣的復雜攻擊提出了一個A2PT(即高級的高級可持續性威脅)的命名,但分析中始終缺乏作業到作戰視角的思考。在相關專家的指導下,我們對網空博弈、敵情想定有了新的體悟,逐漸從威脅框架視角進行方法論切換,實現自我能力完善。也希望通過威脅框架這一視角來解讀“震網”這場看起來依然高度復雜的“昨天的戰爭”。
本文也詳細解讀了一個值得思考的問題,震網作為一種沒有感染屬性的蠕蟲,為何會有大量的樣本存在。這個原理我們在早期的分析工作中已經發現,即震網的載荷投放程序,在每落地一臺機器時,會有一個內嵌配置數據的自我更新,從而導致震網的每次落地形成的主執行體的HASH均不同,同時其實際攻擊載荷多數均被包裹在主DLL之中,并不落地。而震網的相關域名則是在其已經達成其主體作業效果的情況下才被曝光的。這從某種意義上也昭示了面對更高級、隱蔽的攻擊行動,以HASH、域名等為主體的威脅情報實際上早就面對著無效的危機。

圖 1-1 震網事件時間軸
2、為什么是震網
在信息技術發展歷史上,出現過大量典型的安全事件,但為什么“震網”被視為具有威脅里程碑意義?震網被認為是第一個以現實世界中的關鍵工業基礎設施為目標的惡意代碼,并達到了預設的攻擊目標,或者說,這是第一個“網絡空間”意義上的重大攻擊事件,而非傳統的網絡攻擊事件。盡管此前也存在著一些通過信息攻擊手段影響工業設施的傳聞,但基本都缺乏技術層面的實證支撐。
從安天此前提出的觀點來看,震網的里程碑意義并不是在于其相對其他簡單的網絡攻擊的復雜性和高級性,而在于其證實了通過網絡空間手段進行攻擊,可以達成與傳統物理空間攻擊(甚至是火力打擊)的等效性。在2016年的報告中,安天研究人員將上世紀70、80年代的“凋謝利刃與巴比倫行動”(在1977年~1981年間發生的以、美聯合,在兩伊戰爭期間針對伊拉克核反應堆進行軍事打擊的事件)與震網事件進行對比分析看出,通過大量復雜的軍事情報和成本投入才能達成的物理攻擊效果僅通過網絡空間作業就可以達成,而且成本也大大降低。正如美國陸軍參謀長前高級顧問Maren Leed所講的——網絡武器可以有許多適應環境的屬性,從生命周期的成本角度看,它們比其他的武器系統更為優越[4]。

震網系列攻擊也全面昭示了工業基礎設施可能被全面入侵滲透乃至完成戰場預制的風險,震網的成功是建立在火焰、毒曲惡意代碼的長期運行、信息采集的基礎上。在攻擊伊朗鈾離心設施之前,攻擊方已經入侵滲透了伊朗的多家主要國防工業和基礎工業廠商,包括設備生產商、供應商、軟件開發商等,表2-2是多個企業遭遇入侵的事件。
表 2-2 伊朗基礎工業體系遭遇滲透的情況

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

[1] [2] [3] [4] [5] [6] [7]  下一頁

【聲明】:黑吧安全網(http://www.eyhadu.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        彩票大数据