Abstract
Dynamic taint analysis (DTA) is a popular program analysis technique with applications to diverse fields such as software vulnerability detection and reverse engineering. It consists of marking sensitive data as tainted and tracking its propagation at runtime. While DTA has been implemented on top of many different analysis platforms, these implementations generally incur significant slowdown from taint propagation. Since a purely dynamic analysis cannot predict which instructions will operate on tainted values at runtime, programs have to be fully instrumented for taint propagation even when they never actually observe tainted values. We propose leveraging speculative optimizations to reduce slowdown on the peak performance of programs instrumented for DTA on a managed runtime capable of dynamic compilation. In this paper, we investigate how speculative optimizations can reduce the peak performance impact of taint propagation on programs executed on a managed runtime. We also explain how a managed runtime can implement DTA to be amenable to such optimizations. We implemented our ideas in TruffleTaint, a DTA platform which supports both dynamic languages like JavaScript and languages like C and C++ which are typically compiled statically. We evaluated TruffleTaint on several benchmarks from the popular Computer Language Benchmarks Game and SPECint 2017 benchmark suites. Our evaluation shows that TruffleTaint is often able to avoid slowdown entirely when programs do not operate on tainted data, and that it exhibits slowdown of on average g1/42.10x and up to g1/45.52x when they do, which is comparable to state-of-the-art taint analysis platforms optimized for performance.
| Original language | English |
|---|---|
| Title of host publication | MPLR 2021 |
| Subtitle of host publication | Proceedings of the 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes |
| Editors | Herbert Kuchen, Singer Jeremy |
| Publisher | Association for Computing Machinery, Inc |
| Pages | 70-87 |
| Number of pages | 18 |
| ISBN (Electronic) | 9781450386753 |
| DOIs | |
| Publication status | Published - 2021 |
| Externally published | Yes |
| Event | 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2021 - Virtual, Online, Germany Duration: 29 Sept 2021 → 30 Sept 2021 |
Conference
| Conference | 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2021 |
|---|---|
| Country/Territory | Germany |
| City | Virtual, Online |
| Period | 29/09/21 → 30/09/21 |
Funding
This research project was partially funded by Oracle Labs. We thank all members of the Virtual Machine Research Group at Oracle Labs. Oracle, Java, GraalVM, and HotSpot are trademarks or registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. We also thank all researchers at the Johannes Kepler University Linz’s Institute for System Software for their support of and feedback on our work.
| Funders |
|---|
| Oracle Labs |
Fingerprint
Dive into the research topics of 'Low-overhead multi-language dynamic taint analysis on managed runtimes through speculative optimization'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver