Lennart Poettering 提出了一種用於驗證啟動的新架構 Linux

倫納特·波特林發表了一項關於改進啟動流程的提案。 Linux這些發行版旨在解決現有問題,並簡化完全驗證的啟動過程的組織,該過程可確認核心和底層系統環境的有效性。實作新架構所需的變更已合併到 systemd 程式碼庫中,並影響 systemd-stub、systemd-measure、systemd-cryptenroll、systemd-cryptsetup、systemd-pcrphase 和 systemd-creds 等元件。

建議的變更歸根結底是創建一個單一的通用影像 UKI(統一核心影像),該影像結合了核心影像。 Linux此鏡像包含一個用於從 UEFI 載入核心的處理程序(UEFI 啟動存根)以及一個載入到記憶體中的 initrd 系統環境,用於在掛載根檔案系統之前進行初始化。整個系統可以打包成一個 UKI 鏡像,而不是使用 initrd RAM 磁碟鏡像,從而可以建立載入到 RAM 中的完全經過驗證的系統環境。 UKI 鏡像以 PE 格式的可執行檔形式打包,不僅可以由傳統的引導程式加載,還可以直接從 UEFI 韌體加載。

從 UEFI 調用的能力允許您使用數字簽名完整性和有效性檢查,不僅涵蓋內核,還包括 initrd 的內容。 同時,對從傳統引導加載程序調用的支持允許您保存多個內核版本的交付和自動回滾到工作內核等功能,以防在安裝更新後檢測到新內核出現問題。

目前,大多數分佈 Linux 初始化過程採用以下流程:韌體 → 經 Microsoft 數位簽章認證的 shim 層 → 經發行版數位簽章認證的 GRUB 引導程式 → 經發行版數位簽章認證的內核 Linux → 未經驗證的 initrd 環境 → 根檔案系統。 ” 傳統發行版中缺乏 initrd 驗證會造成安全性問題,因為該環境被用於提取解密根檔案系統的金鑰。

不支援對 initrd 映像進行驗證,因為此檔案是在使用者本機系統上產生的,並且無法透過發行版的數位簽章進行認證,這在使用 SecureBoot 模式時大大增加了驗證的組織複雜度(要驗證 initrd,使用者必須產生自己的金鑰並將其載入到 UEFI 韌體中)。此外,目前的啟動組織不允許使用來自 TPM PCR(平台配置暫存器)暫存器的資訊來監視除 shim、grub 和核心之外的使用者空間組件的完整性。在現有的問題中,作者還提到了更新引導程式的複雜性以及缺乏限制舊版作業系統對 TPM 中金鑰的存取的能力,而這些金鑰在安裝更新後變得無關緊要。

實施新引導架構的主要目標是:

  • 提供完全驗證的下載流程,涵蓋從固件到用戶空間的所有階段,確認下載組件的有效性和完整性。
  • 將受控資源綁定到 TPM PCR 寄存器,並按所有者劃分。
  • 能夠根據啟動期間使用的內核、initrd、配置和本地系統 ID 預先計算 PCR 值。
  • 防止與回滾到以前易受攻擊的系統版本相關的回滾攻擊。
  • 簡化並提高更新的可靠性。
  • 支持不需要重新應用或本地配置受 TPM 保護的資源的操作系統更新。
  • 系統準備好進行遠程認證,以確認可啟動操作系統和設置的正確性。
  • 將敏感數據附加到特定引導階段的能力,例如,從 TPM 中提取根 FS 的加密密鑰。
  • 提供一個安全、自動且無需使用者的程序來解鎖金鑰,從而解密具有根分割區的磁碟。
  • 使用支持 TPM 2.0 規範的芯片,能夠回退到沒有 TPM 的系統。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster