想象一下:你拿到一臺二手電腦,重裝了干凈的系統,甚至換了一塊全新的硬盤。但你不知道的是,惡意程序早已在操作系統啟動前悄悄扎根,重裝系統、更換硬件都對它無可奈何。這不是精心策劃的國家級網絡攻擊,而是一群在微軟簽名庫中躺了十多年的老舊啟動組件,為各路攻擊者留了一扇長期敞開的暗門。
2月初,ESET研究團隊曝光了一組潛伏在UEFI安全啟動機制中的漏洞,涉及11個依然持有微軟數字簽名的“shim”引導程序,其中最早的樣本可追溯至2013年。換句話說,這些明知有問題卻從未被撤銷信任的組件,已經默默走過了九到十一個年頭。
![]()
UEFI安全啟動從2012年問世起,就被設計成抵御此類底層攻擊的閘門。其核心邏輯是:系統啟動鏈中的每一段代碼都必須持有可信機構簽發的簽名。在個人電腦生態中,微軟扮演著關鍵信任中心的角色,不僅為自己的Windows引導加載程序簽名,也為讓Linux等第三方系統順利啟動的shim提供簽名。Shim本質上是一層“翻譯適配器”,拿到微軟簽名后,便可用自身內置的證書繼續驗證其他組件。這樣一來,開源社區無需逐一提交所有引導文件給微軟,也能在安全啟動環境下運轉。
然而這個精巧的多層信任鏈條,要求一個前提——一旦某個shim被發現存在缺陷,它的簽名應被立刻加入撤銷列表,像掛失證件一樣徹底作廢。ESET發現,恰恰是這臨門一腳,微軟沒有踢出去。
ESET研究員馬丁·斯莫拉爾在分析報告中點出了要害:“讓這些老shim變得危險的并非什么新穎的漏洞。真正的問題是,繞過UEFI安全啟動甚至不需要任何新漏洞。”他指出,攻擊者不需要復雜的利用原語,只要拿到一份仍然被信任、未被撤銷的老版shim副本,再疊加對UEFI shim工作機制的基本了解,就足以繞過這樣一道本應固若金湯的安全防線。
受影響的shim來源頗為分散:紅帽、openSUSE、甲骨文等Linux發行商,以及一些第三方工具供應商,都貢獻了這批“僵尸簽名”組件。部分shim誕生于較新的防護措施出現之前,比如基于版本的SBAT阻止機制和機器所有者密鑰拒絕列表尚未引入的時代。另一些本身就含有代碼漏洞,或是允許加載已知的存在隱患的組件。ESET特別提到一個來自甲骨文的shim,它放行了受編號CVE-2015-5381漏洞影響的二進制文件,利用難度被評估為相當低。
要理解為什么這批老舊簽名能成為斬不斷的尾巴,需要稍微拆解一下安全啟動當前堆積如山的控制層。整套體系如今至少依賴三套并行的過濾機制:信任簽名數據庫負責白名單放行,撤銷數據庫負責黑名單封殺,而SBAT和微軟的安全啟動版本號則試圖從版本維度一刀切——凡低于設定閾值的舊版組件,一律不得啟動。斯莫拉爾用一句話提煉了分工:“撤銷數據庫撤銷的是二進制文件,SBAT和微軟安全啟動版本號撤銷的則是版本。”理論上,只要硬件制造商和操作系統廠商持續抬高版本閾值,過時的、有漏洞的shim應該會自動出局。問題是,相關閾值并沒有始終保持更新,導致一堆早就該在版本層面被“拉黑”的組件,一直暢行至今。
一旦攻擊者得手,惡意固件先于操作系統加載,便能獲得極深層的駐留能力。它不會隨著用戶重裝系統或者更換硬盤而消失,因為掃除它的鑰匙——對固件存儲區的清理或重新簽名,普通用戶手邊根本沒有。這意味著,即便你反復清洗軟件環境,那扇門依然開著。微軟已經在最新的補丁中著手吊銷這些shim的信任,但安全社區更深的討論點在于:一個依賴多層維護、任何環節滯后都可能全線潰堤的信任模型,是否到了需要重新審視架構的時候。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.