Kernel

為什麼核心鎖定會阻止休眠?

  • January 3, 2022

在我的 systemd 日誌 (journalctl) 中,我經常看到這條消息:

冬眠受到限制;見 man kernel_lockdown.7

這似乎源於核心鎖定功能,當您在 UEFI 模式下啟動並啟用安全啟動時,該功能(僅?)處於活動狀態。

我了解,此功能應該防止在使用者空間執行的程序修改核心。

雖然到目前為止我確實理解這一點,但我只是不明白一件事: **為什麼核心鎖定會禁用該功能?**為什麼它完全禁用休眠?

禁用此功能的休眠究竟是什麼“不安全”?

似乎鎖定的核心不希望我讓我的設備休眠。

Linux 核心 v5.6.15

Fedora 32 Silverblue


在 Fedora Ask交叉發布。

如手冊中所述

不允許未加密的休眠/掛起交換,因為核心映像被保存到可以訪問的介質中。

未加密的休眠將休眠系統記憶體的內容按原樣儲存在磁碟上。這允許攻擊者在系統休眠時修改這些內容,從而在系統恢復時更改正在執行的系統,從而破壞鎖定。

聯機幫助頁給出了鎖定支持加密休眠的錯誤希望,但目前情況並非如此,真正的要求似乎是簽名休眠圖像,而不是(或可能除了,取決於鎖定模式)加密圖像。

Matthew Garrett 一直在努力解決這個問題。他描述了他的建議,即在 2021 年 2 月讓休眠狀態與鎖定一起工作,並在 2021 年 12 月為剩餘的幾個問題提供了實用解決方案的更新。總體構想是將休眠圖像與 TPM 狀態相關聯,以便鎖定係統只會恢復在該系統上生成的休眠圖像,此後不會被修改;到達那裡需要知道什麼 TPM 狀態對映像有效,並且 TPM 狀態是由核心自己到達的。

引用自:https://unix.stackexchange.com/questions/591488