2025-11-14T09:58:11.521609

Passwords and FIDO2 Are Meant To Be Secret: A Practical Secure Authentication Channel for Web Browsers

Gautam, Yadav, Smith et al.
Password managers provide significant security benefits to users. However, malicious client-side scripts and browser extensions can steal passwords after the manager has autofilled them into the web page. In this paper, we extend prior work by Stock and Johns, showing how password autofill can be hardened to prevent these local attacks. We implement our design in the Firefox browser and conduct experiments demonstrating that our defense successfully protects passwords from XSS attacks and malicious extensions. We also show that our implementation is compatible with 97% of the Alexa top 1000 websites. Next, we generalize our design, creating a second defense that prevents recently discovered local attacks against the FIDO2 protocols. We implement this second defense into Firefox, demonstrating that it protects the FIDO2 protocol against XSS attacks and malicious extensions. This defense is compatible with all websites, though it does require a small change (2-3 lines) to web servers implementing FIDO2.
academic

パスワードとFIDO2は秘密であるべき:Webブラウザ向けの実用的なセキュアな認証チャネル

基本情報

  • 論文ID: 2509.02289
  • タイトル: Passwords and FIDO2 Are Meant To Be Secret: A Practical Secure Authentication Channel for Web Browsers
  • 著者: Anuj Gautam(テネシー大学)、Tarun Yadav(ブリガムヤング大学)、Garrett Smith(ブリガムヤング大学)、Kent Seamons(ブリガムヤング大学)、Scott Ruoti(テネシー大学)
  • 分類: cs.CR(暗号化とセキュリティ)
  • 発表会議: CCS '25(ACM SIGSAC Computer and Communications Security会議)
  • 論文リンク: https://arxiv.org/abs/2509.02289

概要

パスワードマネージャーはユーザーに顕著なセキュリティ上の利点を提供していますが、悪意のあるクライアント側スクリプトとブラウザ拡張機能は、パスワードマネージャーがパスワードをWebページに自動入力した後、パスワードを盗むことができます。本論文はStockとJohnsの先行研究を拡張し、これらのローカル攻撃からパスワード自動入力を強化する方法を示しています。著者らはFirefoxブラウザに彼らの設計を実装し、この防御がXSS攻撃と悪意のある拡張機能の脅威からパスワードを成功裏に保護することを実証する実験を実施しました。研究はまた、この実装がAlexa上位1000ウェブサイトの97%と互換性があることを示しています。さらに、著者らは設計を一般化し、最近発見されたFIDO2プロトコルに対するローカル攻撃を防止する第2の防御メカニズムを作成しました。

研究背景と動機

核心的な問題

パスワードマネージャーには明らかなセキュリティ上の脆弱性があります。パスワードがブラウザに自動入力された後、ウェブサイトに送信される前の期間に、パスワードが盗まれやすいのです。これには以下の脅威からの盗難が含まれます:

  1. ウェブトラッカー:意図せずにパスワード情報を収集する可能性がある
  2. 注入攻撃(XSSなど):悪意のあるスクリプトがDOM内から直接パスワードを読み取ることができる
  3. 悪意のあるブラウザ拡張機能:適切な権限を持つ拡張機能がウェブページコンテンツとネットワークリクエストにアクセスできる
  4. 侵害されたJavaScriptライブラリ:サプライチェーン攻撃による悪意のあるコード注入

問題の重要性

  • これらの攻撃は比較的一般的であり、研究によると人気のあるウェブサイトの少なくとも2~3%がパスワードを漏らすウェブトラッカーを含んでいます
  • XSS攻撃はOWASPによって継続的にトップ10のウェブアプリケーションセキュリティリスクとしてリストされています
  • 悪意のあるブラウザ拡張機能の問題は増加しており、Chromeウェブストアにはこのような攻撃を実行するのに十分な権限を持つ数千の拡張機能が存在します

既存方法の限界

StockとJohnsは10年前にノンス置換ベースのパスワード保護プロトコルを提案しましたが、このプロトコルは最新のブラウザ設計と互換性がありません。当時機能していたFirefoxブラウザでさえ、関連機能をすぐに削除し、このプロトコルの採用と後続研究の発展を阻止しました。

核心的な貢献

  1. 実用的なノンスベースのパスワード置換APIの実装:StockとJohnsプロトコルの動作実装をサポートするために最新のブラウザを修正
  2. 脅威モデルの拡張:元のプロトコルが考慮していなかった悪意のあるブラウザ拡張機能の脅威を特定して対処
  3. FIDO2セキュアチャネル:最近発見されたローカル攻撃から保護するためにFIDO2プロトコルに設計を一般化
  4. 実際の展開検証:Firefoxで実装および評価し、主流ウェブサイトの97%との互換性を実証

方法の詳細

タスク定義

パスワードマネージャーがパスワードをウェブサイトに安全に送信でき、DOMスクリプトまたはブラウザ拡張機能が実際のパスワードコンテンツにアクセスできないセキュアなブラウザチャネルを設計します。

パスワード保護アーキテクチャ設計

コアAPI設計

既存のWebRequest APIを拡張し、新しいonRequestCredentialsステージを追加します:

onRequestCredentials → onBeforeRequest → onBeforeSendHeaders → onSendHeaders → ...

ワークフロー

  1. ノンス注入:パスワードマネージャーが実際のパスワードではなく、ランダムなパスワードノンスをウェブページに入力します
  2. コールバック登録:同時にonRequestCredentialsコールバックハンドラーを登録します
  3. セキュリティチェック:ページ送信時に、以下のセキュリティ検証を実行します:
    • ウェブページがiFrame内に表示されていないことを確認
    • 送信チャネルがセキュアなHTTPS接続を使用していることを確認
    • オリジンがパスワードマネージャーエントリと一致することを確認
    • ノンスがGETパラメータに含まれていないことを確認
    • フィールド名が有効であることを確認
  4. セキュアな置換:検証に合格した場合、ブラウザはFormSubmissionオブジェクト内のノンスを実際のパスワードに置き換えます

悪意のある拡張機能を防止するための設計

悪意のある拡張機能の脅威に対処するため、2つの重要な修正を行いました:

  1. onRequestCredentialsをrequestBodyにアクセス可能なすべてのステージの後に移動
  2. このステージで拡張機能に置換前のrequestBodyを表示し、実際のパスワードを隠します

FIDO2セキュアチャネル設計

脅威モデル

FIDO2プロトコルは2つのクラスのローカル攻撃に直面しています:

  1. DOM値の変更:悪意のあるJavaScriptによるwebAuthn API呼び出しの上書き
  2. リクエスト応答の傍受:拡張機能によるHTTPリクエストと応答の傍受

防護メカニズム

  1. リクエスト処理:サーバーが実際のFIDO2ペイロードをwebauthn_requestヘッダーに配置し、ページ応答には虚偽の値が含まれます
  2. ヘッダー傍受:ブラウザが拡張機能がアクセス可能になる前に機密ヘッダーを削除
  3. API置換:webAuthn API内で虚偽の値を実際の値に置き換えます
  4. 応答保護:API戻り値が虚偽の値に置き換えられ、実際の値は安全に保存されます
  5. 最終送信:指定されたエンドポイントにリクエストを送信する際に、虚偽の値を実際のFIDO2応答に置き換えます

実験設定

テスト環境

  • ブラウザ:Mozilla Firefox 107.0(パスワード保護)および104.0a1(FIDO2保護)
  • パスワードマネージャー:修正版Bitwarden
  • テストウェブサイト:Alexa上位1000ウェブサイト中のログインページを含む573ウェブサイト

評価指標

  1. 互換性:ウェブサイトが正常に機能するパーセンテージ
  2. セキュリティ:DOMおよび拡張機能攻撃から保護する有効性
  3. パフォーマンスオーバーヘッド:リクエスト処理時間の増加量

比較方法

  • 修正されていないFirefoxブラウザをベースラインとして使用
  • プロキシサーバーを使用してすべての送信ネットワークリクエストを記録して比較

実験結果

主要な結果

パスワード保護互換性

  • 97%互換性:554/573ウェブサイトが完全に互換
  • 2%部分互換:11/573ウェブサイトがDOM内のパスワードハッシュ計算により失敗
  • 1%非互換:8/573ウェブサイトが送信前にパスワード形式を変更

セキュリティ検証

  • テストされたすべてのDOM攻撃(XSS、悪意のあるJavaScript注入)を成功裏に防止
  • webRequest APIを通じた悪意のある拡張機能によるパスワード盗難を効果的に阻止
  • 反射攻撃の脅威を特定して防止

パフォーマンスオーバーヘッド

  • 置換が必要な場合の平均リクエスト時間:4.5222秒
  • 置換操作の耗時:0.443秒(総時間の10.6%)
  • 置換が不要な場合:測定可能なパフォーマンス影響なし

FIDO2保護結果

  • 100%ウェブサイト互換(サーバー側で2~3行のコード修正が必要)
  • テストされたすべてのDOM および拡張機能攻撃を成功裏に防止
  • 完全なセッション説明責任を実装

関連研究

パスワードマネージャーセキュリティ研究

既存の研究は主にパスワードマネージャーの全体的なセキュリティに焦点を当てており、以下を含みます:

  • パスワード生成、保存、入力のセキュリティ分析
  • 自動入力プロセス中の脆弱性の特定
  • モバイルデバイス上のパスワードマネージャーのセキュリティ問題

ブラウザセキュリティメカニズム

関連するブラウザセキュリティ研究には以下が含まれます:

  • 同一生成元ポリシーとコンテンツセキュリティポリシー
  • ブラウザ拡張機能の権限モデル
  • WebAuthnおよびFIDO2プロトコルセキュリティ

本論文の貢献の位置付け

本論文は初めてStockとJohnsプロトコルの動作実装を提供し、この分野における10年間の研究空白を埋め、FIDO2プロトコル保護に拡張しました。

結論と考察

主要な結論

  1. 実用性の証明:最新のブラウザにおけるセキュアなパスワード送信チャネルの実装に成功
  2. 広範な互換性:大多数の主流ウェブサイトとの互換性があり、実際の展開可能性が高い
  3. セキュリティの向上:複数のローカル攻撃の脅威から効果的に保護
  4. 拡張性:設計は他のブラウザ-サーバー相互作用のセキュリティ保護に推広可能

限界

  1. 3%ウェブサイト非互換:主にクライアント側のパスワード処理が原因
  2. パフォーマンスオーバーヘッド:置換操作には一定の時間コストがある
  3. ブラウザ修正要件:ブラウザベンダーのAPI修正採用が必要
  4. FIDO2サーバー修正:わずかですがサーバー側の協力が必要

今後の方向性

  1. 互換性の向上:プログラム分析を通じて関連JavaScriptを自動的に特定および処理
  2. 手動入力への拡張:ユーザーが手動入力したパスワードの保護
  3. 攻撃検出:ノンスメカニズムを利用した攻撃の検出と報告
  4. 他のAPI保護:クリップボード、ファイルシステムなど他のブラウザAPIへの設計拡張

深度評価

利点

  1. 実用的価値が高い:数千万のパスワードマネージャーユーザーに影響する実際のセキュリティ問題を解決
  2. エンジニアリング実装が完全:完全なFirefox実装と詳細な移植ガイドを提供
  3. 評価が包括的:セキュリティ、互換性、パフォーマンスの統合的な評価を含む
  4. 理論的拡張:概念をFIDO2プロトコルに成功裏に一般化
  5. 業界フィードバック:ブラウザベンダーとパスワードマネージャーチームから積極的なフィードバックを獲得

不足

  1. 展開の課題:ブラウザベンダーの協力が必要であり、推広に不確実性がある
  2. 互換性の問題:依然として3%のウェブサイトに互換性の問題がある
  3. 脅威モデルの制限:オペレーティングシステムレベルの攻撃またはTLS中間者攻撃から保護しない
  4. ユーザー混乱のリスク:ユーザーが表示されるランダムなパスワードに混乱する可能性がある

影響力

  1. 学術的貢献:10年前に停滞した研究方向を再度活性化
  2. 実用的価値:数千万ユーザーに即座のセキュリティ改善を提供
  3. 標準化の可能性:W3C標準化を通じた広範な採用を推進する可能性がある
  4. 研究への刺激:他のブラウザAPIのセキュリティ保護のための設計パラダイムを提供

適用シナリオ

  1. エンタープライズ環境:高いセキュリティ要件を持つエンタープライズ展開
  2. 高価値アカウント:銀行、政府などの重要なサービスの認証
  3. セキュリティ意識の高いユーザー:プライバシーとセキュリティに高い要件を持つユーザーグループ
  4. 研究プロトタイプ:さらなるブラウザセキュリティ研究のための基盤プラットフォーム

参考文献

本論文は47の関連文献を引用しており、主に以下を含みます:

  • StockとJohnsの元のノンス置換プロトコル論文
  • パスワードマネージャーセキュリティ分析の関連研究
  • ブラウザ拡張機能セキュリティ脅威の実証研究
  • FIDO2プロトコルセキュリティ分析文献
  • ウェブトラッカーおよびXSS攻撃の現状研究

総合評価:これは重要な実用的価値を持つシステムセキュリティ論文であり、理論的設計を動作可能なプロトタイプシステムに成功裏に変換し、包括的な実験を通じてその有効性を検証しています。本論文は現実の重要なセキュリティ問題を解決するだけでなく、将来の研究に新しい方向性を開いています。展開と互換性の面でまだ課題に直面していますが、その技術的貢献と実用的価値により、ブラウザセキュリティ分野における重要な進歩となっています。