旨在深入分析美國電腦製造商 Framework 旗下約二十萬台 Linux 電腦系統所面臨的嚴重安全漏洞,此漏洞涉及 Secure Boot (安全啟動) 保護機制的潛在繞過風險。Secure Boot 是統一可延伸韌體介面(UEFI)的核心安全功能,其設計目的是透過驗證載入程式的數位簽章,確保系統僅使用可信賴的韌體和作業系統組件啟動,藉此抵禦惡意程式在作業系統啟動前(即所謂的預啟動階段)植入的攻擊。然而,韌體安全公司 Eclypsium 的研究揭露了 Framework 在其系統中包含的特定元件,成為了這一保護鏈上的致命弱點,可能導致大規模的安全危機。
美國電腦製造商 Framework 生產的約 20 萬台 Linux 電腦系統都附有簽署的UEFI shell元件(註),這些元件可被利用來繞過安全啟動保護。攻擊者可以利用此優勢載入 bootkit(例如BlackLotus、HybridPetya和Bootkitty),這些 bootkit 可以逃避作業系統層級安全控制並在作業系統重新安裝後持續存在,問題源於Framework隨其係統附帶的合法簽署的UEFI shell 中包含「記憶體修改」( mm )命令。
註:
UEFI Shell 元件是一種在電腦開機前執行的命令列介面,用來與硬體和韌體互動。它是 UEFI 韌體的一部分,提供診斷、配置和自動化功能。UEFI(統一可擴展韌體介面)是現代電腦取代傳統 BIOS 的開機系統架構,而 UEFI Shell 則是其中的一個元件,類似於 DOS 或 Linux 終端機的命令列介面。
mm指令可以被濫用來用 NULL 覆寫gSecurity2,此命令將零寫入包含安全處理程序指標的記憶體位置,從而有效地停用所有後續模組載入的簽章驗證。在獲悉問題後,Framework 已開始著手修復漏洞,建議受影響的用戶應用可用的安全性更新。如果補丁尚未發布,實體存取預防等二級保護措施至關重要,另一個暫時緩解措施是透過 BIOS 刪除 Framework 的 DB 金鑰。
「記憶體修改」(mm
)命令的出現並非由於外部入侵,而是由於 Framework 在出廠韌體配置上的一項潛在疏忽。這個指令原本是為低階診斷和韌體除錯而設計,提供了對系統記憶體的直接讀寫權限,對於開發者和進階使用者而言,這是一種強大的工具。然而,這種權限在未受限制的簽署環境下,卻變成了攻擊者破壞 Secure Boot 信任鏈的利器。
攻擊的關鍵在於濫用 mm
指令來覆寫 gSecurity2
這個核心變數。gSecurity2
在 Secure Boot 流程中扮演著至關重要的角色,它是用來指向安全處理程序(Security Handler)的指標,該處理程序負責在任何新的 UEFI 模組載入前執行簽章驗證。一旦攻擊者透過 mm
命令將此指標覆寫為空值(NULL),則形同在執行層面上取消了所有後續模組載入的簽章檢查機制。這使得惡意程式,即使沒有經過微軟或任何授權機構的簽署,也能夠暢通無阻地載入至系統記憶體中,完全繞過 Secure Boot 的防線。
這種繞過機制帶來的最嚴重後果,是攻擊者能夠植入被稱為 Bootkit 的惡意程式。Bootkit 是一種極為隱蔽且危險的惡意軟體,例如著名的 BlackLotus、HybridPetya 和 Bootkitty。由於它們在作業系統啟動之前即已載入並在韌體層級運作,它們能夠有效地逃避作業系統內建的安全控制措施,如防毒軟體或端點偵測與回應(EDR)系統。更甚者,一旦 Bootkit 成功植入,它們將在系統重新安裝作業系統後依然存在,形成一種持久性的感染。研究人員同時指出,這類攻擊可以透過啟動腳本實現自動化,確保惡意程式在每次系統重啟後都能持續運作,進一步增加了威脅的持久性和隱蔽性。
面對 Eclypsium 提出的嚴重安全警報,Framework 已迅速採取行動,著手修復此項漏洞,並針對旗下多款受影響的型號發布或規劃發布韌體更新。受影響的系統型號涵蓋了多個世代的 Framework 13 及 Framework 16 筆記型電腦:
Framework 13 (第11代 Intel 處理器): 規劃在 3.24 版本中修復。
Framework 13 (第12代 Intel 處理器): 已在 3.18 版本中修復,DBX 更新計畫在 3.19 版本中發布。
Framework 13 (第13代 Intel 處理器): 已在 3.08 版本中修復,DBX 更新已在 3.09 版本中發布。
Framework 13 (Intel Core Ultra 處理器): 已在 3.06 版本中修復。
Framework 13 (AMD Ryzen 7040 處理器): 已在 3.16 版本中修復。
Framework 13 (AMD Ryzen AI 300 處理器): 已在 3.04 版本中修復,DBX 更新計畫在 3.05 版本中發布。
Framework 16 (AMD Ryzen 7040 處理器): 已在 3.06 Beta 版本中修復,DBX 更新已在 3.07 版本中發布。
Framework Desktop (AMD Ryzen AI 300 MAX 處理器): 已在 3.01 版本中修復,DBX 更新計畫在 3.03 版本中發布。
對於廣大受影響的用戶來說,首要且最關鍵的行動是立即應用 Framework 所提供的最新安全性更新。這些更新通常包含了對韌體的修補,以移除或限制 mm
指令的執行,從根源上封堵漏洞。
然而,對於那些修補程式尚未發布的系統或在等待更新的過渡期內,實體存取預防措施便顯得至關重要。由於攻擊者需要實體接觸電腦才能透過 UEFI shell 執行 mm
命令,防止未授權人員接觸電腦是當前最直接的二級保護措施。
另一個可行的臨時緩解措施是透過 BIOS 介面手動刪除 Framework 的 DB 金鑰。DB(Signature Database)金鑰是用來儲存允許執行之程式簽章的資料庫,刪除 Framework 的專用 DB 金鑰可以阻止其簽署的 UEFI shell(包括帶有 mm
命令的版本)被載入,從而在一定程度上恢復 Secure Boot 的完整性,直到官方的韌體修補程式到位。
總結而言,這次 Framework Linux 系統的 Secure Boot 繞過漏洞是一個典型的例子,突顯了即使是合法簽署的診斷工具,也可能因設計或配置上的疏忽而成為高風險的攻擊媒介。由於潛在的 Bootkit 威脅能夠在系統韌體層級取得控制權,並逃避傳統作業系統級別的安全防護,使用者和企業必須對此保持高度警惕,並嚴格遵循製造商的更新建議,配合物理安全措施,以確保系統的啟動與運作環境維持在可信賴的狀態。
資料來源:https://www.bleepingcomputer.com/news/security/secure-boot-bypass-risk-on-nearly-200-000-linux-framework-sytems/
美國電腦製造商Framework旗下約20萬台Linux系統因簽署的UEFI shell元件中包含具風險的「記憶體修改」(mm)指令,面臨Secure Boot繞過漏洞。