譯者 | 晶顏
審校 | 重樓
如今,所有主流的操作系統和軟件程序都會自動接收安全更新,以幫助用戶保護他們的系統免受每月發現的大量漏洞的攻擊。但對于影響我們日常生活的數十億嵌入式設備來說,情況卻并非如此。

從關鍵基礎設施和醫院中所用的設備到我們家中使用的設備,其中許多都依賴于稱為“固件”的低級軟件來運行。所謂“固件”是直接與硬件組件交互和控制的代碼,它通常存儲于附加在電路板上的特殊只讀存儲器芯片中。和其他形式的軟件一樣,固件同樣存在安全問題。
更新固件的過程通常被稱為“刷機”(flashing),其復雜性差異很大,通常需要手動步驟和對設備的物理訪問,有些設備甚至無法被最終用戶更新。這使得修補固件漏洞成為一個漫長而復雜的過程,這就是固件漏洞往往會在設備中保持多年(通常是永遠)未修補的原因所在。
以下是近年來發現的一些關鍵固件漏洞,這些漏洞影響了大量設備和行業,需要更新固件進行修復。
1.BlueBorne
2017年,國外安全廠商Armis公布了8個藍牙漏洞,允許攻擊者無視藍牙版本完全控制設備和數據。Armis將這組漏洞合為名叫“BlueBorne”的攻擊媒介,危及支持藍牙功能的移動、桌面和物聯網操作系統,包括Linux、Android、Windows和macOS等設備。
憑借這些漏洞,黑客能夠通過無線方式利用藍牙協議攻擊和控制設備、訪問數據和網絡,甚至滲透到某些安全的物理隔離網絡,并在設備間傳播惡意軟件。期間,攻擊者無需與目標設備進行配對。
據估計,這些漏洞影響了超過50億臺設備。在電腦上,通過操作系統更新更容易修復,而支持藍牙的智能手表、電視、醫療設備、汽車信息娛樂系統、可穿戴設備和其他物聯網設備則需要固件更新。
2.KRACK
KRACK,即密鑰重裝攻擊(Key Reinstallation Attack),是由Wi-Fi安全研究員、魯汶大學教授Mathy Vanhoef于2016年設計的一種攻擊。它利用了當時用于保護大多數無線網絡的WPA2無線安全標準的一個弱點。
在密鑰重裝攻擊當中,攻擊者會誘導受害者重新安裝已經被使用過的密鑰。具體實現方法是操縱并重播密碼握手消息。當受害者重新安裝密鑰時,增量發送分組號(即隨機數)以及接收分組號(即重播計數器)等相關參數將被重置為初始值。從本質上來講,為了保證安全性,每條密鑰只能安裝并使用一次。遺憾的是,WPA2協議中并不包含這一強制要求。通過操縱加密握手過程,攻擊者將能夠在實踐當中利用這一致命缺陷。
具體來說,攻擊者能夠利用這種攻擊方法讀取此前被認為是安全加密的信息,進而竊取各類敏感信息,具體包括信用卡號碼、密碼、聊天信息、電子郵件以及圖片等等。
由于該標準本身存在缺陷,WPA2在所有類型設備(包括家庭路由器和其他物聯網設備)中的實現都受到了影響。修復該漏洞需要固件更新,因此許多不受支持的設備直到今天仍然容易受到攻擊。
3.FragAttacks
2021年,安全研究人員Mathy Vanhoef發現的一系列安全漏洞,合稱為“碎片聚合攻擊”(FragAttacks),這些漏洞影響了許多設備(包括電腦、智能手機和智能設備)上的Wi-Fi實現,且最早可以追溯到1997年。這意味著,自1997年以來的所有Wi-Fi設備無一幸免。
新發現的漏洞中,有三個是影響大部分設備的幀聚合和幀碎片功能Wi-Fi 802.11標準設計缺陷,其他的則是Wi-Fi產品的編程錯誤。這些漏洞影響所有Wi-Fi安全協議,包括WPA3身份驗證,它們允許攻擊者在易受攻擊的Wi-Fi網絡范圍內竊取用戶信息并攻擊和控制設備。
4.SSID混淆
2024年5月,Mathy Vanhoef和一位魯汶大學的同事發現了另一種名為“SSID混淆”的攻擊。該攻擊利用Wi-Fi標準的一個弱點,誘騙用戶設備連接到非法接入點,影響了所有操作系統上的所有Wi-Fi客戶端。
據了解,該設計缺陷的根因在于IEEE 802.11標準并不總是要求網絡的SSID進行連接認證。SSID識別唯一的無線訪問點和網絡,因此與臨近區域的其它網絡有所不同。問題在于,IEEE 802.11標準并不強制要求SSID包含在密鑰衍生流程中。換句話說,SSID并不總是客戶端設備連接到SSID時認證流程的一部分。在這些實現中,攻擊者有機會設置惡意訪問點、嗅探可信網絡的SSID,并利用它將受害者降級到可信度更低的網絡中,從而可能導致數據攔截和其他安全漏洞。
5.BadUSB
BadUSB最早是在2014年的黑帽大會上研究人員JakobLell和Karsten Nohl提出并展示的。不同于老式的U盤病毒,它利用了USB協議中的一個漏洞,用戶只需插入BadUSB,就會自動執行預置在固件中的惡意代碼。
BadUsb插入后,會模擬鍵盤鼠標對電腦進行操作,通過這些操作打開電腦的命令終端,并執行一條命令,這條命令將從指定網址下載其他代碼并于后臺靜默運行。這些代碼功能包括:竊取信息、反彈shell、發送郵件等,從而實現控制目標機或者竊取信息的目的。
惡意代碼存在于U盤的固件中,PC上的殺毒軟件無法訪問到U盤存放固件的區域,因此也就意味著殺毒軟件和U盤格式化都無法防御BadUSB的攻擊。
6.Thunderstrike和Thunderstrike 2
2015年初,編程專家Trammell Hudson在德國漢堡舉辦的“年度混沌計算機大會”上展現這種名為“Thunderstrike(雷擊)”的攻擊方式。它實際上利用了一個在ThunderboltOption ROM中有些歷史的漏洞,該漏洞在2012年首次被發現但仍未修補。
一旦安裝Thunderstrike惡意軟件,它會替換Mac下的引導固件程序,以高優先級的指令獲得系統控制權限。這款惡意軟件(bootkit)可以繞過固件程序密碼驗證及硬盤密碼驗證,在操作系統啟動時就預裝上后門。該惡意軟件安裝以后,將獨立于操作系統和硬盤驅動,因此格式化硬盤和重裝操作系統也拿它沒辦法。
幾個月后,LegbaCorp安全研究團隊又制造出了Thunderstrike 2,它可以在固件層面對受感染的Mac進行攻擊,也就是說一旦設備被感染將很難移除,即使重裝OS X,或者升級,甚至是重裝硬盤都無法解決。此外,Thunderstrike 2還能夠通過Thunderbolt設備進行傳播,從而產生蠕蟲的可能性。
7.Thunderclap
2019年,劍橋大學、計算機科學技術部、萊斯大學、SRI國際的研究人員發現,配有Thunderbolt接口并運行Windows、macOS、Linux或FreeBSD的現代計算機易受大量直接內存訪問(DMA) 攻擊。這些漏洞被統稱為“Thunderclap”,可被利用以系統上可能的最高權限級別運行任意代碼,可能訪問或竊取密碼、銀行登錄憑據、加密密鑰、私人文件、瀏覽其他敏感數據。
這些Thunderclap漏洞使得攻擊者能夠擁有對機器內存的直接且不受限的訪問權限,因為這些端口具有底層且權限特別高的直接內存訪問權限(DMA),從而為任意惡意外圍設備提供多于常規USB設備的權限。
8.ROCA
2017年10月中旬,來自捷克共和國Masaryk大學、英國網絡安全管理公司Enigma Bridge和意大利Ca' Foscari大學的安全研究員發現RSA加密部署中存在一個安全漏洞,他們將該漏洞稱為Return of Coppersmith's Attack(簡稱ROCA)。經發現,在德國半導體制造商英飛凌科技公司(Infineon Technologies AG)生產的各類廣泛的密碼芯片所使用的密碼庫中,RSA密鑰對生成過程存在該漏洞。
利用該漏洞,攻擊者可以進行實際的因數分解攻擊,計算RSA密鑰的私鑰部分。對于常用的密鑰長度(包括1024和2048位),該攻擊是可實現的,并且會影響2012年之前生產的芯片,這種芯片非常常見。研究人員估計,恢復這些設備生成的單個2048位RSA密鑰的成本約為2萬美元,1024位RSA密鑰的成本約為40美元。
9.Intel管理引擎(ME)缺陷
Intel 管理引擎(ME)是許多Intel CPU中存在的專用協處理器和子系統,用于帶外管理任務。Intel ME運行自己的輕量級操作系統,完全獨立于用戶安裝的操作系統,這就是它經常被安全社區描述為“后門”的原因所在。多年來,在Intel ME中發現了很多嚴重的漏洞,修復它們需要安裝計算機制造商的固件更新。因此,不受支持的系統不太可能收到這樣的更新。
2022年從Conti勒索軟件團伙泄露的日志顯示,該網絡犯罪組織正在研究如何利用Intel ME漏洞,在CPU的高度特權執行環境“系統管理模式”(System Management Mode)中獲得代碼執行權限,目的是將惡意代碼部署到計算機固件深處,以逃避安全產品的檢測。泄露的內部聊天記錄表明,該團伙已經為此類攻擊開發了概念驗證代碼(PoC)。
10.iLOBleed和其他BMC缺陷
許多服務器主板都有基板管理控制器(BMC),它允許在主操作系統關閉時對機器進行帶外管理。BMC是專門的微控制器,有自己的固件和操作系統、專用內存、電源和網絡端口。它們公開了一個標準化的接口和協議,即智能平臺管理接口(IPMI)。管理員可以通過它遠程執行維護任務,例如重新安裝操作系統、重新啟動無響應的服務器和部署固件更新等。多年來,在多個服務器供應商的BMC固件和IPMI實現中已經發現了許多嚴重的漏洞。
2024年4月,思科修補了其集成管理控制器(IMC)中的兩個特權升級漏洞,該控制器用于對其許多服務器產品和設備進行帶外管理。這些漏洞已經公開提供了概念驗證漏洞利用代碼,并可能允許經過身份驗證的攻擊者在底層操作系統上以root身份執行命令。
2023年7月,固件安全公司Eclypsium的研究人員發現并披露了MegaRAC的兩個漏洞。MegaRAC是世界上最大的BIOS/UEFI和BMC固件供應商美國大趨勢公司(AMI)開發的一種BMC固件。長期以來,在其部分產品中使用AMI MegaRAC的服務器制造商包括AMD、安培計算、ASRock、華碩、ARM、戴爾EMC、技嘉、惠普企業、華為、浪潮、聯想、英偉達、高通、廣達和泰安。早在2022年12月,Eclypsium就已經披露了AMI MegaRAC的另外五個缺陷。
2022年1月,一種名為iLOBleed的惡意軟件植入物被發現感染了惠普企業的第8代和第9代服務器,它利用了惠普集成的Lights-Out (iLO)BMC技術中的已知漏洞。
2018年,研究人員發現了來自X9、X10和X11平臺的超微服務器BMC實現中的漏洞。當時,有來自90多個國家的4.7萬臺超微服務器及其BMC接口暴露在互聯網上。
雖然BMC漏洞可能是特定于供應商的,但它們也可能影響多個供應商,AMI MegaRAC漏洞就是這種情況。雖然這些接口不應該直接暴露給互聯網,但是公開暴露BMC的服務器數量已達數萬甚至數十萬。
11.LogoFAIL和其他BIOS/UEFI漏洞
統一可擴展固件接口(UEFI)是計算機系統中固件的標準化規范——相當于舊的BIOS——包括負責在加載安裝在硬盤驅動器上的操作系統之前初始化計算機硬件的低級代碼。
攻擊者長期以來一直在開發感染計算機BIOS或UEFI的惡意軟件植入物,為他們提供低級持久性和隱身性,并且即便重新安裝操作系統或更換硬盤驅動器也能重新感染計算機。因此,現代UEFI大多帶有加密代碼驗證功能,如安全啟動(Secure Boot)和英特爾啟動保護(Intel Boot Guard),但安全漏洞仍然存在,允許攻擊者繞過這些機制。
2024年7月,研究人員從美國大趨勢國際公司(AMI)處發現了一個泄露的安全啟動私有平臺密鑰,該密鑰被7家制造商用于數百臺筆記本電腦、臺式機和服務器主板型號。
大多數PC廠商在他們的主板上使用reference UEFI實現,這些實現來自三家專業軟件公司,即獨立的BIOS供應商(IBV)——American megtrends International(AMI)、Insyde software和Phoenix Technologies——然后他們根據自己的需要進行配置和定制。因此,UEFI漏洞可以影響特定的PC制造商或特定的產品線,或者它們可以影響IBV的所有UEFI代碼,因此可以同時影響多個制造商,或者可以影響所有IBV。
最近一個影響廣泛的UEFI攻擊的例子是LogoFAIL,它允許攻擊者通過允許PC制造商在啟動過程中在BIOS啟動屏幕上顯示自定義圖形的功能,輕松地將惡意代碼注入UEFI。這種攻擊是由Insyde、AMI和Phoenix固件使用的圖像解析器中的內存損壞和緩沖區溢出漏洞導致的。
2024年披露的另一種跨IBV和跨廠商UEFI攻擊是PixieFail。這種攻擊利用了廣泛使用的預啟動執行環境(PXE)實現中的漏洞,PXE是UEFI的一種功能,允許通過網絡從映像啟動系統,也稱為網絡啟動或netboot。事實證明,Arm、Insyde、AMI、Phoenix和微軟都使用了來自開源reference UEFI實現的PXE網絡堆棧,稱為TianoCore EDK II,研究人員在代碼中發現了拒絕服務、信息泄露、遠程代碼執行、DNS緩存中毒和網絡會話劫持的漏洞。
2022年,Binarly的研究人員發現了12個漏洞,這些漏洞可能導致英特爾、惠普和獨立固件供應商AMI在UEFI實現中執行預啟動遠程代碼。在此之前,他們還發現了42個與來自多個制造商的固件的SMM(系統管理模式)和DXE(驅動程序執行環境)相關的高影響漏洞。
可以肯定地說,UEFI漏洞并不缺乏,即使其中一些漏洞可能特定于一個供應商或IBV,問題是PC制造商不會為過期的主板發布UEFI更新。此外,用戶沒有手動安裝UEFI更新的習慣,這些更新不會通過Windows Update等機制自動執行。
有時,PC制造商在其UEFI固件中添加的定制功能不安全,還可能成為后門。UEFI筆記本電腦跟蹤和防盜技術“Computrace LoJack”就是一個例子,該技術被與俄羅斯軍事情報機構GRU有關聯的網絡間諜組織APT28濫用。
2023年5月,安全研究人員發現,數百GB主板型號的UEFI在啟動過程中向Windows注入了一個可執行程序。這個可執行文件與一個名為APP Center Download & Install的功能捆綁在一起,可能會被欺騙來下載和執行惡意軟件。換句話說,就像Computrace LoJack一樣,它可以被改造成一個高度持久的惡意軟件植入物,即使在重新安裝操作系統后也會重新出現。
12.Project Memoria和嵌入式TCP/IP棧缺陷
如今,許多消費類物聯網設備,如路由器、調制解調器、網絡附加存儲(NAS)盒和網絡視頻錄像機(NVR)都使用基于Linux內核的固件。但是工業和醫療嵌入式設備的固件仍然依賴于專有的實時操作系統(RTOSes),比如VxWorks。
盡管這意味著工業物聯網世界中的固件更加多樣化,但仍然有一些組件可以由不同的RTOSes共享,包括TCP/IP堆棧。這些復雜的代碼庫實現了Internet的一些核心協議——DNS、HTTP、FTP、ARP、ICMP等——并且是在幾十年前作為專有庫編寫的,然后出售給嵌入式操作系統供應商。
2020年,安全公司Forescout的研究人員與大學和其他公司合作,啟動了一個名為“Project Memoria”的項目,旨在分析工業設備中使用的專有TCP/IP堆棧。該項目的研究持續了18個月,共計發現了104個漏洞,其中許多是關鍵漏洞,這些漏洞存在于來自500多家供應商的25萬多款嵌入式設備模型中。
TCP/IP漏洞非常嚴重,因為它們位于解析網絡數據包的代碼中,所以通常可以被未經身份驗證的攻擊者在網絡上濫用。由于代碼庫十分古老,它們影響的設備的數量和類型可能非常廣泛。許多受影響的設備已達到使用壽命,無法再接收固件更新來修復這些缺陷。
Forescout并不是唯一關注TCP/IP協議棧的公司。2019年,安全公司Armis在VxWorks的TCP/IP堆棧中也發現了11個嚴重漏洞。VxWorks是一個嵌入式操作系統,廣泛應用于許多行業的20多億臺設備中。
原文標題:12 wide-impact firmware vulnerabilities and threats,作者:Lucian Constantin























