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