Skip to main navigation Skip to search Skip to main content

Low-overhead multi-language dynamic taint analysis on managed runtimes through speculative optimization

  • Jacob Kreindl
  • , Daniele Bonetta
  • , Lukas Stadler
  • , David Leopoldseder
  • , Hanspeter Mössenböck

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

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 languageEnglish
Title of host publicationMPLR 2021
Subtitle of host publicationProceedings of the 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes
EditorsHerbert Kuchen, Singer Jeremy
PublisherAssociation for Computing Machinery, Inc
Pages70-87
Number of pages18
ISBN (Electronic)9781450386753
DOIs
Publication statusPublished - 2021
Externally publishedYes
Event18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2021 - Virtual, Online, Germany
Duration: 29 Sept 202130 Sept 2021

Conference

Conference18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, MPLR 2021
Country/TerritoryGermany
CityVirtual, Online
Period29/09/2130/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