Dynamic Taint Tracking for Modern Java Virtual Machines
Katherine Hough, Jonathan Bell
Abstract
Dynamic taint tracking is a program analysis that traces the flow of information through a program. In the Java virtual machine (JVM), there are two prominent approaches for dynamic taint tracking: "shadowing" and "mirroring". Shadowing is able to precisely track information flows, but is also prone to disrupting the semantics of the program under analysis. Mirroring is better able to preserve program semantics, but often inaccurate. The limitations of these approaches are further exacerbated by features introduced in the latest Java versions. In this paper, we propose Galette, an approach for dynamic taint tracking in the JVM that combines aspects of both shadowing and mirroring to provide precise, robust taint tag propagation in modern JVMs. On a benchmark suite of 3,451 synthetic Java programs, we found that Galette was able to propagate taint tags with perfect accuracy while preserving program semantics on all four active long-term support versions of Java. We also found that Galette's runtime and memory overheads were competitive with that of two state-of-the-art dynamic taint tracking systems on a benchmark suite of twenty real-world Java programs.
CCS Concepts: • Software and its engineering → Dynamic analysis; • Security and privacy → Information flow control.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Builds on6
- VUzzer: Application-aware Evolutionary FuzzingSanjay Rawat, Vivek Jain, Ashish Kumar, Lucian Cojocar et al.NDSS 2017 · 700 citations
- DynaPyt: a dynamic analysis framework for PythonAryaz Eghbali, Michael PradelFSE 2022 · 30 citations
- CONFETTI: Amplifying Concolic Guidance for FuzzersJames Kukucka, Luís Pina, Paul Ammann, Jonathan BellICSE 2022 · 24 citations
- MirrorTaint: Practical Non-intrusive Dynamic Taint Tracking for JVM-based Microservice SystemsYicheng Ouyang, Kailai Shao, Kunqiu Chen, Ruobing Shen et al.ICSE 2023 · 11 citations
- Revealing injection vulnerabilities by leveraging existing testsKatherine Hough, Gebrehiwet B. Welearegai, Christian Hammer, Jonathan BellICSE 2020 · 7 citations
Related papers
- ViaLin: Path-Aware Dynamic Taint Analysis for AndroidKhaled Ahmed, Yingying Wang, Mieszko Lis, Julia RubinFSE 2023 · 7 citations
- FSAFlow: Lightweight and Fast Dynamic Path Tracking and Control for Privacy Protection on Android Using Hybrid Analysis with State-Reduction StrategyZhi Yang, Zhanhui Yuan, Shuyuan Jin, Xingyuan Chen et al.S&P 2022 · 11 citations
- HardTaint: Production-Run Dynamic Taint Analysis via Selective Hardware TracingYiyu Zhang, Tianyi Liu, Yueyang Wang, Yun Qi et al.OOPSLA 2024 · 7 citations
- AirTaint: Making Dynamic Taint Analysis Faster and EasierQian Sang, Yanhao Wang, Yuwei Liu, Xiangkun Jia et al.S&P 2024 · 11 citations
- ConDySTA: Context-Aware Dynamic Supplement to Static Taint AnalysisXueling Zhang, Xiaoyin Wang, Rocky Slavin, Jianwei NiuS&P 2021 · 22 citations
