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