Intelプロセッサ搭載Macのブートプロセス
Apple T2セキュリティチップを搭載したIntelプロセッサ搭載Mac
Apple T2セキュリティチップおよびIntelプロセッサ搭載Macコンピュータの電源を入れると、チップはiPhone、iPad、およびAppleシリコン搭載Macと同じ方法で、Boot ROMからセキュアブートを実行します。これはiBootのブートローダーを確認し、信頼チェーンの最初のステップです。iBootはT2チップ上でカーネルとカーネル拡張機能のコードを確認してから、Intel UEFIファームウェアを確認します。UEFIファームウェアおよび関連する署名は、まずはT2チップでのみ使用できます。
検証の後、UEFIファームウェアのイメージがT2チップのメモリの一部にマップされます。このメモリは、拡張シリアルペリフェラルインターフェイス(eSPI)を通じてIntel CPUで使用できるようになります。Intel CPUは自身の最初の起動時に、T2チップ上の、整合性が確認され、メモリにマップされたファームウェアのコピーから、eSPIを通じて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)モードに入ります。
T2チップおよびIntelプロセッサ搭載Mac上のMicrosoft Windows
デフォルトでは、セキュアブートをサポートするIntelプロセッサ搭載Macは、Appleによって署名されたコンテンツのみを信頼します。ただし、Boot CampでインストールしたOSのセキュリティを向上させるため、AppleはWindowsのセキュアブートもサポートしています。Unified Extensible Firmware Interface(UEFi)ファームウェアにはMicrosoftのブートローダーの認証に使用するMicrosoft Windows Production CA 2011証明書のコピーが含まれています。
注記: Microsoft Corporation UEFI CA 2011は、Microsoft社のパートナーによって署名されたコードの検証を許可する証明書ですが、現時点でこれに対する信頼性は確立されていません。一般にこのUEFI CAは、Linuxのバリアントなどのオペレーティングシステムでブートローダーの真正性を検証する際に使用されています。
デフォルトではWindowsのセキュアブートのサポートは有効になっていませんが、Boot Campアシスタント(BCA)を使用すれば有効になります。ユーザがBCAを実行すると、macOSはファーストパーティのMicrosoft社が署名したコードを起動時に信頼するよう再構成されます。BCAの完了後、macOSがセキュアブート時にAppleによるファーストパーティの信頼性評価に合格しなかった場合は、UEFIファームウェアはUEFIセキュアブートのフォーマットに応じてオブジェクトの信頼性の評価を試みます。信頼性の評価に成功すると、Macでプロセスが続行され、Windowsが起動します。成功しなかった場合は、MacがrecoveryOSに切り替わり、信頼性の評価に失敗したことをユーザに通知します。
T2チップを搭載していないIntelプロセッサ搭載Macコンピュータ
T2チップを搭載していないIntelプロセッサ搭載Macはセキュアブートをサポートしていません。このため、Unified Extensible Firmware Interface(UEFi)ファームウェアはファイルシステムからmacOSの起動システム(boot.efi)を検証なしに読み込み、起動システムはファイルシステムからカーネル(prelinkedkernel)を検証なしに読み込みます。ブートチェーンの整合性を保護するために、ユーザは以下のすべてのセキュリティ機能を有効にする必要があります:
システム整合性保護(SIP): デフォルトで有効になっています。これによって、実行中のmacOSでの悪質な書き込みから起動システムとカーネルが保護されます。
FileVault: ユーザが有効にすることも、モバイルデバイス管理(MDM)の管理者が有効にすることもできます。これによって、Macに物理的にアクセスできる攻撃者がターゲットディスクモードを使用して起動システムを上書きすることを防止できます。
ファームウェアパスワード: ユーザが有効にすることも、MDMの管理者が有効にすることもできます。これによって、物理的に存在する攻撃者が、recoveryOSやシングルユーザモード、ターゲットディスクモードなどの別のブートモードを起動して、起動システムを上書きすることを防止できます。また、攻撃者は別のメディアを使用してコードを実行し、起動システムを上書きすることがありますが、こうした別のメディアからの起動も防止できます。