摘要
2021年10月22日,在無錫舉辦的2021世界物聯(lián)網(wǎng)博覽會-物聯(lián)網(wǎng)信息安全高峰論壇上,奇安信威脅情報中心負責人汪列軍帶來了閉門會議議題《針對中國的供應鏈來源APT攻擊分析》的精彩分享。議題重點介紹了國內(nèi)遭受的APT供應鏈攻擊的多個案例,披露了多個奇安信威脅情報中心紅雨滴團隊獨家發(fā)現(xiàn)的針對我國的APT供應鏈攻擊:包括針對某頂級虛擬貨幣交易所、某知名在線客服系統(tǒng)、多個國內(nèi)網(wǎng)絡安全公司的APT供應鏈攻擊活動,影響面巨大。而這類來源于供應鏈并最終造成巨大危害的安全事件其實并不少見,在本報告中,奇安信威脅情報中心對軟件供應鏈的概念進行了梳理,分析了各環(huán)節(jié)中已有的事件實例,最后提供一些從供應鏈安全角度對威脅進行防護的對策和建議。
威脅情報中心負責人汪列軍分享議題《針對中國的供應鏈來源APT攻擊分析》
02
概述
2021年10月22日,國內(nèi)安全廠商披露了一起針對Npm倉庫ua-parser-js庫的供應鏈攻擊活動。攻擊者通過劫持ua-parser-js官方賬號,并且投放惡意ua-parser-js安裝包,該軟件包每周下載量超百萬次,影響面頗廣。北美時間2020年12月13日,多家歐美媒體報道美國多個重要政企機構(gòu)遭受了國家級APT組織的入侵,攻擊疑似由于網(wǎng)絡安全管理軟件供應商SolarWinds遭遇國家級APT團伙高度復雜的供應鏈攻擊并植入木馬后門導致。奇安信威脅情報中心第一時間通過解碼部分DGA域名,推導出部分受害者計算機域,從而發(fā)現(xiàn)大量中招的知名企業(yè)和機構(gòu),其中不乏Intel、Cisco等在美高科技企業(yè)以及各類高校和政企單位。同時,近年來大量的使用軟件捆綁進行傳播的黑產(chǎn)活動也被揭露出來,從影響面來看這些惡意活動的力度頗為驚人,這類來源于供應鏈并最終造成巨大危害的安全事件其實并不少見,而我們所感知的可能只是冰山一角而已。
以最近這些事件為切入點,奇安信威脅情報中心對軟件供應鏈來源的攻擊做了大量的案例分析,得到了一些結(jié)論并提供對策建議。在本報告中,奇安信威脅情報中心首先對軟件供應鏈的概念進行了梳理,劃分了開發(fā)、交付及使用環(huán)節(jié)。然后針對每個環(huán)節(jié),以實例列舉的方式分析了相應環(huán)節(jié)中目前已經(jīng)看到過的攻擊向量,同時提供了每個事件的發(fā)生時間、描述、直接威脅和影響范圍等信息。在這些案例分析的基礎上,整合信息做可視化展示并提出一些結(jié)論。最后,基于之前章節(jié)的事實分析,奇安信威脅情報中心提出了從供應鏈安全角度對相應威脅進行防護的對策和建議。
03
軟件供應鏈相關概念
01
概念和環(huán)節(jié)劃分
傳統(tǒng)的供應鏈概念是指商品到達消費者手中之前各相關者的連接或業(yè)務的銜接,從采購原材料開始,制成中間產(chǎn)品以及最終產(chǎn)品,最后由銷售網(wǎng)絡把產(chǎn)品送到消費者手中的一個整體的供應鏈結(jié)構(gòu)。
傳統(tǒng)商品的供應鏈概念也完全適用于計算機軟硬件,則可以衍生出軟件供應鏈這一概念。出于簡化分析的目的,我們將軟件供應鏈簡單抽象成如下幾個環(huán)節(jié):
1
開發(fā)環(huán)節(jié)
軟件開發(fā)涉及到的軟硬件開發(fā)環(huán)境、開發(fā)工具、第三方庫、軟件開發(fā)實施等等,并且軟件開發(fā)實施的具體過程還包括需求分析、設計、實現(xiàn)和測試等,軟件產(chǎn)品在這一環(huán)節(jié)中形成最終用戶可用的形態(tài)。
2
交付環(huán)節(jié)
用戶通過在線商店、免費網(wǎng)絡下載、購買軟件安裝光盤等存儲介質(zhì)、資源共享等方式獲取到所需軟件產(chǎn)品的過程。
3
使用環(huán)節(jié)
用戶使用軟件產(chǎn)品的整個生命周期,包括軟件升級、維護等過程。
02
灰色供應鏈
在國內(nèi),眾多的未授權(quán)的第三方下載站點、云服務、共享資源、破解盜版軟件等共同組成了灰色軟件供應鏈,這些環(huán)節(jié)的安全性問題其實也屬于軟件供應鏈攻擊的范疇,但由于這些問題屬于長期困擾我國信息系統(tǒng)安全的灰色供應鏈問題,具有一定的中國特色,故單獨進行說明。
我們在接下來的事件分析中會有很多涉及到灰色供應鏈的案例,特別是軟件交付環(huán)節(jié)中的“捆綁下載”等案例,以及各類破解、漢化軟件被植入木馬后門等,而這些案例也會被歸屬到我們定義的軟件供應鏈攻擊范疇中。
04
攻擊場景與案例分析
前面定義了軟件供應鏈的概念并抽象出了軟件供應鏈的幾大環(huán)節(jié),那么顯而易見的是,攻擊者如果針對上述各個環(huán)節(jié)進行攻擊,那么都有可能影響到最終的軟件產(chǎn)品和整個使用場景的安全。從我們分析的多個現(xiàn)實攻擊的案例來看,第三方庫、開發(fā)工具、開發(fā)軟硬件環(huán)境、到達用戶的渠道、使用軟硬件產(chǎn)品的過程等供應鏈相關的安全風險,并不低于針對軟件應用本身、相應操作系統(tǒng)的安全漏洞導致的安全風險。
近年來我們觀察到了大量基于軟硬件供應鏈的攻擊案例,比如針對Xshell源代碼污染的攻擊機理是攻擊者直接修改了產(chǎn)品源代碼并植入特洛伊木馬;針對蘋果公司的集成開發(fā)工具Xcode的攻擊,則是通過影響編譯環(huán)境間接攻擊了產(chǎn)出的軟件產(chǎn)品。這些攻擊案例最終影響了數(shù)十萬甚至上億的軟件產(chǎn)品用戶,并可以造成比如盜取用戶隱私、植入木馬、盜取數(shù)字資產(chǎn)等危害。接下來我們將從劃分出來各環(huán)節(jié)的角度,舉例分析這些針對供應鏈攻擊的重大安全事件。
01
開發(fā)環(huán)節(jié)
軟件開發(fā)涉及到軟硬件開發(fā)環(huán)境部署、開發(fā)工具、第三方庫等的采購/原料供應、軟件開發(fā)測試等等,各環(huán)節(jié)都可能被惡意攻擊,在針對軟件開發(fā)環(huán)境的攻擊中就有開發(fā)機器被感染病毒木馬、開發(fā)工具植入惡意代碼、第三方庫被污染等攻擊方式。
而具體的軟件開發(fā)更是一個復雜的過程,不單單是源碼的編寫,還涉及到諸如需求分析、開源/商業(yè)庫使用、算法、外包開發(fā)等等復雜環(huán)節(jié),其中的各個環(huán)節(jié)都有可能被攻擊并造成嚴重后果。最近的Xshell后門代碼植入事件就是最切實的例子,更早的事件還包括NSA聯(lián)合RSA在加密算法中植入后門等,下面是我們整理的在開發(fā)環(huán)節(jié)針對開發(fā)環(huán)境以及軟件開發(fā)過程進行工具污染、源代碼攻擊以及廠商預留后門等真實案例。
開發(fā)工具污染
針對開發(fā)工具進行攻擊,影響最為廣泛的莫過于XcodeGhost(Xcode非官方版本惡意代碼污染事件),值得一提的是早在30多年前的1984年,UNIX創(chuàng)造者之一Ken Thompson在其ACM圖靈獎的獲獎演講中發(fā)表了叫做Reflections on Trusting Trust(反思對信任的信任)的演講。他分三步描述了如何構(gòu)造一個非常難以被發(fā)現(xiàn)的編譯器后門,后來被稱為 the Ken Thompson Hack(KTH),這或許是已知最早的針對軟件開發(fā)工具的攻擊設想。而最近的XcodeGhost最多只能算是KTH的一個簡化版本,沒有試圖隱藏自己,修改的不是編譯器本身,而是Xcode附帶的框架庫。