供應鏈隱秘攻擊之謎-罕見的“CosmicStrand”UEFI Rootkit現身攻防對抗新賽道
Rootkits是植入操作系統最深處的惡意軟件。雖然在理論上它們可能對攻擊者有吸引力,但編制這種惡意軟件存在巨大的技術挑戰,即使最輕微的編程錯誤都有可能使受害機器完全崩潰。卡巴斯基研究團隊認為,盡管存在這些風險,但他們預計會有更多的攻擊者具備開發此類工具所需的復雜程度和技術能力。嵌套在如此低級的操作系統中的惡意軟件的主要吸引力之一是極難檢測,并且在固件rootkits的情況下,即使重新安裝操作系統或用戶完全更換機器的硬盤驅動器,也將確保計算機保持受感染被控制狀態。研究人員推測,固件威脅提供了終極隱身性和持久性——并且可能通過供應鏈中受污染的固件組件進行分發。
一個名為“CosmicStrand”的Windows固件 rootkit已經出現在網絡威脅的蒼穹中,目標是統一可擴展固件接口(UEFI),以實現隱身和持久化。UEFI固件的任務是啟動Windows 計算機,包括加載操作系統。因此,如果固件被惡意代碼污染,該代碼將在操作系統啟動之前加載-這使得大多數安全措施和操作系統級防御對其視不可見。
卡巴斯基的研究人員在7月25日的一篇帖子中解釋說:“由于固件駐留在與硬盤驅動器分開的芯片上,這使得對UEFI固件的攻擊異常隱蔽和持久。” “無論操作系統重新安裝多少次,惡意軟件都會留在設備上。”
一旦觸發,代碼會在漫長的執行鏈后在 Windows操作系統中部署一個惡意組件。該組件連接到命令和控制服務器 (C2) 并等待指令下載額外的惡意代碼片段,惡意軟件將這些代碼片段映射到內核空間并組裝成 shellcode。
Kaspersky獲得的一個shellcode樣本,其功能是在受害者的機器上創建一個新用戶并將其添加到本地管理員組中。
卡巴的文章由此推斷,從C2服務器接收到的 shellcode可能是攻擊者提供的PE可執行文件的暫存器,而且很可能存在更多。
卡巴大致還原的感染過程
在深入了解組成這個rootkit 的各種組件之前,卡巴想提供一個關于它試圖完成的任務的高級視圖。此執行鏈的目標是在每次啟動時從受感染的UEFI組件開始將內核級植入部署到Windows系統中。
UEFI惡意軟件作者面臨一個獨特的技術挑戰:他們的植入程序在啟動過程中很早就開始運行,以至于操作系統(在本例中為Windows)甚至還沒有加載到內存中——到那時,UEFI執行上下文將終止。找到一種在各個啟動階段一直傳遞惡意代碼的方法是rootkit完成的主要任務。
該工作流程包括連續設置掛鉤,允許惡意代碼持續存在直到操作系統啟動之后。涉及的步驟是:
- 初始受感染的固件引導整個鏈;
- 該惡意軟件在啟動管理器中設置了一個惡意鉤子,允許它在執行之前修改 Windows的內核加載程序;
- 通過篡改操作系統加載程序,攻擊者能夠在Windows內核的功能中設置另一個鉤子;
- 當稍后在操作系統的正常啟動過程中調用該函數時,惡意軟件最后一次控制了執行流程;
- 它在內存中部署一個shellcode并聯系C2服務器以檢索實際的惡意負載,以在受害者的機器上運行。

正如美國國土安全部 (DHS) 和商務部在3月份關于固件威脅的報告中所說,rootkit帶來了巨大的風險。

政府機構在聯合報告草案中指出:“攻擊者可以破壞操作系統和虛擬機監控程序的可見性,繞過大多數安全防御系統,隱藏并在網絡和設備中長時間存在,同時進行攻擊操作,并造成不可挽回的損害。”
研究人員指出,這一特定活動似乎高度針對中國的特定個人,在伊朗和越南也出現了一些案例。目前尚不清楚Cosmic Strand的最終結局是什么,但它很可能是一場間諜活動;卡巴斯基將此活動歸因于與MyKings僵尸網絡團伙重疊的一種尚不為人知的講中文的高級持續性威脅 (APT) 。
供應鏈安全之“邪惡女仆”的擔憂
研究人員對rootkit是如何進入人們的機器知之甚少。盡管如此,根據卡巴斯基的說法,供應鏈的弱點是可能的,“在網上發現的未經證實的賬戶表明一些用戶在網上訂購硬件組件時收到了做過手腳的設備。”
通過修補特定驅動程序以重定向到在系統啟動期間執行的惡意代碼,這類修改被專門引入特定驅動程序。
卡巴斯基研究人員指出:“我們評估[對驅動程序]的修改可能是使用自動修補程序執行的。” “如果是這樣,那么攻擊者可以事先訪問受害者的計算機,以提取、修改和覆蓋主板的固件。這可以通過已經部署在計算機上的前體惡意軟件植入物,或者依賴于物理訪問(即邪惡的女仆攻擊場景)。”
卡巴研究人員補充說,在攻擊中,植入物特別注入到了共享H81芯片組的技嘉和華碩主板。這為最初的入侵突破提供了另一種可能性。
報告稱:“這表明可能存在一個常見漏洞,允許攻擊者將他們的rootkit注入到固件的映像中。”
CosmicStrand最早出現在2016
非常值得注意的是,自2016年底以來,CosmicStrand似乎已經在野外使用,這早于UEFI攻擊被認為是重大問題。
“盡管最近被發現,CosmicStrand UEFI固件 rootkit似乎已經部署了很長時間,”卡巴斯基全球研究與分析團隊 (GReAT) 的高級安全研究員Ivan Kwiatkowski 說。“這表明一些威脅參與者擁有非常先進的能力,自2017年以來他們一直設法保持低調。我們想知道他們在此期間制造了哪些我們尚未發現的新工具。”
UEFI rootkit在野外仍然很少見,這要歸功于它們開發的復雜性和難度——但它們也不是神話。2017年,奇虎360研究團隊觀察到第一個野外應用,疑是被某國支持的APT使用;卡巴斯基認為CosmicStrand與該威脅有關,該威脅被稱為Spy Shadow Trojan。即使這樣,卡巴研究團隊認為他們沒有足夠的信息將CosmicStrand與現有的已知攻擊組織聯系起來。
然后,ESET在2018年發現了一個被俄羅斯國家贊助的威脅組織APT28(又名Fancy Bear、Sednit或Sofacy)使用。它之所以被稱為LoJax ,是因為它的底層代碼是 Absolute Software 的筆記本電腦LoJack恢復軟件的修改版本。
從那以后,其他的就很少曝光了,比如卡巴斯基分別在2020年和2022年發現的MosaicRegressor和MoonBounce 。
卡巴斯基研究人員警告說,這些類型的 rootkit仍然比較神秘,目前所知道的并不多,值得分析師社區更多關注。
卡巴斯基的結論認為,“CosmicStrand是一個復雜的UEFI固件 rootkit [它]似乎已經使用了幾年,但仍然存在許多謎團,”他們指出。“還有多少植入物和 C2服務器仍然在躲避我們?哪些最后階段的有效載荷正在交付給受害者?而且,CosmicStrand真的有可能通過‘攔截’包接觸到它的一些受害者嗎?無論如何,到目前為止發現的多個rootkit證明了我們行業中的一個盲點,需要盡快解決。”
一個自然而然的問題是,如果這種UEFI植入物似乎自2016年底以來就已被廣泛使用——早在UEFI攻擊開始被公開描述之前。這一發現引出了最后一個問題:如果這就是攻擊者當時使用的東西,那么他們今天使用的是什么?
上述由國土安全部牽頭的聯合報告草案指出,固件呈現出“一個巨大且不斷擴大的攻擊面”。他們補充說,固件安全性經常被忽視,盡管它是攻擊者可以大規模破壞設備的最隱秘方法之一。