Phosphor: Illuminating Dynamic Data Flow in Commodity JVMs
Dynamic taint analysis is a well-known information flow analysis problem with many possible applications. Taint tracking allows for analysis of application data flow by assigning labels to inputs, and then propagating those labels through data flow. Taint tracking systems traditionally compromise among performance, precision, accuracy, and portability. Performance can be critical, as these systems are typically intended to be deployed with software, and hence must have low overhead. To be deployed in security-conscious settings, taint tracking must also be accurate and precise. Dynamic taint tracking must be portable in order to be easily deployed and adopted for real world purposes, without requiring recompilation of the operating system or language interpreter, and without requiring access to application source code.
We present Phosphor, a dynamic taint tracking system for the Java Virtual Machine (JVM) that simultaneously achieves our goals of performance, accuracy, precision, and portability. Moreover, to our knowledge, it is the first portable general purpose taint tracking system for the JVM. We evaluated Phosphor’s performance on two commonly used JVM languages (Java and Scala), on two versions of two commonly used JVMs (Oracle’s HotSpot and OpenJDK’s IcedTea) and on Android’s Dalvik Virtual Machine, finding its performance to be impressive: as low as 3% (53% on average), using the DaCapo macro benchmark suite. This paper describes the approach that Phosphor uses to achieve portable taint tracking in the JVM.
Wed 22 OctDisplayed time zone: Tijuana, Baja California change
10:30 - 12:00
Runtime SystemsOOPSLA at Salon F
Chair(s): Martin Hirzel IBM Research
|Tardis: Affordable Time-Travel Debugging in Managed Runtimes|
Earl T. Barr University College London, Mark Marron Microsoft ResearchLink to publication
|Phosphor: Illuminating Dynamic Data Flow in Commodity JVMs|
Jonathan Bell Columbia University, Gail Kaiser Columbia University, New YorkLink to publication Media Attached
|Rubah: DSU for Java on a stock JVM|
Luís Pina Technical University of Lisbon / INESC-ID, Luís Veiga INESC-ID / Instituto Superior Técnico, Universidade de Lisboa, Michael Hicks University of Maryland, College ParkLink to publication
|Fast Conservative Garbage Collection|
Rifat Shahriyar Australian National University, Steve Blackburn Australian National University , Kathryn S McKinley Microsoft ResearchLink to publication