新たなAndroidのPixnapping攻撃がMFAコードをピクセル単位で盗み取る

新たなAndroidのPixnapping攻撃がMFAコードをピクセル単位で盗み取る

Pixnappingと呼ばれる新しいサイドチャネル攻撃により、権限を持たない悪意のあるAndroidアプリが、アプリケーションやウェブサイトに表示されているピクセルを盗み出し、それらを再構築して内容を推測することで、機密データを抽出できるようになりました。

この内容には、Signalのような安全な通信アプリのチャットメッセージ、Gmailのメール、Google Authenticatorの二要素認証コードなど、機密性の高い個人データが含まれる可能性があります。

この攻撃は、アメリカの大学研究者7名のチームによって考案・実証されており、最新のパッチが適用された現代のAndroidデバイスでも動作し、2FAコードを30秒以内に盗み出すことができます。

Googleはこの問題(CVE-2025-48561)を9月のAndroidアップデートで修正しようとしました。しかし、研究者たちはその緩和策を回避することに成功しており、効果的な解決策は2025年12月のAndroidセキュリティアップデートで提供される予定です。

Pixnappingの仕組み

この攻撃は、悪意のあるアプリがAndroidのインテントシステムを悪用してターゲットアプリやウェブページを起動し、そのウィンドウをシステムの合成プロセス(SurfaceFlinger)に送信することから始まります。SurfaceFlingerは、複数のウィンドウが同時に表示されているときにそれらを合成する役割を担っています。

次のステップでは、悪意のあるアプリがターゲットとなるピクセル(例えば2FAコードの数字を構成するピクセル)をマッピングし、複数のグラフィック操作を通じてそれらが白か非白かを判定します。

各ピクセルを分離するために、研究者たちが「マスキングアクティビティ」と呼ぶものを前面に表示し、ターゲットアプリを隠します。そして攻撃者は、カバ―ウィンドウを「攻撃者が選んだ場所のピクセルのみ透明、それ以外はすべて不透明な白ピクセル」とします。

Pixnapping攻撃中、分離されたピクセルは拡大され、SurfaceFlingerのぼかし実装の「癖」を利用してストレッチのような効果が生じます。

ぼかされた領域が大きなパッチに拡大
ぼかされた1×1サブ領域が大きなカラーパッチに拡大
出典: pixnapping.com

すべての被害ピクセルを復元した後、OCRのような手法で各文字や数字を識別します。

「概念的には、悪意のあるアプリが本来アクセスできない画面内容のスクリーンショットを撮っているようなものです」と研究者たちは説明しています。

データを盗み出すために、研究者たちはGPU.zipサイドチャネル攻撃を利用しました。これは、現代のGPUにおけるグラフィックデータ圧縮を悪用して視覚情報を漏洩させるものです。

データ漏洩の速度は比較的低く、1秒あたり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は年内にこの脆弱性を修正することを約束していますが、GPU.zipサイドチャネル攻撃に対するパッチ計画を発表したGPUチップベンダーはありません。

9月に最初の攻撃手法は緩和されましたが、Googleはその修正を回避する新たな攻撃を受け取りました。Googleは、12月のAndroidセキュリティアップデートでより徹底したパッチをリリースする予定です。

Googleによると、このデータ漏洩手法を利用するにはターゲット端末に関する特定のデータが必要であり、研究者の指摘通り成功率は低いとのことです。現在、Google Play上でPixnappingの脆弱性を悪用する悪意のあるアプリは確認されていません。

翻訳元: https://www.bleepingcomputer.com/news/security/new-android-pixnapping-attack-steals-mfa-codes-pixel-by-pixel/

ソース: bleepingcomputer.com