Language-based Defenses Against Untrusted Browser Origins

Language-based Defenses Against Untrusted Browser Origins
复制标题

DOI:
--
复制
发表时间:
2013-08
期刊:
--
影响因子:
--
通讯作者:
K. Bhargavan;Antoine Delignat-Lavaud;S. Maffeis
K. Bhargavan;Antoine Delignat-Lavaud;S. Maffeis
中科院分区:
其他
文献类型:
--
作者:
K. Bhargavan;Antoine Delignat-Lavaud;S. Maffeis

文献摘要

相似文献

我们提出了新的攻击和强大的对策,安全敏感的组件,如单点登录API和客户端加密库,需要安全地部署在不受信任的网页。我们展示了如何未能隔离这些组件使他们容易受到攻击,从托管网站和其他组件运行在同一页面上。这些攻击不能仅仅通过浏览器安全机制来防止,因为它们是由同一源代码中的代码交互引起的。为了减轻这些攻击,我们建议在JavaScript级别将联合收割机细粒度组件隔离与加密机制相结合。我们提出了防御性JavaScript(DJS),语言的一个子集,保证脚本的行为完整性,即使在一个敌对的环境中加载。我们给出了一个完善的类型系统,类型推理工具,并建立了密码学和数据编码的防御库。我们通过实施几个应用程序,使用防御模式,修复我们的一些原始攻击,我们的解决方案的有效性。我们提出了一个模型提取工具来分析我们的应用程序使用密码协议验证器的安全属性。
We present new attacks and robust countermeasures for security-sensitive components, such as single sign-on APIs and client-side cryptographic libraries, that need to be safely deployed on untrusted web pages. We show how failing to isolate such components leaves them vulnerable to attacks both from the hosting website and other components running on the same page. These attacks are not prevented by browser security mechanisms alone, because they are caused by code interacting within the same origin. To mitigate these attacks, we propose to combine fine-grained component isolation at the JavaScript level with cryptographic mechanisms. We present Defensive JavaScript (DJS), a subset of the language that guarantees the behavior integrity of scripts even when loaded in a hostile environment. We give a sound type system, type inference tool, and build defensive libraries for cryptography and data encodings. We show the effectiveness of our solution by implementing several applications using defensive patterns that fix some of our original attacks. We present a model extraction tool to analyze the security properties of our applications using a cryptographic protocol verifier.