サイトアイコン IT & ライフハックブログ|学びと実践のためのアイデア集

Pixnappingとは?Androidの画面情報を狙う仕組みと防御策

silver samsung galaxy smartphone on top of brown wooden table

Photo by John Tekeridis on Pexels.com

Pixnapping(ピクスナッピング)は、Android端末で別のアプリやWebサイトに表示された情報を、画面描画にかかる時間の差から推定する攻撃手法です。

研究チームは、悪意のあるアプリが特別な権限を宣言していなくても、二要素認証コード、メッセージ、メール、地図の情報などを復元できることを実証しました。

ただし、これは研究環境で確認された攻撃であり、すべてのAndroid端末で同じように成功すると確認されたわけではありません。

利用者は端末を最新の状態に保ち、組織は更新状況とアプリ配布を管理し、開発者は未確認の対策を「防げる機能」として扱わないことが基本になります。

Pixnappingの要点

サイドチャネル攻撃とは、保護されたデータを直接読む代わりに、処理時間や消費電力など、処理に伴って外部へ現れる差から情報を推定する手法です。

Pixnappingでは、攻撃アプリが対象アプリの画面を描画処理へ送り、個々の画素に対する処理時間を測ります。

その差を何度も集めて画素の色を分類し、最後に文字認識を使って画面の内容を組み立てます。

確認項目 研究で示された内容 読み取る際の注意
攻撃の入口 利用者の端末に悪意のあるAndroidアプリが入り、実行される 離れた場所から端末へ直接侵入する攻撃として実証されたものではない
権限 アプリのマニフェストにAndroid権限を指定しない構成でも実証された 「権限を許可しなければ安全」とは限らない
実証端末 Android 13から16を搭載したPixel 6、7、8、9とGalaxy S25 他社の全機種で確認済みという意味ではない
復元例 二要素認証コード、メッセージ、メール、地図の画面情報 画面に一度も表示されない秘密情報は対象外
実社会での悪用 研究チームは把握していないと説明 悪用がないことを保証する情報ではない

画面から情報を復元する流れ

研究チームの説明では、攻撃は次の三段階で進みます。

  1. 対象画面を描画させる:Androidのインテントを使い、対象アプリの画面を表示させます。
  2. 画素ごとの差を生じさせる:半透明のアクティビティを重ね、ウィンドウのぼかし処理などを個々の画素へ作用させます。
  3. 描画時間から画素を分類する:VSyncのコールバックなどで処理時間を測り、GPU.zipと呼ばれるサイドチャネルを通じて色を推定します。

二段目と三段目を必要な画素について繰り返すと、文字認識に使える形が得られます。

これは画面の画像ファイルを取得する処理ではないため、スクリーンショットの禁止だけでは同じ経路を遮断できません。

確認された影響と確認されていない範囲

研究チームは、Googleアカウント、Gmail、Signal、Google Authenticator、Venmo、Google Mapsなどを対象に画面情報の復元を試しました。

Google Authenticatorの実証では、六桁の二要素認証コードを30秒未満で復元したと報告されています。

一方、研究の対象になったのは特定の端末とAndroidビルドです。

他社製を含むAndroid端末全体に同じ成功率で当てはまることや、他のOSへの適用可能性は確認されていません。

端末内に保存されていても画面に表示されない秘密鍵などを、Pixnappingが直接読み出すわけでもありません。

修正状況をどう判断するか

GoogleはCVE-2025-48561をAndroidの2025年9月セキュリティ更新で扱いました。

しかし、研究チームは最初の修正後に回避方法を確認し、2025年10月13日時点ではアプリ開発者が単独で利用できる確立した緩和策を把握していないと説明しています。

研究サイトの公開情報は同日が最終更新であるため、その記述だけから現在の全端末の状態を断定することはできません。

端末の安全性は「Androidのバージョン番号」だけで判断せず、設定画面のセキュリティ更新日とメーカーのサポート情報を確認してください。

2025年9月の更新を適用済みでも、その後に提供された更新を止めてよいという意味ではありません。利用できる最新のセキュリティ更新を継続して適用します。

個人ユーザーが優先する対応

  1. OSとアプリを更新する:端末が提供する最新のAndroidセキュリティ更新とアプリ更新を適用します。
  2. 入れるアプリを減らす:不要なアプリを削除し、配布元と開発元を確認できないアプリはインストールしません。
  3. Play Protectを有効にする:Google Mobile Servicesを搭載した端末では、有害な可能性のあるアプリを検査する仕組みを利用します。
  4. 認証方式を見直す:利用するサービスが対応している場合は、画面上の一時コードへ依存しないパスキーやセキュリティキーも選択肢になります。
  5. 不審な挙動に対処する:覚えのないアプリの起動や認証通知が続く場合は、端末を信頼できる状態とみなさず、別の端末から重要アカウントを確認します。

パスキーやセキュリティキーは認証コードを盗まれる経路を減らせますが、Pixnappingそのものを止めたり、画面上の別の情報を守ったりする修正ではありません。

組織が整える端末管理

MDM(モバイル端末管理)は、業務端末の設定、更新、アプリ配布を組織側でそろえる仕組みです。

Pixnappingへの備えでは、単発の注意喚起よりも、更新とアプリ配布を継続して管理できる状態を作ります。

配布経路と更新責任の整理には、Androidアプリの配布、課金、セキュリティを扱った解説も参考になります。

アプリ開発者が避けたい誤解

研究チームは、2025年10月13日時点でアプリ側の確立した防御策を把握していないと説明しています。

そのため、背景へのノイズ追加、文字のランダム化、描画遅延の追加などを、検証なしにPixnapping対策として採用するのは適切ではありません。

これらは攻撃を止める保証がないうえ、文字の読みやすさ、画面の安定性、支援技術との相性を損なう可能性があります。

開発者が進められるのは、次のような一般的な被害軽減と、更新を前提にした保守です。

更新を継続できる開発体制を考える際は、Androidアプリの品質と公開準備のチェックポイントも確認できます。

よくある質問

スクリーンショットを禁止すれば防げますか

防げるとは確認されていません。

Pixnappingは画面画像を通常の方法で取得するのではなく、描画時間の差から画素を推定するためです。

アプリの権限をすべて拒否すれば安全ですか

権限の見直しは他の被害を減らすうえで有効ですが、Pixnappingは権限を宣言しない攻撃アプリでも実証されています。

権限表示だけで安全性を判断せず、アプリの入手元、必要性、更新状況も確認します。

どのAndroid端末が影響を受けますか

研究で実証されたのは、Android 13から16を搭載したPixel 6、7、8、9とGalaxy S25です。

研究チームは他のAndroid端末にも仕組みが存在する可能性を示していますが、他社の全機種で確認したわけではありません。

二要素認証は使わないほうがよいですか

その結論にはなりません。

一時コードを使う二要素認証にはこの研究で示されたリスクがありますが、パスワードだけに戻すと別の攻撃に弱くなります。

利用できる方式の中から、パスキーやセキュリティキーを含めて安全性と運用条件を比較してください。

確認事項のまとめ

参考資料

この記事に関連する株式会社greedenの取り組み

機密情報を画面に出す時間を減らすには、UIだけでなく認証と運用まで一緒に設計する必要があります。株式会社greedenは、iOSとAndroidアプリの企画、実装、テスト、リリース後の運用改善まで一貫して支援します。

モバイルバージョンを終了