Apple T2

Apple T2 セキュリティチップは、 AppleのIntelベースのMacintoshにセキュリティおよびコントローラ機能を提供することを目的としたSoCである。これは64ビットARMv8チップであり、 bridgeOS2.0を実行する。T2には独自のRAMがあり、基本的には独立したコンピュータであり、ユーザが操作するメインコンピュータと並行して動作する。

1. 設計
-----

Apple T2はApple A10ベースであり、 64ビットARMv8.1-AベースのCPUを備える。 これは、A10と同様に、TSMCによって16nmプロセスで製造されている。ダイを分析すると、A10とほぼ同じCPUマクロであり、メインアプリケーションプロセッサの4コア設計が判明、2つの大きな高性能コア「Hurricane」と2つの小さな効率コア「Zephyr」がある。分析により、RAMコントローラの数は同じだが、GPU機能が大幅に削減され3ブロック、A10と比較してわずか4分の1のサイズであることがわかった。

ダイサイズは9.6×10.8mm、104mm2で、これはA10のサイズの約80％に相当する。

Intelベースのホストのコプロセッサとして機能するため、ホストシステムのメインプラットフォームにはない、さまざまな処理をする機能も備えている。メインコンピュータが停止した低電力モードであっても、アクティブな状態を維持するように設計されている。 T2のメインアプリケーションプロセッサは、bridgeOSと呼ばれるオペレーティングシステムを実行する。

T2のセカンダリプロセッサは、Secure Enclave Processor と呼ばれる32ビットARMv7-AベースのCPUであり、暗号化キーを生成して保存するタスクがある。 L4マイクロカーネルをベースにした「sepOS」というオペレーティングシステムを実行している。

T2モジュールは、パッケージに、iMac Pro場合は独自の2GB LP-DDR4 RAM 、2019年初頭のMacBook Pro 15インチモデルの場合は1GBと一緒にパッケージとして構成・実装されている。

T2は、USB接続のイーサネットポートを介してホストと通信する。

1.1. セキュリティ機能
-------------

セキュリティに関して多数の機能がある。

SEPは、 Face ID 、 FileVault 、macOSキーチェーン、 UEFIファームウェアパスワードのキーなど、暗号化されたキーの処理と保存に使用される。また、マシンの一意のID とグループIDも格納される。
AES-256とハードウェア乱数ジェネレーターを実装するAES暗号化エンジンを備える。
Public Key Acceleratorは、RSAや楕円曲線暗号などの非対称暗号操作を実行するために使用される。
コンピューターのソリッドステートドライブ用のストレージコントローラ"digitaltrends-problems"。
マイク、カメラ、環境光センサー、 Touch IDのコントローラは、メインオペレーティングシステムからの直接アクセスさせない"MacRumorsiMacPro"。T2は、電源投入、起動シーケンス、およびオペレーティングシステムのアップグレードを保護するために不可欠であり、署名されていないコンポーネントは干渉できない"digitaltrends-problems"。

1.2. その他の機能
-----------

セキュリティに直接関係しない他の機能も備わっている。

iMac ProのFaceTime HDカメラの画像処理の高速化と、色、露出バランス、フォーカスなどの品質向上を可能にする画像コプロセッサ。
H.264およびH.265の高速エンコード/デコードを可能にするビデオコーダ。
タッチパネル用のコントローラ。ポータブルMacBook ProにTouchバーとして実装されている。
「HeySiri」機能で使用される音声認識。
システム診断サーバーや熱管理など、マシンの状態の監視と制御。
スピーカーコントローラ。

2. 歴史
-----

Apple T2チップは、iMac Proに搭載されて2017年に最初にリリースされた。その後、2018年7月12日にAppleはT2チップを搭載しアップデートされたMacBook Proをリリースした。これにより、「Hey Siri」機能が有効となった。

2018年11月7日、AppleはT2チップを搭載したアップデートされたMac miniとMacBook Airをリリースした。

2020年8月4日、iMac 27インチモデルがアップデートされ、T2チップが搭載された。

T2の機能は、AppleがIntelプロセッサに代わりに移行するAppleシリコンに組み込まれている。

3. セキュリティ脆弱性
------------

2019年10月、セキュリティ研究者は、T2はA10の設計に基づいているため、checkm8バグの影響を受ける可能性があると指摘し始めた。次に、Rick MarkはlibimobiledeviceをApple T2と連携するように移植し、 Apple Configuratorによって外部からT2を復元し、T2でのさらなる作業を可能にする無料のオープンソースソリューションを提供した。2020年3月6日、 //T2開発チームと//呼ばれるエンジニアのチームがT2の既存のcheckm8バグを悪用し、エントリの証拠としてセキュアROMのダンプのハッシュをリリースした。checkra1nチームは、T2のジェイルブレイクに必要なパッチをすばやく統合した。

次に、T2開発チームは、Appleからの文書化されていないUSB電力供給コマンドを使用して、ユーザの操作なしでT2デバイスをデバイスファームウェアアップグレードモードにできるようにした。これは問題を悪化させ、悪意のあるデバイスがカスタム充電デバイスからの対話なしにT2をジェイルブレイクすることを可能にした。

その年の後半、blackbird SEPの脆弱性のリリースにより、T2 Secure Enclaveプロセッサで任意のコードが実行されるようになり、欠陥の影響がさらに悪化した。これにより、FileVaultキーやその他の安全なAppleキーチェーンアイテムなどの暗号化されたクレデンシャルに影響を与える可能性があった。

その後、開発者のRick Markは、macOSを同じiDeviceリカバリプロトコルにインストールできると判断した。これは、後にApple M1シリーズにも当てはまる。2020年9月10日に、ユーザがT2を脱獄できるようにするcheckra1nの公開リリースが公開された。T2開発チームは、MacEFIやブートサウンドなどのT2上のファイルから署名検証を削除するパッチを作成した。 T2開発チームのメンバーは、業界のスラックインスタンスで質問に答え始めた。IronPeakのセキュリティコミュニティのメンバーは、このデータを使用して欠陥の影響分析をまとめた。これは後で修正され、元の研究者の属性が正しくなった。元の研究者はIronPeakブログを取り上げた報道機関に複数の修正を加えた。

2020年10月、T2チップはA10チップをベースにしているため、A10チップを搭載したiPhoneのジェイルブレイクと同様の方法を使用して、パッチを適用できない方法で悪用される可能性のあるチップのセキュリティ機能のハードウェアの欠陥が見つかった。 Appleはこの脆弱性について通知を受けたが、セキュリティ研究者が脆弱性を公表する前に応答しなかった。この脆弱性により、ユーザがカスタムMac起動音を実装できることが実証された。

4. AppleT2を含む製品
---------------

[1]

iMac Pro 2017
iMac 27インチ
MacBook Pro
MacBook Pro
Mac mini
MacBook Air
MacBook Pro
MacBook Pro
MacBook Pro
MacBook Air
MacBook Pro
Mac Pro
MacBook Air

5. 関連項目
-------

Appleシリコン - Appleが自社製品専用に設計した一連のARMベースのSoC
Apple A10
bridgeOS

6. 参考文献
-------