世界を動かす技術を、日本語で。

現代のiOSセキュリティ機能 - SPTM、TXM、エクスクレーブの詳細分析

概要

  • AppleのXNUカーネル は、これまで主にモノリシックな構造で動作していた
  • SPTM などの新しいセキュリティ機構導入で、より細分化された設計へ移行
  • SPTMドメインExclaves による信頼領域の分離強化
  • カーネル侵害時のリスク低減と、重要機能の隔離によるセキュリティ向上
  • 本稿は、これら最新の対策と相互作用を包括的に分析

Apple XNUカーネルのセキュリティ進化

  • XNUカーネル はApple OSの基盤であり、従来は モノリシックカーネル として機能
  • システム機能が 単一の特権ゾーン に集中していたため、カーネル侵害時の被害が甚大
  • 近年、Appleは カーネルの分割化マイクロカーネル的設計 を推進
  • これまで SPTM や関連セキュリティ機構について体系的な議論が不足
  • 本論文は、現行の全対策を横断的に整理・評価

SPTMによる信頼ドメインの導入

  • SPTM は、メモリ再型付けに関する 唯一の権限管理者
  • フレーム再型付けメモリマッピング規則 に基づくSPTMドメインの確立
  • 各ドメイン間で機能を 明確に分断 し、信頼境界を強化
  • 例: TXM (コード署名・権限検証担当)も分離対象
  • これにより、カーネルから 直接アクセスできない領域 が増加

Exclavesと通信メカニズムの詳細分析

  • Exclaves は、SPTMによる分離の上に構築された 最新セキュリティ機構
  • xnuproxy :セキュアワールドリクエストハンドラとして機能
  • Tightbeam IPCフレームワーク :効率的なドメイン間通信を実現
  • 複数の通信経路を検証し、セキュリティ上の利点を確認

セキュリティ向上の評価と今後の展望

  • 重要・機密コンポーネントが XNUカーネルの直接管理外 へ移動
  • カーネル侵害時でも 最高信頼レベルの即時危殆化を回避 可能
  • システム全体の セキュリティ保証が大幅に強化
  • 今後も 分離・最小権限設計 の深化が期待

Hackerたちの意見

SEARとAppleチームはiOSのセキュリティに関して素晴らしい仕事をしていて、本当に称賛されるべきだよね。ハードウェア機能を開発して、それを全体に組み込むだけじゃなくて、ITWの脆弱性を見て、対策を考える姿勢もすごい。PPLはめっちゃ興味深かったけど、100%効果的じゃないと判断してやめて、他の方法を考えたんだ。Appleの縦割り構造のおかげで、Androidよりも「簡単」にこれができるんだよね。Androidだと、QCやMediaTekのCPU担当者を説得して機能を作らせたり、Linuxカーネルに取り込ませたり、AOSPに入れたり、上流のLLVMに組み込んだりしなきゃいけないからさ。ポインタ認証コード(PAC)はいい例だね。Appleは「やっちゃおう!」って自分たちでやったんだ。LLVMのダウンストリームフォークを維持して、完全なサポートを構築して、実際のバイパスを活用してそれを修正したんだよ。

これによる副次的なメリットの一つは、Appleの新しいプロセッサでハードンされたランタイムを使っている限り、全プラットフォームでセキュリティが向上することだね。理論的には、静的解析では捕まえられないものを捕まえやすくなるし、単にクラッシュするだけじゃないレベルの洞察を得られるんだ。

Googleはもう何年もMTEを追加できたはずだけど、どうやらOEMに強制するのは避けたいみたい。Androidの認証プログラムの一部としてね。OSのアップデートと同じ歴史だよ。

そして、あれだけのハードコアなエンジニアリング作業が終わった後でも、iMessageにはカーネルで疑わしいコードが実行されるコードパスが残っていて、0クリックの脆弱性がまだ存在するんだよね。

彼らは今、あなたのセキュリティを気にかけているからそうしているけど、自分のデバイスを改造(脱獄)してAppleに承認されていないソフトウェアを実行するのを難しくしているんだ。彼らのやっていることはあなたの利益に反していて、App Storeの独占を維持するためなんだよ。

ちょっと関連があるけど、Ivan KrstićのHexaconでの基調講演中に、バグバウンティプログラムの増加も発表されたんだ。