论文标题

WebSPEC:朝着机器检查的浏览器安全机制分析

WebSpec: Towards Machine-Checked Analysis of Browser Security Mechanisms

论文作者

Veronese, Lorenzo, Farinier, Benjamin, Bernardo, Pedro, Tempesta, Mauro, Squarcina, Marco, Maffei, Matteo

论文摘要

多年来,浏览器的复杂性稳步增长,这是由于Web平台组件(例如新型的Web API和安全机制)的持续引入和更新。他们的规格由专家手动审查以确定潜在的安全问题。但是,由于现代浏览器规格的扩展以及新的和现有的Web平台组件之间的相互作用,此过程已被证明容易出错。为了解决此问题,我们开发了WebPEC,这是分析浏览器安全机制的第一个正式安全框架,该框架可以自动发现逻辑缺陷和开发机器检查的安全性证明。尤其是WebSPEC,包括COQ证明助手中浏览器的综合语义模型,该模型十个Web安全不变式的形式化,以及一个将COQ模型和Web不变式转换为SMT-LIB公式的工具链,以启用使用Z3 Theorem Prover进行模型检查。如果发现违规行为,则该工具链将自动生成与发现的攻击跟踪相对应的可执行测试,该测试已通过主要浏览器进行了验证。我们通过发现了两个由不同的浏览器机制的相互作用引起的两个新的逻辑缺陷来展示WebPEC的有效性,并通过识别当前网络平台中的三个先前发现的逻辑缺陷,以及五个旧版本中的逻辑缺陷。最后,我们展示了WebPEC如何帮助验证我们提出的更改,以修改影响当前Web平台的报告的不一致之处。

The complexity of browsers has steadily increased over the years, driven by the continuous introduction and update of Web platform components, such as novel Web APIs and security mechanisms. Their specifications are manually reviewed by experts to identify potential security issues. However, this process has proved to be error-prone due to the extensiveness of modern browser specifications and the interplay between new and existing Web platform components. To tackle this problem, we developed WebSpec, the first formal security framework for the analysis of browser security mechanisms, which enables both the automatic discovery of logical flaws and the development of machine-checked security proofs. WebSpec, in particular, includes a comprehensive semantic model of the browser in the Coq proof assistant, a formalization in this model of ten Web security invariants, and a toolchain turning the Coq model and the Web invariants into SMT-lib formulas to enable model checking with the Z3 theorem prover. If a violation is found, the toolchain automatically generates executable tests corresponding to the discovered attack trace, which is validated across major browsers. We showcase the effectiveness of WebSpec by discovering two new logical flaws caused by the interaction of different browser mechanisms and by identifying three previously discovered logical flaws in the current Web platform, as well as five in old versions. Finally, we show how WebSpec can aid the verification of our proposed changes to amend the reported inconsistencies affecting the current Web platform.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源