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
一句话总结

本文提出了一种对网络基础设施的全面形式化模型,强调在捕捉标准和规范方面的精确性。该模型被用于严格分析Mozilla的BrowserID单点登录系统,发现了此前未被察觉的关键安全缺陷,促使Mozilla采纳修复措施,并通过其漏洞赏金计划给予认可。

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、浏览器和Web应用之间的复杂交互。
  • 为超越以往自动化模型能力的现实世界Web系统提供严格安全分析的基础。
  • 将该模型应用于分析BrowserID(Mozilla Persona)——一种使用AJAX、postMessage和HTML5存储的复杂SSO系统。
  • 识别并形式化验证此前模型未能发现的BrowserID中关键漏洞的修复方案。
  • 展示全面、规范精确的模型在发现细微但严重安全缺陷方面的价值。

提出的方法

  • 该模型基于Dolev-Yao风格的形式化方法,将网络实体建模为具有地址的原子进程,消息作为带有等式理论的密码操作的形式项。
  • 定义了详细组件:Web系统、DNS服务器、HTTP消息、Web浏览器(具有状态$Z^p$和关系$R^p$),以及Web服务器,每个组件均有形式化的行为和协议。
  • 通过形式函数和状态转换,捕捉浏览器特有行为,如源策略、Cookie处理、Web存储和跨源消息传递。
  • 系统以明确角色建模:浏览器、依赖方(RPs)、身份提供方(IdP)以及LPO(登录提供方源),每个角色均有定义的原子进程和消息流。
  • 使用逻辑推理正式陈述并证明安全属性,包括对攻击者知识和请求来源的条件,证明基于关于密钥和身份知识的引理。
  • 分析使用逐步执行追踪和形式不变量,验证在定义威胁模型下,修复后的系统行为是否满足期望的安全属性。

实验结果

研究问题

  • RQ1能否构建一个既具表现力又忠实于实际Web标准和规范的Web基础设施形式化模型?
  • RQ2此类模型在多大程度上能够检测出先前模型未能发现的复杂现实世界Web应用(如BrowserID)中的安全缺陷?
  • RQ3BrowserID SSO系统中存在哪些特定漏洞,这些漏洞源于其与postMessage和Web存储等现代Web技术的交互?
  • RQ4能否构建形式化证明,表明对BrowserID缺陷的修复在现实威胁模型下可恢复期望的安全属性?
  • RQ5引入次级身份提供方(sIdP)如何影响BrowserID系统的安全保证?

主要发现

  • 该模型揭示了BrowserID中的四个关键漏洞:身份伪造、登录注入、密钥清理失败,以及次级IdP情况下的Cookie清理失败。
  • 身份伪造攻击允许攻击者在不知晓用户私钥的情况下,伪造CAP(凭证断言包)以冒充用户。
  • 登录注入攻击利用了对源和身份断言的验证不当,使攻击者能够将登录会话重定向至恶意网站。
  • 密钥清理失败攻击使攻击者在用户登出后仍能保留对用户身份的访问权限,因未正确使密钥失效。
  • (在sIdP模式下)Cookie清理失败使攻击者能通过不当的Cookie处理实现跨登出的持久会话追踪。
  • 所有关键缺陷均已形式化修复,且修复后的系统在模型中被证明满足核心安全属性,修复方案已被Mozilla采纳,并通过其安全漏洞赏金计划获得奖励。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。