ニュース

Googleパスワードマネージャーに脆弱性、マルウェアでパスキー保護を突破可能に

Pass-ta-key

 Googleパスワードマネージャーを使ってパスキー保護したアカウントが、マルウェア経由で乗っ取られてしまう恐れがある。Palo Alto NetworksのセキュリティチームUnit 42は8月3日、Googleパスワードマネージャーの脆弱性を悪用した「Pass-ta-key」と総称される一連の攻撃について報告した。大きく3つの手法が挙げられている。

 1つ目は総称と同じ「Pass-ta-key」と呼ばれるもので、正規認証時のGoogle ChromeやGoogleパスワードマネージャーの挙動を模倣することで、パスキーで保護されたアカウントを乗っ取れるという攻撃。ChromeがTPMから取得しローカル保管しているIDキーの暗号化データをマルウェアで抽出し、これを利用して認証を完了することで、ユーザーの同意や生体認証、デバイスロック解除などをバイパスできる。

 マルウェアは対象のデバイス上で実行できていれば十分で、特権を必要としない。Webサイト側でユーザー検証のフラグ(userVerification)がpreferredに設定されている場合に有効だという。

Silver Pass-ta-key

 2つ目は「Silver Pass-ta-key」と呼ばれるもので、ユーザー検証キーを偽装できるという攻撃。マルウェアがローカルの既存の検証キーを無効化し、次のパスキー使用時に再登録を強制するような状態にしておくと、その際にChromeが検証キーの作成を一時保留する。この間に攻撃者は、自身が生成した公開鍵を登録し、キーを偽装する。

 一度登録できてしまうと、被害者がオフラインの状態であっても、攻撃者は自身の環境から有効なアサーションを生成でき、アカウントを奪取できる。

Golden Pass-ta-key

 3つ目は「Golden Pass-ta-key」と呼ばれるもので、パスキーの秘密鍵を保護するマスターキー(SDS, Security Domain Secret)の窃取を可能にする攻撃。Silver Pass-ta-keyの手法で再登録を強制したあとのキー登録/復旧フロー中、SDSがChromeのプロセスメモリに一時的に平文で展開されることを悪用し、これを抽出する。

 SDSを取得できると、同期データベースから読み取った暗号化パスキーレコードをすべて復元可能となる。現状の実装ではSDSのローテーションや無効化が不可能なため、将来作成される新しいパスキーの復号など、永続的な侵害につながる。

 Unit 42では、サービス提供者向けに、厳格なユーザー検証の必須化や新規デバイス登録時の検証を対策として挙げている。また、Webブラウザなどプラットフォーム開発者向けには、デバイス上でのシークレットの露出防止や復旧/再登録フローの改善、ローカルのパスキーデータへのアクセス制限、異常なパスキー使用を検知する機能の実装などをすべきだとしている。

 加えてエンドユーザー向けには、3つの攻撃手法がともにマルウェア感染を起点としていることから、プロセスメモリへのアクセス制限や不審なアプリの実行防止といった、マルウェア対策の導入を呼びかけている。