Linux 啟動漏洞可繞過現代 Linux 系統的安全啟動保護
現代Linux發行版存在一個重大漏洞,攻擊者通過短暫物理接觸即可利用initramfs(初始內存文件系統)操控繞過安全啟動(Secure Boot)保護機制。
該攻擊利用系統啟動失敗時可訪問的調試shell,注入持久性惡意軟件,這些惡意軟件可在系統重啟后繼續存活,即使用戶輸入了加密分區的正確密碼仍能維持訪問權限。

核心要點
- 攻擊者通過物理接觸可利用initramfs在啟動失敗時的調試shell繞過安全啟動保護
- 多次輸入錯誤密碼會觸發調試訪問,允許向未簽名的initramfs組件注入持久性惡意軟件
- Ubuntu 25.04、Debian 12、Fedora 42和AlmaLinux 10存在漏洞;OpenSUSE Tumbleweed不受影響
- 添加內核參數可禁用調試shell(Ubuntu系統使用panic=0,Red Hat系使用rd.shell=0 rd.emergency=halt)
Linux initramfs漏洞分析
據Alexander Moch指出,該漏洞的核心在于初始內存文件系統(initramfs)——這是Linux啟動過程中用于解密根分區的關鍵組件。
與內核鏡像和模塊不同,initramfs本身通常未經簽名,在安全鏈中形成了可被利用的缺口。當用戶多次輸入加密根分區的錯誤密碼后,多數發行版會在超時后自動進入調試shell。
攻擊者可通過該調試shell掛載包含專用工具和腳本的外部USB驅動器。攻擊流程包括:使用unmkinitramfs命令解包initramfs,將惡意鉤子注入scripts/local-bottom/目錄,然后重新打包修改后的initramfs。
Moch研究中展示的關鍵腳本如下:

該惡意鉤子會在根分區解密后執行,將文件系統重新掛載為可寫狀態并建立持久性訪問。由于攻擊遵循常規啟動流程且未修改已簽名的內核組件,因此能規避傳統防護機制。
各發行版受影響情況
多發行版測試顯示不同程度的易受攻擊性:
- Ubuntu 25.04僅需三次錯誤密碼嘗試即可獲得調試shell訪問
- Debian 12可通過長按RETURN鍵約一分鐘觸發
- Fedora 42和AlmaLinux 10的默認initramfs缺少usb_storage內核模塊,但攻擊者可通過Ctrl+Alt+Delete觸發重啟并選擇救援條目繞過限制
值得注意的是,OpenSUSE Tumbleweed因其默認啟動分區加密實現方式而對此攻擊免疫。安全專家將該漏洞歸類為"邪惡女仆"攻擊場景,需要短暫物理接觸目標系統。
緩解措施
有效防護方案包括:
(1) 修改內核命令行參數:
- Ubuntu系添加panic=0
- Red Hat系添加rd.shell=0 rd.emergency=halt 這些參數強制系統在啟動失敗時直接停止而非提供調試shell
(2) 其他防護措施:
- 配置引導加載程序密碼要求
- 啟用SSD原生加密
- 對啟動分區實施LUKS加密
(3) 高級解決方案:
- 統一內核鏡像(UKI):將內核與initramfs合并為單一簽名二進制文件
- 可信平臺模塊(TPM):將initramfs完整性度量值存入平臺配置寄存器(PCR)


























