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
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.