An Empirical Study of Information Flows in Real-World JavaScript

Information flow analysis prevents secret or untrusted data from flowing into public or trusted sinks. Existing mechanisms cover a wide array of options, ranging from lightweight taint analysis to heavyweight information flow control that also considers implicit flows. Dynamic analysis, which is particularly popular for languages such as JavaScript, faces the question whether to invest in analyzing flows caused by not executing a particular branch, so-called hidden implicit flows. This paper addresses the questions how common different kinds of flows are in real-world programs, how important these flows are to enforce security policies, and how costly it is to consider these flows. We address these questions in an empirical study that analyzes 56 real-world JavaScript programs that suffer from various security problems, such as code injection vulnerabilities, denial of service vulnerabilities, memory leaks, and privacy leaks. The study is based on a state-of-the-art dynamic information flow analysis and a formalization of its core. We find that implicit flows are expensive to track in terms of permissiveness, label creep, and runtime overhead. We find a lightweight taint analysis to be sufficient for most of the studied security problems, while for some privacy-related code, observable tracking is sometimes required. In contrast, we do not find any evidence that tracking hidden implicit flows reveals otherwise missed security problems. Our results help security analysts and analysis designers to understand the cost-benefit tradeoffs of information flow analysis and provide empirical evidence that analyzing implicit flows in a cost-effective way is a relevant problem.

READ FULL TEXT
research
01/04/2019

Information flow in a distributed security setting

Information flow security is classically formulated in terms of the abse...
research
12/18/2019

PAGURUS: Low-Overhead Dynamic Information Flow Tracking on Loosely Coupled Accelerators

Software-based attacks exploit bugs or vulnerabilities to get unauthoriz...
research
11/07/2021

Sdft: A PDG-based Summarization for Efficient Dynamic Data Flow Tracking

Dynamic taint analysis (DTA) has been widely used in various security-re...
research
05/14/2018

LUCON: Data Flow Control for Message-Based IoT Systems

Today's emerging Industrial Internet of Things (IIoT) scenarios are char...
research
09/08/2019

Fine Grained Dataflow Tracking with Proximal Gradients

Dataflow tracking with Dynamic Taint Analysis (DTA) is an important meth...
research
09/27/2021

Cyber-Physical Taint Analysis in Multi-stage Manufacturing Systems (MMS): A Case Study

Information flows are intrinsic properties of an multi-stage manufacturi...
research
04/06/2022

Fluently specifying taint-flow queries with fluentTQL

Previous work has shown that taint analyses are only useful if correctly...

Please sign up or login with your details

Forgot password? Click here to reset