ブログに戻る
androidmobile-security2faprivacy
画面があなたを監視する:Androidサイドチャネル攻撃
研究者がAndroidのハードウェアレベルの脆弱性を発見しました。悪意のあるアプリが画面から直接2FAコードを盗むことが可能です。ソフトウェア分離が失敗している理由を解説します。
Miguel Treviño•

要約:
- バグ: ハードウェアレベルのサイドチャネル脆弱性により、悪意のあるAndroidアプリがGPUインタラクションを分析して画面を「盗み見る」ことが可能です。
- 影響: アプリの分離をバイパスし、攻撃者が表示される2FAコードやシードフレーズを盗むことができます。
- 脆弱性: ハードウェア分離が失敗すると、「見える秘密情報」(OTPコード、パスワード)に頼ることは本質的に欠陥があります。
- 解決策: ZelfはZK顔認証を使用してセキュアエンクレーブ内で鍵を導出します。鍵は画面上に表示されないため、画面スクレイピングは無意味になります。
私たちはスマートフォンを安全な金庫だと信じています。銀行アプリやGoogle Authenticatorを開いた時、他のアプリが何が起こっているか見えないと想定しています。
間違いでした。
Officer CIAが報告したように、研究者がAndroidデバイスのハードウェアレベルのサイドチャネル脆弱性を発見しました。
「画面スパイ」
この脆弱性により、同じデバイスにインストールされた悪意のあるアプリが、共有ハードウェアリソース(GPUインタラクションなど)を分析することで画面に表示されている内容を推測できます。
これが意味するものは?
- たった今生成した「ハッキング不可能な」6桁の2FAコード?盗まれました。
- ウォレットに入力したばかりのシードフレーズ?侵害されました。
- プライベートメッセージ?読まれました。
重要なのは、これがAndroidが依存する標準的な「アプリ分離」サンドボックスをバイパスすることです。さらに悪いことに、Googleは既存のハードウェアでこれを修正することは「実現不可能」とラベル付けしたと報告されています。
「あなたの顔があなたの鍵」が勝つ理由
これはまさにZelfが構築された場面です。
レガシーセキュリティは見える秘密情報に依存しています:パスワード、シードフレーズ、OTPコード。画面上にあるものは、スクレイピング、撮影、または盗み見が可能です。
Zelfは違います。
- 不可視の鍵:Zelfでは、秘密鍵が画面上にプレーンテキストで表示されることはありません。セキュアエンクレーブ内であなたのZK顔認証から導出されます。
- 盗むコードがない:パスワードを入力したり2FAコードをコピーしたりしません。単に顔をスキャンするだけです。悪意のあるアプリが画面を見ていたとしても、顔スキャンを「リプレイ」したり、ハードウェアセキュリティモジュール内で生成されたゼロ知識証明を盗んだりすることはできません。
ハードウェアの脆弱性は常に存在します。あなたのセキュリティアーキテクチャは、脆弱性が発見されても崩壊すべきではありません。