Appleプラットフォームのセキュリティ
Intelプロセッサ搭載Macのファームウェアパスワードの保護
Apple T2セキュリティチップを搭載したIntelプロセッサ搭載Macコンピュータ上のmacOSは、特定のMacでのファームウェア設定が意図せず変更されることを防止するためにファームウェアパスワードを使用することをサポートしています。ファームウェアパスワードは、recoveryOSまたはシングルユーザモードでのブート、不正なボリュームからのブート、ターゲットディスクモードでのブートなどの代替起動モードが選択されることを防止するためのものです。
注記: Appleシリコン搭載Macでは、ファームウェアパスワードは必要ありません。これは、制限されていた重要なファームウェア機能がrecoveryOSに移動され、(FileVaultが有効になっている場合)重要な機能にアクセスする前にrecoveryOSがユーザの承認を要求するためです。
ファームウェアパスワードの最も基本的なモードは、T2チップを搭載していないMacではrecoveryOSのファームウェアパスワードユーティリティから、T2チップおよびIntelプロセッサ搭載Macでは起動セキュリティユーティリティから利用できます。詳細オプション(起動のたびにパスコードを要求する機能など)は、macOSのfirmwarepasswd
コマンドラインツールから利用できます。
ファームウェアパスワードの設定は、T2チップを搭載していないIntelプロセッサ搭載Macコンピュータで物理的に存在する攻撃者から攻撃を受けるリスクを低減するために特に重要です。ファームウェアパスワードを設定すると、攻撃者がシステム整合性保護(SIP)を無効にする可能性のあるrecoveryOSをブートすることを阻止できます。また、代替メディアの起動の制限により、攻撃者は別のオペレーティングシステムから特権コードを実行してペリフェラルファームウェアを攻撃することができません。
ファームウェアパスワードには、パスワードを忘れてしまったユーザのためのリセットメカニズムが用意されています。ユーザが起動時に特定の組み合わせのキーを押すと、AppleCareに提供するためのモデル固有の文字列が表示されます。AppleCareは、Uniform Resource Identifier(URI)によって署名が確認されたリソースにデジタル署名します。この署名が検証され、内容がそのMac用のものであれば、UEFIファームウェアによってファームウェアパスワードが削除されます。
自分以外のだれもソフトウェアでファームウェアパスワードを削除できないようにしたいユーザのために、macOS 10.15のfirmwarepasswd
コマンドラインツールに-disable-reset-capability
オプションが追加されました。ユーザはこのオプションを設定する前に、パスワードを忘れてパスワードの削除が必要になった場合にかかるロジックボード交換の費用を自ら負担することを承認する必要があります。組織のMacコンピュータを外部の攻撃者からも従業員からも保護したい場合は、組織が所有するシステムにファームウェアパスワードを設定する必要があります。これは以下のいずれかの方法でデバイス上で実行できます:
プロビジョニング時に手動で
firmwarepasswd
コマンドラインツールを使用するfirmwarepasswd
コマンドラインツールを使用する他社製管理ツールを利用するモバイルデバイス管理(MDM)を使用する