概要
新しいサイドチャネル攻撃「Pixnapping」が発見されました。これは、権限を持たない悪意のあるAndroidアプリが、表示されているピクセルを盗み出し、再構築することで機密データを抽出するものです。この攻撃は、Signalのようなセキュアな通信アプリのチャットメッセージ、Gmailのメール、Google Authenticatorの二要素認証(MFA)コードなどの機密性の高い個人情報を盗む可能性があります。
7人のアメリカの大学研究者チームによって考案・実証されたこの攻撃は、完全にパッチが適用された最新のAndroidデバイスで動作し、30秒未満で2FAコードを盗むことができます。Googleは2025年9月のAndroidアップデートでこの問題(CVE-2025-48561)を修正しようとしましたが、研究者らはその緩和策を回避することに成功しました。効果的な解決策は、2025年12月のAndroidセキュリティアップデートで提供される予定です。
Pixnappingの仕組み
Pixnapping攻撃は、悪意のあるアプリがAndroidのインテントシステムを悪用してターゲットアプリやウェブページを起動することから始まります。これにより、ターゲットのウィンドウがシステムのコンポジションプロセス(SurfaceFlinger)に送信され、複数のウィンドウが同時に表示される際にそれらを結合する役割を担います。
次に、悪意のあるアプリはターゲットピクセル(例えば、2FAコードの数字を形成するピクセル)をマッピングし、複数のグラフィック操作を通じてそれらが白か非白かを判断します。各ピクセルを分離するために、研究者らが「マスキングアクティビティ」と呼ぶものをフォアグラウンドに表示し、ターゲットアプリを隠します。その後、攻撃者はカバーウィンドウを「攻撃者が選択した位置のピクセルを除いて、すべて不透明な白いピクセルにし、そのピクセルを透明に設定」します。
Pixnapping攻撃中、分離されたピクセルは拡大されます。これは、SurfaceFlingerがぼかしを実装する方法の「癖」を利用し、ストレッチのような効果を生み出します。すべての被害ピクセルを回復した後、OCR(光学文字認識)のような技術を使用して、各文字や数字を区別します。研究者らは、「概念的には、悪意のあるアプリがアクセスすべきではない画面コンテンツのスクリーンショットを撮っているようなものだ」と説明しています。
データを盗むために、研究者らは現代のGPUにおけるグラフィックデータ圧縮を悪用して視覚情報を漏洩させるGPU.zipサイドチャネル攻撃を使用しました。データ漏洩率は0.6〜2.1ピクセル/秒と比較的低いものの、研究者らが実証した最適化により、2FAコードやその他の機密データは30秒未満で抜き取ることが可能です。
Androidへの影響
研究者らは、Google Pixel 6、7、8、9デバイス、およびSamsung Galaxy S25(Androidバージョン13〜16を実行)でPixnappingを実証し、これらすべてが新しいサイドチャネル攻撃に対して脆弱であることを確認しました。Pixnappingを効果的にする根本的なメカニズムは古いAndroidバージョンにも存在するため、ほとんどのAndroidデバイスと古いOSバージョンも脆弱である可能性が高いです。
研究者らは約10万のPlayストアアプリを分析し、Androidインテントを通じて何十万もの呼び出し可能なアクションを発見しました。これは、この攻撃が広範囲に適用可能であることを示しています。技術論文では、以下のデータ窃盗の例が挙げられています。
- Googleマップ: タイムラインのエントリは約54,264〜60,060ピクセルを占め、最適化されていない回復にはデバイス間で約20〜27時間かかります。
- Venmo: アクティビティ(プロフィール、残高、取引、明細)は暗黙のインテントを介して開くことができます。口座残高領域は約7,473〜11,352ピクセルで、最適化されていない場合、約3〜5時間で漏洩します。
- Googleメッセージ(SMS): 明示的/暗黙のインテントで会話を開くことができます。ターゲット領域は約35,500〜44,574ピクセルで、最適化されていない回復には約11〜20時間かかります。攻撃は、青か非青、または灰色か非灰色をテストすることで、送信済みか受信済みかを区別します。
- Signal(プライベートメッセージ): 暗黙のインテントで会話を開くことができます。ターゲット領域は約95,760〜100,320ピクセルで、最適化されていない回復には約25〜42時間かかり、Signalのスクリーンセキュリティが有効な場合でも攻撃は機能しました。
GoogleとSamsungの対応
GoogleとSamsungは両社とも、年末までにこの欠陥を修正することを約束しています。しかし、GPUチップベンダーはGPU.zipサイドチャネル攻撃に対するパッチ計画を発表していません。元のエクスプロイト方法は9月に緩和されましたが、Googleは元の修正を回避する更新された攻撃を受けました。Googleは、12月のAndroidセキュリティアップデートでリリースされる、より徹底的なパッチを開発しました。
Googleは、このデータ漏洩技術を利用するにはターゲットデバイスに関する特定のデータが必要であり、研究者らが指摘するように、成功率は低いと述べています。現在の検証では、Google Play上でPixnappingの脆弱性を悪用する悪意のあるアプリは発見されていません。