10月14日、Ars Technicaが「Hackers can steal 2FA codes and private messages from Android phones」と題した記事を公開した。この記事では、Android端末の画面に描画された情報を「Pixnapping」と呼ばれる新手法で盗み見し、2要素認証(2FA)コードやチャット、位置履歴などを数十秒で窃取できる脅威について詳しく紹介されている。
本手法は研究者チームが命名した新しい「ピクセル窃取」攻撃で、まず被害者に悪意あるアプリをインストールさせる必要がある点が前提である。重要なのは、このアプリが一切のシステム権限を要求しないにもかかわらず、他アプリの画面に表示された文字や数字を読み取れることである。研究者はGoogle PixelやSamsung Galaxy S25で実証し、追加の調整により他機種にも適用可能と示唆している。Googleは先月対策を講じたが、研究チームはそれを回避する改変版が依然として動作することを確認したという。
技術的仕組みは次の通りである。悪意あるアプリがAndroidのAPIを用いて、認証アプリなど標的アプリの画面に機微情報を表示させる。その直後、攻撃アプリは前面に半透明のアクティビティ等を重ねるなどの描画操作を行い、GPUの色依存挙動や圧縮に起因する副チャネル(サイドチャネル)を利用して、特定座標のピクセルから文字や数字を推定・復元する。研究者の情報サイトは「ターゲットアプリを開いたときに目に見えるものは何でも盗める」とし、Google Authenticatorの6桁コードについては30秒未満で奪取でき、ユーザーから攻撃を隠蔽できると説明する。
背景には、ブラウザ領域で報告されてきたGPU由来のピクセル窃取(いわゆる「GPU.zip(※)」)系の副チャネルがある。従来はブラウザ側のiframe制限などで緩和してきたが、PixnappingはOSレベルのアプリ描画モデルを悪用するため、ブラウザ緩和の適用外にある。研究者の技術論文は、ブラウザ外でもピクセル窃取を再現できる枠組みを示し、GPUのグラフィカルデータ圧縮に伴うリークを攻撃に利用していると述べる。
※GPU.zip: 2023年に公表されたGPU(グラフィックプロセッサ)に存在する副チャネル脆弱性の一種。研究者たちは、GPUが画像を圧縮・転送する際の「圧縮処理の時間差」や「電力消費パターン」から、画面に表示されている他アプリや他ウェブサイトのピクセル情報を推定できることを示した。
影響範囲については、大学の発表や各種レポートが、Pixel 6〜9およびGalaxy S25など現行機での実証、Android 13〜16での成立を伝えている。対象はブラウザ内のGmail/Googleアカウント画面だけでなく、Signal、Google Authenticator、Venmo、Googleマップなどネイティブアプリにも及ぶ。可視領域に表示されない秘密鍵などは盗めないが、画面に現れる一時コードやメッセージは標的になり得る。
対策と現状は過渡期である。Googleは先月、描画パイプラインの挙動を制限するなどの対策を行ったが、研究者側は依然として回避可能な手法を確認している。
現時点で一般ユーザーが取り得る実務的な軽減策としては、①不審アプリを入れない(サイドロード禁止、提供元不明アプリを無効化)、②認証コードは認証器アプリの可視表示時間を短くし通知ポップアップで長時間露出させない、③重要操作時は画面上の重ね合わせ(オーバーレイ)を許すアプリを終了する、④可能なら物理キー/FIDO2セキュリティキーなど画面表示に依存しない要素を使う、といった基本動作が妥当である。これらは恒久対策ではないが、露出時間と攻撃成功確率を下げるうえで現実的である。
総じて、本件は「画面に出ている情報=安全」とは限らないことを突きつける。従来の権限モデルの外側(GPUや描画最適化の副作用)から情報が漏れるため、プラットフォーム側の深い対処(GPU圧縮経路の緩和、描画重ね合わせの制御、API設計の見直し)が不可欠である。研究コミュニティが警告してきたGPU由来の副チャネル問題が、ブラウザ境界を越えてモバイルOS全体の設計課題として前景化した格好だ。
詳細はHackers can steal 2FA codes and private messages from Android phonesを参照していただきたい。