什麼是 BIOS 中的安全開機和平台金鑰
Zusammenfassung: 瞭解安全開機及其在保護系統免受惡意軟體攻擊方面的作用。瞭解 BIOS 中的平台金鑰,以及它如何為安全開機功能建立信任感。
Symptome
本文介紹安全啟動以及如何將其擴展到Linux;RHEL7.它還提供了有關Linux「可信內核引導」及其對用戶空間應用程式的影響的一些見解。
安全啟動旨在防止在啟動時使用選項 ROM 和 MBR 等機制在記憶體中安裝根工具包載入作業系統,劫持系統控制並保持對反惡意軟體程式隱藏。隨著時間的推移,此問題已發展到在數據丟失或損壞和盜竊中扮演重要角色。惡意軟體可能會出現在 BIOS 和作業系統載入器的中間。它也可以位於作業系統載入器和作業系統之間。
統一可擴展固件介面 (UEFI) 是現代伺服器平臺的硬體和軟體介面的新標準,具有一組豐富的 UI、模組化和標準介面,供 IHV 在 UEFI 中開發設備驅動程式,這些驅動程式在比舊版 BIOS 環境更靈活的預啟動環境中協同工作。UEFI 在作業系統和平台間的採用持續成長,有許多主要的用戶端和伺服器作業系統版本都提供支援。
在 Microsoft 的帶領下,UEFI 標準機構確定了一種禁止使用載入和運行未修改且平臺已知的二進位檔的機制安裝啟動時間惡意軟體 rootkit 的方法。此機制稱為安全開機 - 請參閱 Microsoft 安全開機 以取得Microsoft資訊,並且以類似的方式,不同的作業系統廠商採用不同的方式,採用不同的方式實現安全開機。
安全的 UEFI 平台僅載入未經修改且受平台信任的軟體二進位檔,例如選項 ROM 驅動程式、開機載入器、作業系統載入器。UEFI 規格在此詳細說明安全開機機制。
UEFI 安全開機:
UEFI 規格定義了安全開機所需的基礎結構。以下簡述安全開機中使用的術語,有助於想要更詳細地瞭解的使用者。
安全開機無法保護執行中的系統及其資料。如果在開機程序中有任何元件未驗證,安全開機會停止開機至作業系統,以防止系統執行隱藏的惡意軟體。
這些關鍵字是安全啟動的基礎。UEFI 規格 詳細介紹這些關鍵字。這些規範詳細說明瞭如何對二進位檔進行簽名;見第28
節以獲得更多資訊。
認證變數:
UEFI 提供一種稱為認證變數的服務,這意味著只有經過認證的模組或驗證碼模組才能寫入,也就是只有具有密鑰證書的代碼模組才能寫入。但任何一方都可以讀取這些變數。
平台金鑰 (PK):
平台金鑰在平台擁有者與韌體之間建立信任關係,韌體由平台製造商安裝在 NVM 中。
金鑰交換金鑰 (KEK):
金鑰交換金鑰可在作業系統和平台韌體之間建立信任。KEK 由要與平臺固件通信的操作系統和/或第三方元件安裝在平臺中。
資料庫(DB):
持有代碼模組公鑰和證書的授權資料庫,有權與平臺固件交互。
DBX:
黑名單資料庫。不允許與這些證書匹配的任何代碼模組開始載入。
簽名:
私鑰和哈希生成要簽名的二進位檔的簽名。
證書:
包含公鑰的身份驗證碼證書,該公鑰對應於用於對映像進行簽名的私鑰。
UEFI 平台韌體會載入由認證機構 (CA) 簽署的第三方驅動程式、optionROM 和作業系統載入器,在此範例中為Microsoft。任何硬體廠商都可以在 UEFI BIOS 中寫入驅動程式,並請Microsoft簽署,以在 UEFI 平台上執行。OEM 在平臺資料庫中安裝密鑰的公共部分,UEFI 載入程式協定服務根據授權資料庫驗證二進位檔的簽名,然後才能在平臺上運行。此驗證鏈從 UEFI 一直延續到作業系統載入器和作業系統。
總之,UEFI 允許運行已簽名且其密鑰存在於資料庫中的作業系統載入器。此金鑰機制可確保作業系統載入程式或選項 ROM 僅在獲得授權且未經任何一方修改時才允許運行。
圖 1:UEFI 平台韌體
Ursache
Lösung
Weitere Informationen