以 Intel 為基礎的 Mac 之開機程序
以 Intel 為基礎並配備 Apple T2 安全晶片的 Mac
當以 Intel 為基礎並配備 Apple T2 安全晶片的 Mac 電腦開啟時,晶片會從其 Boot ROM 執行安全啟動,執行方式與 iPhone、iPad 和配備 Apple 晶片的 Mac 相同。這會驗證 iBoot 啟動程式,且是信任鏈中的第一個步驟。iBoot 會檢查 T2 晶片上的核心和核心延伸功能代碼,接着 T2 晶片會檢查 Intel UEFI 韌體。一開始 UEFI 韌體和關聯的簽署只適用於 T2 晶片。
驗證後,UEFI 韌體映像會對映至 T2 晶片記憶體的一部份。此記憶體經由增強型序列周邊介面(eSPI)供 Intel CPU 使用。Intel CPU 初次啟動時,會透過 eSPI 從 T2 晶片上已通過完整性檢查、記憶體對映的韌體副本截取 UEFI 韌體。
Intel CPU 上會繼續進行信任鏈評估,由 UEFI 韌體評估 boot.efi(macOS 啟動程式)的簽署。採用 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 啟動程式。
附註:目前沒有針對 Microsoft Corporation UEFI CA 2011(這會允許驗證 Microsoft 合作夥伴所簽署的程式碼)提供信任。此 UEFI CA 常用於驗證其他作業系統的啟動程式(如 Linux 變體)的確實性。
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、單一用户模式或目標磁碟模式,這些模式可覆寫開機程式。同時也可協助防止從替用媒體開機,如以此方式開機,攻擊者便可執行程式碼來覆寫開機程式。