Android版C2PAの脆弱性:Root権限エクスプロイトとハードウェア故障注入により信頼性が崩壊
まとめ
Android上でC2PA対応のカメラアプリは、Root権限エクスプロイトと低コストのハードウェア故障注入攻撃によって改ざん可能である。これらの攻撃はC2PAが依存するKey AttestationおよびPlay Integrityの検証を回避し、結果として実用的な修正は不可能である。
Android版C2PAは理論上「破られない」認証に依存しているが、実際には欺くことができる
C2PAの信頼モデルは、デバイスの暗号鍵がカメラの画像センサーから出力されたデータにのみ使用されることを前提としている。Androidではこの前提をKey AttestationとGoogle Play Integrityによって実装しており、ブートローダーがロックされているか、AVB鍵がベンダー署名されているか、最新のセキュリティパッチが適用されているかを報告する。これらのチェックのいずれかが失敗すると、GoogleはC2PA署名鍵のプロビジョニングを拒否する。
Rootエクスプロイトは報告フラグを変更せずに認証を無効化する
攻撃者がソフトウェアの脆弱性(例:CVE‑2026‑43499)を利用してRoot権限を取得しても、ブートローダーはロックされたまま、AVB鍵は変更されておらず、OSバージョンも変更されない。その結果、認証レポートは依然として「健全」として表示され、Googleのサーバーは改ざんされたデバイスにC2PA鍵をプロビジョニングしてしまう。鍵はStrongBox(最近のPixelではTitan M2)内に残るが、Root権限を持つプロセスはStrongBoxに任意のデータの署名を要求でき、プライベート鍵を抽出することなく完全に有効なC2PA資格情報を生成できる。
1クリックでRootできるツールにより攻撃は誰にでも可能に
Root‑My‑Pixelなどの公開ツールは、完全にパッチ適用済みのPixel端末上でCVE‑2026‑43499を自動的に利用する。このエクスプロイトはソフトウェアのみで実行され、ハードウェアの改造は不要であり、正当なC2PA資格情報を用いて任意の画像や動画を署名できる端末を生成する。つまり、ある程度の技術力を持つ誰もが検証を通過する改ざんを生成できる。
低コストのハードウェア故障注入攻撃で任意のAndroid端末をRoot可能、かつ修正不能
研究者たちは、単純なライター型の故障注入回路がDRAMのタイミングを破壊し、カーネルに任意のコードを実行させることでデバイスをRootできることを実証した。この攻撃はファームウェアではなくメモリバスを標的にしているため、メーカーはソフトウェアパッチで攻撃経路を閉じることができない。著者の自作ハードウェアエクスプロイトは現在のPixelモデルでも動作し続けるが、リアルタイムカーネル保護(RKP)を搭載したSamsung端末は一時的に抵抗性があるように見える。
ハードウェア攻撃を緩和するにはカメラパイプラインの完全な再設計が必要
メーカーが生産されたRAWセンサーデータを処理し署名するセキュアエンクロージャを追加したとしても、そのエンクロージャ自体がバスレベルの故障注入やメモリ暗号化攻撃から保護される必要がある。現時点では、Intel MEEやAppleのSEPメモリ保護エンジンといった研究プロトタイプでのみ実現可能であり、これらはAndroidカーネル全体に適した性能ではない。このようなエンクロージャ内に全体の画像処理スタックを再構築することは、Googleが「Won’t Fix」と判断した通り、現実的ではないとされている。
この脆弱性はGoogleのPixelカメラに限らず、すべてのAndroid C2PA実装に影響する
公式C2PA Conformanceリポジトリに掲載されているすべてのAndroid C2PAアプリは、Key AttestationまたはPlay Integrityのいずれかを使用している。認証メカニズムがデバイス間で同一であるため、同じRootまたはハードウェア攻撃は、安価なSamsung、Amazon Fire TV、Meta Quest、および必要なAPIをサポートする他のすべてのAndroidハードウェアで有効である。したがって、攻撃表面はシステム全体に及び、フラッグシップ端末に限定されない。
コミュニティの反応から技術的懐疑と政策的懸念が浮き彫りに
"この問題が15分ほど真剣に検証すれば明らかに解決不能であることは誰の目にも明らかなのに、最も腹立たしいのは、信頼できる証拠としての写真を保存するという誤った約束が、実際に有害である点だ。" – mistercow
"Root権限エクスプロイトはAndroidのKey Attestationセキュリティモデルを破壊し、Play Integrityも同様である。笑えるよ、そもそもハードウェア認証が誰かに破られたという話はまだないよ。" – yaro330
"C2PAは悪用を防ぐために機能するはずがなかったが、問題は、誤った安心感を与える点にある。多くの人がGoogleが真実だと言っているから『カメラで撮影された』ラベルを信用するだろう。" – CrzyLngPwd
これらのコメントは共通のテーマに集約されている:C2PAはマーケターおよび規制当局が期待する絶対的な信頼性を提供できず、その導入はむしろ一般の不信感を高める可能性がある。
より広範なセキュリティおよび政策的影響
- 法医学的信頼性:Root権限を持つデバイスは任意のメディアに署名できるため、C2PA資格情報は法的・捜査的文脈での決定的証拠として使用できない。
- 規制圧力:EUのAI法などは、深層偽造(deep-fakes)への対策として信頼性を挙げているが、技術的現実として、消費者向けハードウェア上で信頼性メカニズムは簡単に乗っ取られてしまう。
- 市場動向:たった数社(例:Apple)しかセンサーレベルのハードウェアで鍵を完全に隔離できない場合、実質的な信頼の独占が生まれ、オープンソースプラットフォームが排除される可能性がある。
- 今後の方向性:コメント者の提案にあるように、カメラモジュール自体にハードウェアレベルの署名機能を組み込むことが現実的な道筋かもしれないが、これには業界標準と、改ざん不可のファームウェアを保証するサプライチェーンが必要となる。
結論
Android版C2PAは根本的に破綻している:ソフトウェアおよび低コストのハードウェアによるRootエクスプロイトにより、攻撃者は正当な署名鍵を取得し、検証を通過する改ざんを生成できる。カメラスタックの完全な再設計なしには、このギャップを埋める実用的な修正や再設計は存在しない。関係者はC2PA資格情報をベストエフォートによる信頼性として扱うべきであり、真の完全性の証明とは見なすべきではない。
参考文献
- C2PA仕様 – 信頼モデル: https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html#_trust_model
- Android Key Attestation: https://developer.android.com/privacy-and-security/security-key-attestation
- Google Play Integrity: https://developer.android.com/google/play/integrity
- CVE‑2026‑43499の詳細: https://nvd.nist.gov/vuln/detail/CVE-2026-43499
- Pixelカメラアサurance Level 2発表: https://blog.google/security/pixel-android-trusted-images-c2pa-content-credentials/
- Root‑My‑Pixelツール: https://github.com/alex193a/Root-My-Pixel
- keystork PoC: https://github.com/DavidBuchanan314/keystork
- ハードウェアグリッチ研究: https://www.da.vidbuchanan.co.uk/blog/dram-emfi.html
- C2PA適合リスト(Android項目): https://github.com/c2pa-org/conformance-public/blob/main/conforming-products/conforming-products-list.json
著者について
本分析は、David Buchanan(retr0id)の2026年8月25日付オリジナルブログ記事およびHacker News討論スレッド(ID 49439499)で最も高評価されたコメントに基づいている。すべての主張は引用元の資料から直接出典している。
Sources
関連
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch