雖然 Secure Boot(安全啟動)建立了堅固的防禦牆,但在資安世界裡,沒有絕對的破不了的防禦。病毒或駭客能夠在 Secure Boot 開啟下成功繞過驗證,主要有以下幾種技術途徑:
1. 利用「合法的漏洞」 (Bring Your Own Vulnerable Driver, BYOVD)
這是目前最常見且最高級的繞過手段。- 邏輯: 病毒並不修改啟動檔案(因為會破壞簽章),而是攜帶一個擁有合法數位簽章但存在安全漏洞的舊版驅動程式(例如舊版的顯卡驅動或系統工具)。
- 執行: 病毒引導系統載入這個「合法的惡意軟體」。因為它有簽章,Secure Boot 會放行。一旦載入,病毒就利用該驅動程式的記憶體溢位漏洞,取得核心(Kernel)等級的權限。
- 著名案例: BlackLotus Bootkit 就是利用了一個舊版 Windows 引導程式的漏洞(CVE-2022-21894)來繞過限制。
2. 撤銷名單 (dbx) 的延遲與失效
Secure Boot 依賴「黑名單(dbx)」來阻擋已知的威脅。
- 更新困境: 當一個合法的驅動程式被發現漏洞時,微軟會將其憑證加入 dbx。然而,dbx 的更新需要透過 Windows Update 寫入主機板的 NVRAM。
- 風險: 如果使用者不常更新系統,或是主機板韌體有保護機制限制寫入,黑名單就不會生效。病毒可以利用這些尚未被封鎖的舊憑證來偽裝。
3. UEFI 韌體本身的漏洞 (Firmware Vulnerabilities)
Secure Boot 的信任根源是 UEFI 韌體。如果韌體本身有 Bug,防線就會崩潰。
- SMM 模式攻擊: 系統管理模式(System Management Mode)是比作業系統核心權限更高的模式。如果病毒能利用 BIOS/UEFI 的漏洞進入 SMM,它就可以直接修改 NVRAM 中的金鑰資料庫,甚至直接在硬體層級停用 Secure Boot 的檢查邏輯。
- 硬體後門: 某些主機板廠商在實現 UEFI 邏輯時留下的測試介面或瑕疵。
4. 針對 Windows 加載後的「信任鏈」斷裂
Secure Boot 只能保證「開機檔案」是原廠的,但無法保證「系統運作後」載入的每一段程式碼都是安全的。
- 進程注入與掛鉤 (Hooking): 系統啟動進入 Windows 桌面後,病毒可以利用應用程式層級的漏洞,將惡意代碼注入到已經通過驗證的合法程序(如
lsass.exe)中。 - ELAM 的侷限: 雖然 ELAM 驅動會檢查其他驅動,但如果病毒能夠精巧地避開 ELAM 的掃描特徵(例如多態加密),它依然能常駐記憶體。
5. 實體接觸與配置錯誤
- 金鑰替換: 如果駭客能實體接觸電腦並進入 BIOS 設定,他們可以將自定義的公鑰(PK/db)寫入,讓系統將「駭客開發的系統」視為「合法系統」。
- 韌體更新攻擊: 惡意程式偽裝成 BIOS 更新包,如果主機板沒有防範「降級攻擊」,舊版有漏洞的韌體就會被重新裝回。
總結:病毒是如何常駐並感染的?
即使 Secure Boot 守住了門口,病毒仍會嘗試:
- 潛伏: 利用合法但有漏洞的驅動進入內核。
- 隱身: 透過 Rootkit 技術,在系統呼叫(syscall)層級攔截檔案存取請求,讓防毒軟體看不到病毒檔案。
- 感染: 在記憶體中常駐後,攔截
.exe檔案的開啟動作,即時將病毒碼注入到正在執行的程式中。
小撇步: 針對這類威脅,僅靠 Secure Boot 是不夠的。這也是為什麼 Windows 11 強制要求 TPM 2.0 並推廣 VBS(虛擬化安全性),透過硬體隔離(HVCI)來確保即使內核被入侵,惡意程式碼也無法在記憶體中執行。

















