Skip to main content
QUICK REVIEW

[論文レビュー] An Expressive Model for the Web Infrastructure: Definition and Application to the BrowserID SSO System

Daniel Fett, R. Kuesters|arXiv (Cornell University)|Mar 7, 2014
Web Application Security Vulnerabilities参考文献 26被引用数 9
ひとこと要約

本論文は、標準および規定を正確に捉えることに重点を置いた、ウェブインfra構造の包括的な形式的モデルを提示する。このモデルを用いてモジラのブラウザID(BrowserID)シングルサインオンシステムを厳密に分析し、以前に検出されなかった深刻なセキュリティ上の欠陥を特定。その結果、モジラが修正を採用し、バグバウンティプログラムを通じて評価された。

ABSTRACT

The web constitutes a complex infrastructure and as demonstrated by numerous attacks, rigorous analysis of standards and web applications is indispensable. Inspired by successful prior work, in particular the work by Akhawe et al. as well as Bansal et al., in this work we propose a formal model for the web infrastructure. While unlike prior works, which aim at automatic analysis, our model so far is not directly amenable to automation, it is much more comprehensive and accurate with respect to the standards and specifications. As such, it can serve as a solid basis for the analysis of a broad range of standards and applications. As a case study and another important contribution of our work, we use our model to carry out the first rigorous analysis of the BrowserID system (a.k.a. Mozilla Persona), a recently developed complex real-world single sign-on system that employs technologies such as AJAX, cross-document messaging, and HTML5 web storage. Our analysis revealed a number of very critical flaws that could not have been captured in prior models. We propose fixes for the flaws, formally state relevant security properties, and prove that the fixed system in a setting with a so-called secondary identity provider satisfies these security properties in our model. The fixes for the most critical flaws have already been adopted by Mozilla and our findings have been rewarded by the Mozilla Security Bug Bounty Program.

研究の動機と目的

  • DNS、HTTP、ブラウザ、ウェブアプリケーションの間の複雑な相互作用を正確に捉える、標準に基づいた形式的モデルを構築すること。
  • 従来の自動化モデルでは到達できなかった、現実世界のウェブシステムに対する厳密なセキュリティ分析の基盤を提供すること。
  • AJAX、postMessage、HTML5ストレージを用いる複雑なSSOシステムであるBrowserID(Mozilla Persona)を分析するために、このモデルを適用すること。
  • 従来のモデルで検出されなかった、BrowserIDにおける深刻な脆弱性を同定し、形式的に妥当な修正を検証すること。
  • 包括的かつ規定に忠実なモデルの価値を、微細だが深刻なセキュリティ欠陥を特定する能力を通じて示すこと。

提案手法

  • モデルはDolev-Yao風の形式的枠組みに基づき、ウェブエントリティをアドレスとメッセージを持つ原子的プロセスとしてモデル化し、暗号操作には等式理論を用いる。
  • 詳細なコンponentsを定義:ウェブシステム、DNSサーバー、HTTPメッセージ、ブラウザ(状態$Z^p$と関係$R^p$を含む)、ウェブサーバー。各コンponentは形式化された振る舞いとプロトコルを持つ。
  • ブラウザ固有の振る舞い(オリジンポリシー、クッキー処理、ウェブストレージ、クロスオリジンメッセージング)を、形式関数と状態遷移を用いてモデル化。
  • 明示的な役割を定義:ブラウザ、依存者(RPs)、IDプロバイダー(IdP)、LPO(ログインプロバイダー・オリジン)。各役割は原子的プロセスとメッセージフローを有する。
  • セキュリティ性質は論理的推論を用いて形式的に記述・証明され、攻撃者知識およびリクエストオリジンに関する条件が含まれる。証明は、鍵およびID知識に関する補題に基づく。
  • ステップバイステップの実行トレースと形式的インヴァリアントを用いて、定義された脅威モデル下で、修正済みシステムの振る舞いが望ましいセキュリティ性質を満たすことを検証。

実験結果

リサーチクエスチョン

  • RQ1実際のウェブ標準および規定に忠実であり、かつ表現力を持つウェブインフラ構造の形式的モデルを構築可能か?
  • RQ2このモデルは、従来のモデルが見逃したような、BrowserIDのような複雑な現実世界のウェブアプリケーションにおけるセキュリティ欠陥を、どの程度検出可能か?
  • RQ3postMessage やウェブストレージなどの現代的ウェブ技術との相互作用によって生じる、BrowserID SSOシステムに特有の脆弱性は何か?
  • RQ4修正されたBrowserIDの欠陥が、現実的な脅威モデル下で望ましいセキュリティ性質を回復することを形式的証明で示せるか?
  • RQ5セカンダリIDプロバイダー(sIdP)の導入が、BrowserIDシステムのセキュリティ保証にどのように影響を与えるか?

主な発見

  • モデルにより、BrowserIDに4つの深刻な脆弱性が特定された:身元偽装、ログインインジェクション、鍵クリーンアップ不全、クッキークリーンアップ不全(セカンダリIdPモードの場合)。
  • 身元偽装攻撃では、ユーザーの秘密鍵を知らずにCAP(認証資格証明パッケージ)を偽装することで、攻撃者がユーザーを偽装可能だった。
  • ログインインジェクション攻撃では、オリジンおよび身元アサーションの不適切な検証が原因で、攻撃者がログインセッションを悪意あるサイトにリダイレクト可能だった。
  • 鍵クリーンアップ不全攻撃では、ログアウト後に暗号鍵を適切に無効化しなかったため、攻撃者がユーザーの身元にアクセスを維持可能だった。
  • クッキークリーンアップ不全(sIdPモード時)では、クッキーの不適切な処理により、ログアウト後も永続的なセッション追跡が可能だった。
  • すべての深刻な欠陥は形式的に修正され、修正済みシステムはモデル上でコアセキュリティ性質を満たすことが証明された。修正内容はモジラが採用し、セキュリティバグバウンティプログラムを通じて報奨された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。