- Appleプラットフォームのセキュリティガイドは、iPhone、iPad、Mac、Apple Watchなどすべてのデバイスで、ハードウェア・ソフトウェア・サービスが統合されたセキュリティアーキテクチャを説明
- Appleシリコン(SoC)とSecure Enclaveが中核基盤であり、起動からデータ暗号化、生体認証まで全過程の信頼チェーンを構成
- ハードウェアセキュリティは、Boot ROM、AESエンジン、セキュリティコプロセッサなどで構成され、暗号鍵の保護と安全な起動を保証
- Face ID、Touch ID、Optic IDなどの生体認証はSecure Enclaveで処理され、個人データが外部に露出しない
- Appleはセキュリティ研究報奨プログラムと専任セキュリティチームの運用を通じて、継続的に脆弱性対応とプラットフォームセキュリティを強化
Appleプラットフォームのセキュリティ概要
- Appleはすべてのプラットフォームにセキュリティを中核設計要素として統合
- ハードウェア、ソフトウェア、サービスが連携して動作し、個人情報保護を最優先にする
- Appleシリコンとセキュリティハードウェアが、オペレーティングシステムおよびサードパーティ製アプリの保護機能を支える
- セキュリティアップデート、アプリエコシステムの保護、安全な通信および決済のためのサービスインフラを提供
- デバイス自体だけでなく、ネットワークおよび主要なインターネットサービスまで保護
- 主なセキュリティ領域は次の8つで構成
- ハードウェアおよび生体認証、システムセキュリティ、暗号化およびデータ保護、アプリセキュリティ、サービスセキュリティ、ネットワークセキュリティ、開発者キットのセキュリティ、デバイス管理セキュリティ
Appleのセキュリティ哲学と運用
- Appleはプライバシーを人権とみなしており、ユーザーがアプリの情報アクセスを直接制御できるよう多様な設定を提供
- Apple Security Bountyプログラムを通じて、脆弱性を発見した研究者に報奨を提供
- 詳細は security.apple.com/bounty で確認可能
- 専任セキュリティチームが製品開発中および発売後もセキュリティ監査を実施し、脅威を監視
- Appleは**FIRST(Forum of Incident Response and Security Teams)**のメンバーとして活動
- Appleシリコンは、安全な起動、生体認証、データ保護の基盤として機能
- Kernel Integrity Protection、Pointer Authentication Codes、Fast Permission Restrictions などの機能で攻撃被害を最小化
- 企業はAppleプラットフォームの多層的なセキュリティ技術を最大限活用できるようITポリシーを見直す必要がある
ハードウェアセキュリティと生体認証
- セキュリティはハードウェアレベルから始まり、Appleデバイスにはセキュリティ機能を内蔵したシリコンが搭載される
- CPU以外にもセキュリティ専用シリコンが存在し、攻撃対象領域を最小化
- 主な構成要素
- Boot ROM: ハードウェア信頼の根源であり、安全な起動の出発点
- AESエンジン: ファイルの入出力時にリアルタイムで暗号化・復号を行い、鍵情報はSecure Enclaveを通じて渡される
- Secure Enclave: 暗号鍵の生成・保存および生体認証データの保護を担当
- Secure Bootは、Appleが信頼するオペレーティングシステムのみ起動できるよう制限
- Boot ROMはSoC製造時にハードウェアへ組み込まれ、変更不可
- MacではT2チップが安全な起動の信頼基盤として機能
Apple SoCのセキュリティ構造
- Appleは全製品群に共通アーキテクチャを適用したSoCを設計
- iPhone、iPad、Mac、Apple Watch、Apple TV、Vision Pro、HomePodなどで同一のセキュリティ基盤を利用
- SoC世代別のセキュリティ機能
- Kernel Integrity Protection、Pointer Authentication Codes、Page Protection Layer、Secure Page Table Monitor など
- A15以降およびM2以降のSoCではSPTMがPPLを置き換える
- Data Protection機能はA12以降およびM1以降のSoCで強化
- Sealed Key Protection(SKP)やリカバリモード・診断モードでもデータ保護を維持
Secure Enclave
- Secure EnclaveはApple SoC内に統合された独立したセキュリティサブシステム
- メインプロセッサから分離されており、カーネルが侵害されても機密データを保護
- Boot ROM、AESエンジン、保護メモリ構造を備える
- 独自のストレージは持たないが、外部ストレージに暗号化された形で安全にデータを保存可能
- Optic ID、Face ID、Touch IDの生体データはSecure Enclaveでのみ処理
- 認証過程で個人の生体情報がシステムやアプリに露出しない
- 複雑なパスコードを維持しつつ高速な認証体験を提供
1件のコメント
Hacker Newsの意見
Cをメモリ安全にしたという点が、たった1段落しか触れられていないのは驚き
iOS 14以降、AppleはiBootブートローダをビルドする際に使うCコンパイラのツールチェーンを改修し、安全性を高めているとのこと
ポインタに境界情報と型情報を付与し、バッファオーバーフロー、ヒープエクスプロイト、型混同、use-after-freeのような脆弱性を防ぐ仕組みらしい
関連文書: Clang Bounds Safety Overview
Fil-Cに近い系譜を持つように見える
参考リンク: iBoot Firebloom
新しいプロセッサのメモリタグ付け機能もオーバーフロー攻撃の防止に役立つ
Appleがプライバシーとセキュリティに本気で取り組んでいる点は印象的
GoogleやMetaは広告収益モデルの都合上、プライバシーを約束しにくいが、Appleはハードウェア中心の企業なので可能な戦略的選択に見える
Googleは基本的にメッセージのバックアップと転送の両方にE2E暗号化を適用している一方、
Appleはメッセージ転送だけがE2EEで、バックアップはデフォルトでAppleがアクセス可能な仕組みになっている
ADP(Advanced Data Protection)を有効にすれば防げるが、ほとんどのユーザーは設定しないため、実質的にはAppleがすべてのメッセージにアクセス可能ということになる
両社とも暗号鍵を保持しており、ADPを有効にしなければAppleもアクセス可能
Pixelには2G遮断やIMEI追跡通知のような機能があり、細かなセキュリティ制御ができる
HSMやrate limitなど、実際の保護メカニズムが詳しく説明されている
これは市民的権利の観点からも、ますます大きな影響を持つようになっている
Appleがユーザーの望むソフトウェアを自由にインストールできないようにしているのは残念
セキュリティを理由にしているが、実際にはユーザーの統制権を制限する仕組み
結局の選択肢は (A) 追跡ベースのOS か (B) インストール行為そのものを収益化したOS か、という話で、どちらも満足できない
App Storeにも詐欺アプリは多いため、「ストア=安全、外部=危険」というのは誤った二分法
Appleが本当に防いでいる理由は30%の手数料構造を維持するため
それでもセキュリティ強化の努力自体は評価する
https://privacy.apple.comではAppleが保有する自分のデータのコピーを請求できる
iCloud写真も指定したサイズ単位でダウンロードできるので、Webインターフェースで1000枚ずつ遅く受け取るよりずっと効率的
Appleのソフトウェアはすべてクローズドなので、セキュリティ上の主張を検証する方法がほとんどない
暗号鍵もユーザーの手元にはないため、データ統制権は実質的に存在しない
セキュリティをうまく実装している例としてはGrapheneOSが挙げられる
公式ビルドでは、アプリが許可しなければデータの抽出は不可能
バックアップ機能もAppleより制限が多い
さらに開発者が、アプリにユーザーのデバイス信頼性を検査させられるようにしており、ユーザーの自由を制約する方向に進んでいる
関連文書: Attestation Compatibility Guide
それでも、個人のセキュリティとopsecを気にかけるテック企業がまだ存在するのはうれしい
AppleセキュリティガイドのWeb版はこちらで見られる
Appleが「MacはPCの中で最も強力なDMA保護を備えている」と主張した文言は興味深い
今やAppleが自らMacをPCと呼んでいるのも面白い
新たに導入された**A19 + M5プロセッサのMIE(EMTE)**機能が実際どの程度使われているのか気になる
今すぐ効果があるのか、それとも数年後になって初めて実感できるのかは分からない
AppleのMTE実装はGrapheneOSやAndroidより適用範囲が限定的
性能低下が大きいため
Lockdown Modeを有効にしたら、全体的にMTEを強制してほしい
こうしたセキュリティ機能が性能にどれくらいのオーバーヘッドを与えるのか気になる
セキュリティ機能をオンにした場合とオフにした場合のベンチマークを見てみたい
特に以前のFileVaultはディスクイメージベースだったので、ずっと遅かった