按下電腦的電源鍵,你多半等著Windows系統(tǒng)桌面盡快跳出來,等待時間也從機械硬盤時代的幾分鐘,加快到SSD時代的幾秒。但很多人沒意識到:等你看到桌面的時候,電腦已經(jīng)在好幾個獨立處理器上跑完了幾百萬條指令。計算機在各類控制器里運行了大量固件代碼,完成了啟動組件的加密簽名校驗、內(nèi)存訓(xùn)練、設(shè)備初始化,把加載系統(tǒng)的準備工作全做好了。而這一切,都發(fā)生在操作系統(tǒng)正式啟動之前。
![]()
這層看不見的預(yù)啟動代碼,正是電腦最容易出安全漏洞的環(huán)節(jié)。搞懂開機最初幾秒發(fā)生了什么,既能幫你排查難纏的啟動故障,也能讓你更明白電腦內(nèi)部到底是怎么運作的。順帶也能感受到,現(xiàn)在的計算機到底有多復(fù)雜。
整個啟動的第一步:CPU里藏著微型子系統(tǒng)
主CPU還沒“醒”過來的時候,電腦里就已經(jīng)有代碼在跑了。英特爾和AMD的處理器都自帶獨立的安全處理器,主板一通電它就啟動,哪怕電腦處于關(guān)機狀態(tài)也不停。我們先從英特爾的機制說起。
2008年之后生產(chǎn)的英特爾處理器,基本都搭載了英特爾管理引擎(Intel ME)。這是平臺里一個完全獨立的子系統(tǒng),自帶專屬操作系統(tǒng)(固件11版本起采用MINIX3),能完整訪問系統(tǒng)內(nèi)存,甚至主系統(tǒng)宕機的時候,還能實現(xiàn)帶外網(wǎng)絡(luò)管理。
ME的權(quán)限能覆蓋所有硬件:內(nèi)存、存儲、網(wǎng)卡無一例外。只要待機供電沒斷,它就一直以低功耗狀態(tài)運行。這不是設(shè)計漏洞,也不是后門,但它出廠默認啟用,普通用戶很難徹底關(guān)停,業(yè)內(nèi)一直擔(dān)憂它存在被濫用的風(fēng)險,甚至擔(dān)心:ME已經(jīng)形成了一套獨立的計算環(huán)境,本質(zhì)上剝奪了用戶對電腦的控制權(quán);而它的設(shè)計初衷,只是為企業(yè)提供遠程管理、硬件級安全這類功能。
![]()
AMD的對應(yīng)組件是平臺安全處理器(PSP),2013年前后的AMD芯片就已搭載。在AMD平臺上,一顆Arm Cortex-A5架構(gòu)的PSP會先于x86核心啟動,參與平臺早期初始化與信任根校驗。x86核心必須等PSP放行才能啟動。主CPU還沒執(zhí)行半條指令,PSP就已經(jīng)完成了固件的真實性校驗。
這兩類安全處理器是代碼執(zhí)行的第一層,在電腦本身的任何功能啟動之前,它們就已經(jīng)開始工作了。
固件的發(fā)展歷程:從BIOS到UEFI
按下電源鍵,看著計算機像是在瞬間響應(yīng),但其實得等安全處理器放行,后面的步驟才會啟動。這時候CPU才被喚醒,立刻去特定內(nèi)存地址讀取指令。在x86處理器上,這個地址是FFFFFFF0h,就在4GB地址空間下方16字節(jié)的位置。CPU從該地址取指,而這個地址通過芯片組映射到了固件區(qū)域,里面存放的就是系統(tǒng)固件。幾十年來,系統(tǒng)固件的體量已經(jīng)膨脹得非常夸張。
![]()
1981年初代IBM PC的BIOS僅占用8KB ROM空間,而現(xiàn)代UEFI固件最大可達32MB,體積翻了4000倍。原因在于,如今的固件要承擔(dān)大量30多年前根本無法想象的工作。很多人包括計算機老用戶都好奇BIOS和UEFI到底有什么區(qū)別。對普通用戶來說,二者最終都能完成電腦啟動,但底層的實現(xiàn)邏輯完全不一樣。
過去十年買的“新”電腦,幾乎都采用統(tǒng)一可擴展固件接口(UEFI),而非傳統(tǒng)的基本輸入輸出系統(tǒng)(BIOS)。傳統(tǒng)BIOS運行在16位模式下,僅能訪問1MB內(nèi)存;受主引導(dǎo)記錄(MBR)限制,只能從2.2TB以下的硬盤啟動,界面為純文本,僅支持鍵盤操作。
而UEFI運行在32位或64位模式下,可訪問全部系統(tǒng)內(nèi)存;配合GPT分區(qū)表,理論上支持最大9.4ZB的硬盤啟動。對于用戶來說,最直觀的不同是:它支持帶鼠標操作的圖形界面,可并行初始化硬件以縮短啟動時間,還自帶網(wǎng)絡(luò)支持。
安全層面,UEFI最重要的升級是引入了安全啟動(Secure Boot)機制:它會基于RSA證書校驗啟動組件的數(shù)字簽名,校驗通過才允許執(zhí)行。這樣就搭起了一條信任鏈,從固件到引導(dǎo)程序,再到操作系統(tǒng)內(nèi)核,一環(huán)扣一環(huán)。盡管UEFI和BIOS都能完成電腦啟動、管理底層設(shè)置,但二者的實現(xiàn)方式根本不是一個體系。
信任鏈的校驗:流程比你想的復(fù)雜多了
計算機課上常說的電腦“過POST”,也就是Power-On Self-Test,指的是電腦完成了上電自檢。絕大多數(shù)電腦的POST與初始化流程,都包含以下步驟,早期主板BIOS甚至?xí)o你一一列出來:
·初始化CPU,加載微碼補丁以修復(fù)處理器漏洞
·測試并配置內(nèi)存,完成復(fù)雜的時序校準
·初始化存儲控制器、USB接口、網(wǎng)卡和顯卡
·運行診斷程序,驗證硬件功能正常
·管理啟動設(shè)備的選擇與優(yōu)先級
·開啟安全啟動時,校驗啟動組件的加密簽名
·從擴展卡與外設(shè)加載附加固件
最后這一點特別重要:顯卡、網(wǎng)卡、RAID卡等外設(shè)都自帶嵌入式固件,稱為可選ROM(Option ROM)。它們會在啟動階段運行,完成對應(yīng)硬件的初始化,進一步擴充了操作系統(tǒng)啟動前的執(zhí)行代碼量。
![]()
如今開啟安全啟動后,系統(tǒng)會對預(yù)啟動環(huán)境中的UEFI引導(dǎo)程序、UEFI驅(qū)動強制執(zhí)行簽名校驗。但總線上的所有固件并非都會按預(yù)期自動完成校驗,尤其是第三方可選ROM,以及大量自行初始化的設(shè)備控制器。這也是可信平臺模塊(TPM)的重要性所在:這顆獨立的安全芯片,用于實現(xiàn)度量啟動。
具體來說,固件與早期啟動組件會將哈希值記錄到TPM的平臺配置寄存器中,Windows的BitLocker這類工具就能通過這些度量值檢測啟動異常,進而觸發(fā)恢復(fù)機制。
簡單來說,一臺Windows 11電腦的啟動流程大致如下:
·安全處理器(ME/PSP)先校驗固件合法性
·固件通過安全啟動校驗引導(dǎo)加載程序
·安全啟動驗證UEFI啟動組件(Windows啟動管理器winload)的簽名;交接完成后,Windows自身的代碼完整性機制會執(zhí)行內(nèi)核與驅(qū)動簽名策略
·系統(tǒng)內(nèi)核校驗驅(qū)動與系統(tǒng)組件
理論上來說,這套流程能構(gòu)建一條從硬件到軟件完整的信任鏈。但實際情況是,網(wǎng)絡(luò)大神們總能找到破解它的辦法。
固件攻擊一直存在,漏洞層出不窮
固件級惡意程序(常被稱為啟動木馬bootkit),就算重裝系統(tǒng)也刪不掉,因為格式化硬盤碰不到固件區(qū)域。它還能躲開殺毒軟件,畢竟安全工具都運行在系統(tǒng)層面,固件層級比系統(tǒng)更低。
![]()
之前提到英特爾ME管理引擎存在安全隱患,原因也在這里:ME運行于操作系統(tǒng)之下的硬件底層,擁有遠超 Windows系統(tǒng)內(nèi)核的硬件管控權(quán)限。只要惡意代碼駐留在這一層,常規(guī)殺毒軟件根本察覺不到,完全沒法查殺。更致命的是,它是電腦最早啟動的程序之一,系統(tǒng)還沒加載,它就已經(jīng)開始運行,能全程監(jiān)控、記錄電腦后續(xù)的所有操作和系統(tǒng)行為。清除固件惡意程序唯一相對可靠的辦法,是重刷固件本身,前提是惡意程序沒有駐留在外接設(shè)備中。說白了,在一些保密級高的要害部門,要是電腦主板中了固件病毒,直接換塊新主板反而更穩(wěn)妥。
這些年出現(xiàn)過不少UEFI啟動惡意程序,最知名的當(dāng)數(shù)Black Lotus(可以翻譯為黑蓮花),2022年在黑客市場流出,一套工具售價5000美元,專門針對開啟安全啟動的Windows 10/11電腦,也是首個被實錘、能繞過整套安全啟動校驗的商用惡意程序。它正是利用了安全啟動生態(tài)的漏洞與證書吊銷機制的缺陷發(fā)動攻擊。
僅過去一年,就又曝出了不少新問題,比如2025年12月,拳頭游戲發(fā)現(xiàn)多起啟動早期直接內(nèi)存訪問(DMA)攻擊漏洞(CVE-2025-14304、CVE-2025-11901、CVE-2025-14302、CVE-2025-14303),涉及華擎、華碩、技嘉、微星四大品牌主板。由于固件錯誤地報告DMA保護已啟用(實際并未生效),攻擊者只要能物理接觸設(shè)備,就能通過PCIe設(shè)備注入惡意代碼。
UEFI的另一個隱患,是用于校驗自身完整性的板載證書需要更新。大量舊設(shè)備使用的微軟UEFI CA2011證書都在今年6月到期。盡管多數(shù)UEFI實現(xiàn)都關(guān)閉了證書日期校驗,但微軟已明確表示:開啟安全啟動的設(shè)備,必須更新安全啟動證書,才能繼續(xù)運行Windows并接收常規(guī)更新。
按下電源鍵后的最初幾秒,發(fā)生的事情對絕大多數(shù)人來說都是隱形的。但一旦有人利用固件漏洞繞過安全啟動,后果會非常嚴重。比起惡意程序在你全盤格式化、重裝系統(tǒng)后依然存活的情況,更麻煩的是,你根本察覺不到它的存在,反正殺毒軟件肯定查不出來。
對普通用戶來說,需要做的事很簡單:保持系統(tǒng)更新,開著安全啟動,主板BIOS更新發(fā)布后及時安裝。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
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.