Apple Security Research Device
Apple Security Research Deviceは、セキュリティ研究者がiPhoneのプラットフォームセキュリティ機能を停止したり無効にしたりしなくてもiOSに関する研究を実行できるように、特別に融合されたiPhoneです。このデバイスを使用すると、研究者はプラットフォームと同等の権限で実行されるコンテンツをサイドロードできるため、実稼働デバイスのコンテンツをより厳密にモデル化したプラットフォームで研究を行うことができます。
ユーザデバイスがセキュリティ研究用デバイスの実行ポリシーの影響を受けないようにするために、ポリシーの変更はiBootとブートカーネルコレクションのバリアントに実装されています。これらはユーザのハードウェアではブートに失敗します。研究用iBootは、新しい融合状態をチェックし、研究用以外の融合されたハードウェアで実行されている場合はパニックループに入ります。
cryptexサブシステムを使用すると、研究者は、パーソナライズされた信頼キャッシュと、対応するコンテンツを含むディスクイメージを読み込むことができます。このサブシステムがユーザデバイスでの実行を許可しないようにするための徹底した防御対策が数多く実装されています:
launchd
は、通常の顧客用デバイスを検出した場合にはcryptexd
のlaunchdプロパティリストを読み込みません。cryptexd
は、通常の顧客用デバイスを検出した場合には中断します。AppleImage4
からは、通常の顧客用デバイスで研究用cryptexを検証するために使用されるアンチリプレイ値は得られません。署名サーバは、明示的な許可リストにないデバイスのcryptexディスクイメージをパーソナライズすることを拒否します。
セキュリティ研究者のプライバシーを尊重するために、実行可能ファイルまたはカーネルキャッシュの測定値(ハッシュなど)とセキュリティ研究用デバイスの識別子のみが、パーソナライズ中にAppleに送信されます。Appleは、デバイスに読み込まれているcryptexのコンテンツを受信しません。
悪意のある第三者が研究用デバイスをユーザデバイスに見せかけて、ターゲットをだまして日常の用途のために使用させようとするのを回避するために、セキュリティ研究用デバイスには以下の違いがあります:
セキュリティ研究用デバイスは、充電中しか起動しません。充電には、LightningケーブルまたはQi互換の充電器を使用することができます。起動時にデバイスが充電されていない場合、デバイスはリカバリモードに入ります。ユーザが充電を開始してデバイスを再起動すると、通常通り起動します。XNUが起動するとすぐに、操作を続けるためにデバイスを充電する必要がなくなります。
iBootの起動時に、Appleロゴの下に「Security Research Device」という単語が表示されます。
XNUカーネルは冗長モードでブートします。
デバイスの側面にメッセージがエッチングされています。“Property of Apple. Confidential and Proprietary.Call +1 877 595 1125.”
以下は、ブート後に出現するソフトウェアに実装されている追加の対策です。
デバイスのセットアップ中に「Security Research Device」という単語が表示されます。
ロック画面と設定アプリに「Security Research Device」という単語が表示されます。
セキュリティ研究用デバイスは、ユーザデバイスにはない次の機能を研究者に提供します。研究者は次のことができます:
Appleオペレーティングシステムのコンポーネントと同じアクセス許可レベルで任意の資格を持つデバイスに、実行可能コードをサイドロードする
起動時にサービスを開始する
再起動後もコンテンツを保持する
research.com.apple.license-to-operate
資格を使用して、あるプロセスが、システムプロセスを含むシステム上のほかのプロセスをデバッグすることを許可する。research.
名前空間は、AppleMobileFileIntegrityカーネル拡張機能のRESEARCH
バリアントでのみ尊重されます。この資格を持つプロセスは、顧客用デバイスでは署名の検証中に終了されます。カスタムカーネルキャッシュをパーソナライズして復元する