Defensive JavaScript - Building and Verifying Secure Web Components

نویسندگان

  • Karthikeyan Bhargavan
  • Antoine Delignat-Lavaud
  • Sergio Maffeis
چکیده

Defensive JavaScript (DJS) is a typed subset of JavaScript that guarantees that the functional behavior of a program cannot be tampered with even if it is loaded by and executed within a malicious environment under the control of the attacker. As such, DJS is ideal for writing JavaScript security components, such as bookmarklets, single sign-on widgets, and cryptographic libraries, that may be loaded within untrusted web pages alongside unknown scripts from arbitrary third parties. We present a tutorial of the DJS language along with motivations for its design. We show how to program security components in DJS, how to verify their defensiveness using the DJS typechecker, and how to analyze their security properties automatically using ProVerif.

منابع مشابه

Language-based Defenses Against Untrusted Browser Origins

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

متن کامل

Preventing Capability Leaks in Secure JavaScript Subsets

Publishers wish to sandbox third-party advertisements to protect themselves from malicious advertisements. One promising approach, used by ADsafe, Dojo Secure, and Jacaranda, sandboxes advertisements by statically verifying that their JavaScript conforms to a safe subset of the language. These systems blacklist known dangerous properties that would let advertisements escape the sandbox. Unfortu...

متن کامل

Embedding of Security Components in Untrusted Third-Party Websites

Security-sensitive components, such as single sign-on APIs, need to be safely deployed on untrusted webpages. We present several new attacks on security components used in popular web applications that demonstrate how failing to isolate such components leaves them vulnerable to attacks both from the hosting website and other components loaded on the same page. These attacks are not prevented by...

متن کامل

Secure Web Applications via Automatic Partitioning

Swift is a new, principled approach to building web applications that are secure by construction. In modern web applications, some application functionality is usually implemented as client-side code written in JavaScript. Moving code and data to the client can create security vulnerabilities, but currently there are no good methods for deciding when it is secure to do so. Swift automatically p...

متن کامل

Javascript Devices Architecture: Building Extensible Rich Web Applications using Black Box Composition

Through the years, the Web browser has steadily matured as a rich application-development platform. For Web applications to stay current with the latest interaction patterns and client-side technologies, it is important that they’re built with flexibility in mind. In this paper, we present our work on a W3C and ECMA standardscompliant JavaScript component architecture that allows Web applicatio...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

متن کامل
عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013