Skip to main content
Kent Academic Repository

Information Flow Control in WebKit’s JavaScript Bytecode

Bichhawat, Abhishek, Rajani, Vineet, Garg, Deepak, Hammer, Christian (2014) Information Flow Control in WebKit’s JavaScript Bytecode. In: Principles of Security and Trust. POST 2014. Lecture Notes in Computer Science. Lecture Notes in Computer Science , 8414. pp. 159-178. Springer ISBN 978-3-642-54791-1. E-ISBN 978-3-642-54792-8. (doi:10.1007/978-3-642-54792-8_9) (KAR id:90558)

Abstract

Websites today routinely combine JavaScript from multiple sources, both trusted and untrusted. Hence, JavaScript security is of paramount importance. A specific interesting problem is information flow control (IFC) for JavaScript. In this paper, we develop, formalize and implement a dynamic IFC mechanism for the JavaScript engine of a production Web browser (specifically, Safari’s WebKit engine). Our IFC mechanism works at the level of JavaScript bytecode and hence leverages years of industrial effort on optimizing both the source to bytecode compiler and the bytecode interpreter. We track both explicit and implicit flows and observe only moderate overhead. Working with bytecode results in new challenges including the extensive use of unstructured control flow in bytecode (which complicates lowering of program context taints), unstructured exceptions (which complicate the matter further) and the need to make IFC analysis permissive. We explain how we address these challenges, formally model the JavaScript bytecode semantics and our instrumentation, prove the standard property of terminationinsensitive non-interference, and present experimental results on an optimized prototype.

Item Type: Conference or workshop item (Paper)
DOI/Identification number: 10.1007/978-3-642-54792-8_9
Uncontrolled keywords: Dynamic information flow control; JavaScript bytecode; taint tracking; control flow graphs; immediate post-dominator analysis
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Amy Boaler
Date Deposited: 04 Oct 2021 12:50 UTC
Last Modified: 05 Nov 2024 12:56 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/90558 (The current URI for this page, for reference purposes)

University of Kent Author Information

Rajani, Vineet.

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.