採用 Intel 架構的 Mac 如何進行開機程序
採用 Intel 架構並配備 Apple T2 安全晶片的 Mac
當採用 Intel 架構並配備 Apple T2 安全晶片的 Mac 電腦開啟時,晶片會從其開機 ROM 執行安全開機,執行方式與 iPhone、iPad 和配備 Apple 晶片的 Mac 相同。這會驗證 iBoot Bootloader,且是信任鏈中的第一個步驟。iBoot 會檢查 T2 晶片上的核心和核心延伸功能,接著 T2 晶片會檢查 Intel UEFI 韌體。UEFI 韌體和關聯的簽章最初僅可供 T2 晶片取用。
通過驗證後,UEFI 韌體映像檔會對應到 T2 晶片記憶體上的一部分。這個記憶體透過「增強型序列週邊介面」(eSPI)提供給 Intel CPU 使用。Intel CPU 初次啟動時,會透過 eSPI,從 T2 晶片上已通過完整性檢查、記憶體對應的韌體拷貝擷取 UEFI 韌體。
Intel CPU 上會繼續進行信任鏈評估,由 UEFI 韌體評估 boot.efi(macOS Bootloader)的簽章。採用 Intel 技術的 macOS 安全開機簽章,儲存於與用於 iOS、iPadOS 和 T2 晶片安全開機相同的 Image4 格式,且剖析 Image4 檔案的程式碼同於最新 iOS 和 iPadOS 安全開機實作的強化程式碼。接著 boot.efi 會驗證新檔案 immutablekernel 的簽章。當安全開機啟用時,immutablekernel 檔案代表著啟動 macOS 所需的整組 Apple 核心延伸功能。安全開機規則會在接力給 immutablekernel 時終止,在這之後,macOS 安全性規則(例如「系統完整保護」和已簽署的核心延伸功能)便會生效。
此過程中若發生任何錯誤或失敗,都會導致 Mac 進入復原模式、Apple T2 安全晶片復原模式或 Apple T2 安全晶片裝置韌體升級(DFU)模式。
採用 Intel 架構並配備 T2 晶片的 Mac 上的 Microsoft Windows
依照預設,支援安全開機且採用 Intel 架構的 Mac 只信任 Apple 簽署的內容。但是為了提高「啟動切換」安裝項目的安全性,Apple 也支援 Windows 的安全開機功能。統一可延伸韌體介面(UEFI)韌體包含一份 Microsoft Windows Production CA 2011 憑證(用於認證 Microsoft Bootloader)。
【注意】目前沒有針對 Microsoft Corporation UEFI CA 2011(這會允許驗證 Microsoft 合作夥伴所簽署的程式碼)提供信任。此 UEFI CA 常用於針對其他作業系統(例如 Linux 的各種衍生版本)驗證 Bootloader 的真實性。
Windows 安全開機的支援並非預設為啟用,而是需使用「啟動切換輔助程式」(BCA)來啟用。當使用者執行 BCA 時,開機期間會將 macOS 設定為信任 Microsoft 第一方簽署的程式碼。BCA 完成後,如果 macOS 無法在安全開機期間傳送 Apple 第一方信任評估,UEFI 韌體會嘗試根據 UEFI 安全開機格式評估物件的信任。如果信任評估成功,Mac 就會繼續執行並啟動 Windows。如果不成功,則 Mac 會進入 RecoveryOS,並通知使用者信任評估失敗。
採用 Intel 架構而未配備 T2 晶片的 Mac 電腦
未配備 T2 晶片的 Intel 架構 Mac 不支援安全開機。因此統一可延伸韌體介面(UEFI)韌體會從檔案系統載入 macOS 開機程式(boot.efi)而不進行驗證,而開機程式會從檔案系統載入核心(prelinkedkernel)而不進行驗證。為了保護開機鏈的完整性,使用者應啟用下列所有安全機制:
系統完整保護(SIP):預設為啟用,此機制可保護開機程式和核心,從執行中的 macOS 內部抵禦惡意寫入。
檔案保險箱:啟用方式有兩種:由使用者或行動裝置管理(MDM)管理者啟用。此機制可抵禦實體存在的攻擊者以目標磁碟模式來覆寫開機程式。
韌體密碼:啟用方式有兩種:由使用者或 MDM 管理者啟用。這有助於防止實體存在的攻擊者啟動替用開機模式,例如 RecoveryOS、單一使用者模式或目標磁碟模式,這些模式可覆寫開機程式。也有助於防止從替用媒體開機,若以此方式開機,攻擊者便可執行程式碼來覆寫開機程式。