The case for JavaScript transactions: position paper

  • Authors:
  • Mohan Dhawan;Chung-chieh Shan;Vinod Ganapathy

  • Affiliations:
  • Rutgers University;Rutgers University;Rutgers University

  • Venue:
  • PLAS '10 Proceedings of the 5th ACM SIGPLAN Workshop on Programming Languages and Analysis for Security
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern Web applications combine and use JavaScript-based content from multiple untrusted sources. Without proper isolation, such content can compromise the security and privacy of these Web applications. Prior techniques for isolating untrusted JavaScript code do so by restricting dangerous constructs and inlining security checks into third-party code. This paper presents a new approach that extends the JavaScript language to make isolation a language-level primitive. We propose to extend the language using a new transaction construct that allows a Web application to speculatively execute untrusted code and isolate its changes. The Web application can then inspect these speculative actions and commit them only if they comply with the application's security policies. We discuss use-cases that can benefit from JavaScript support for transactions, present a formalization of JavaScript transactions and conclude with implementation considerations.