arrow
Return

Platform-Independent Dynamic Taint Analysis for JavaScript

delete2020-12-01
delete41
delete
OA
AI
R
Rezwana Karim
F
Frank Tip *
A
Alena Sochurkova
K
Koushik Sen
DOI:10.1109/TSE.2018.2878020delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Previous approaches to dynamic taint analysis for JavaScript are implemented directly in a browser or JavaScript engine, limiting their applicability to a single platform and requiring ongoing maintenance as platforms evolve, or they require nontrivial program transformations. We present an approach that relies on instrumentation to encode taint propagation as instructions for an abstract machine. Our approach has two key advantages: it is platform-independent and can be used with any existing JavaScript engine, and it can track taint on primitive values without requiring the introduction of wrapper objects. Furthermore, our technique enables multiple deployment scenarios by varying when and where the generated instructions are executed and it supports indirect taint sources, i.e., situations where taint enters an application via arguments passed to dynamically registered event-listener functions. We implemented the technique for the ECMAScript 5 language in a tool called Ichnaea, and evaluated it on 22 NPM modules containing several types of injection vulnerabilities, including 4 modules containing vulnerabilities that were not previously discovered and reported. On these modules, run-time overheads range from 3.17x to 38.42x, which is significantly better than a previous transformation-based technique. We also report on a case study that shows how Ichnaea can be used to detect privacy leaks in a Tizen web application for the Samsung Gear S2 smart watch.
Keywords:
Instruments
Engines
Browsers
Tools
Privacy
Gears
Data privacy
Taint analysis
dynamic analysis
JavaScript
platform-independent
instrumentation
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

S
samsung
Scholars:
8.6K
Papers: 6.4K
Citations: 8
U
University of California Berkeley
Scholars:
3.5W
Papers: 2.8W
Citations: 11.3W
N
Northeastern University
Scholars:
2.4W
Papers: 1.5W
Citations: 3.0W
University of California System cover
University of California System
Scholars:
37.5W
Papers: 33.7W
Citations: 6.6K
researcher View more organizations