有關預引導程序的兩個新聞

它們是James Bottomley在其博客上撰寫的兩篇文章的翻譯。 第一篇文章發表於1月2013日,名為“ LCAXNUMX和重組安全啟動”

我沉默了一段時間,現在是時候更新Linux基金會安全啟動載入程式(Secure Boot Loader)的最新進展了(尤其是在LCA2013上展示之後)。 (幻燈片連結)

問題的本質在於,核心開發者 Greg Kroah-Hartman (GregKH) 在 12 月初發現,他提出的 Pre-BootLoader 目前的版本無法與 Gummiboot 相容。這令人沮喪,因為這意味著它未能實現 Linux 基金會「支援所有引導程式」的使命。經過調查,原因很簡單:Gummiboot 的創建初衷是為了證明,你可以創建一個小巧簡潔的引導程序,充分利用 UEFI 平台上的所有可用服務,而不是像 GRUB 那樣使用龐大的鏈接加載程序。不幸的是,這意味著它使用 BootServices->LoadImage() 函數來啟動內核,也就是說,待啟動的內核必須透過 UEFI 平台上的安全啟動檢查。最初,Pre-BootLoader 與shim(Mathew Garrett 的引導程式)一樣,被設計成使用 PE/Coff 連結載入來繞過安全啟動檢查。不幸的是,這意味著 Pre-BootLoader 執行的任何操作都必須使用連結載入來繞過對其想要載入的任何內容的安全啟動檢查,因此故意不使用連結載入器的 Gummiboot 在此方案下將無法運作。

因此,我不得不進行重組和重寫:現在的問題從“如何創建由Microsoft遵守其策略的簽名的鏈接加載器”到“如何使啟動加載器的所有子級都能使用BootServices-> LoadImage()函數”服從政策的方式。 幸運的是,有一種方法可以通過安裝您自己的體系結構安全協議來攔截UEFI平台簽名基礎結構。 不幸的是,平台初始化規範實際上並不是UEFI規範的一部分,但值得慶幸的是,它可以由您找到的每個Windows 8系統實現。 新的體系結構攔截了該協議,並添加了自己的安全檢查。 但是,還有第二個問題:雖然我們處於體系結構安全協議回調中,但不一定擁有UEFI系統屏幕,因此完全不可能進行用戶測試來授權二進製文件的執行。 幸運的是,有一種非交互方式可以做到這一點,這就是SUSE機器所有者密鑰(MOK)機制。 因此,Linux Foundation Pre-BootLoader現在演變為使用標準MOK變量來存儲授權的二進制哈希。

所有這些的結果就是您現在可以將Pre-BootLoader與Gummiboot一起使用(就像在LCA2013的演示中所做的一樣)。 要啟動,您必須添加2個哈希:一個用於Gummiboot本身,另一個用於您要引導的內核,但是實際上這是一件好事,因為現在您有一個安全策略來控制整個啟動順序。 還對Gummiboot本身進行了修補,以識別由於安全啟動而導致的崩潰,並顯示一條消息,告訴您要註冊哪個哈希。

我將在另一篇文章中解釋新架構的工作原理,但是我認為最好解釋一下上個月發生的事情。

他昨天做的第二篇文章被稱為“啟動了Linux Foundation安全啟動系統”

如所承諾的,這是Linux Foundation安全啟動系統。 它實際上是由Microsoft在6月XNUMX日發布給我們的,但是在旅行,會議和會議中,直到今天我才有時間驗證所有內容。 這些文件是:

預加載程序 (md5sum 4f7a4f566781869d252a09dc84923a82)
哈希工具文件 (md5sum 45639d23aa5f2a394b03a65fc732acf2)
還創建可引導的微型USB映像; (您必須使用dd將其安裝在USB上;該映像具有GPT分區,因此它將使用整個磁盤)。 它具有內核應位於的EFI Shell,並使用gummiboot進行加載。 你可以在這裡找到它 (md5sum 7971231d133e41dd667a184c255b599f).

要使用mini-USB映像,必須輸入loader.efi(在\ EFI \ BOOT文件夾中)和shell.efi(在根文件夾中)的哈希。 它還包含KeyTool.efi的副本,您必須輸入哈希才能運行。

KeyTool.efi發生了什麼? 它原本將成為我們簽名套件的一部分。 但是,在測試期間,Microsoft發現由於其中一個UEFI平台中的錯誤,它可以用於以編程方式刪除平台密鑰,這將破壞UEFI安全系統。 在我們解決此問題之前(儘管有私人供應商參與其中),他們拒絕簽署KeyTool.efi,儘管您可以通過運行MOK變量來授權它。

讓我知道這是怎麼回事,因為我有興趣收集有關哪些有效和哪些無效的反饋。 特別是,我擔心安全協議覆蓋可能不適用於某些平台,因此我特別想知道它是否不適用於它們。

富恩特斯:

http://blog.hansenpartnership.com/lca2013-and-rearchitecting-secure-boot/

http://blog.hansenpartnership.com/linux-foundation-secure-boot-system-released/

確定是好消息還是壞消息。


在 Google 中將其新增為首選來源