作者: Gail E. Kaiser , Jonathan Schaffer Bell
DOI: 10.7916/D8QJ7FFX
关键词: Virtual machine 、 Scala 、 Taint checking 、 Software portability 、 Operating system 、 Source code 、 Tracking system 、 Data flow diagram 、 Computer science 、 Java
摘要: Dynamic taint analysis is a well-known information flow problem with many possible applications. Taint tracking allows for of application data by assigning labels to inputs, and then propagating those through flow. systems traditionally compromise among performance, precision, accuracy, portability. Performance can be critical, as these are typically intended deployed software, hence must have low overhead. To in securityconscious settings, also accurate precise. portable order easily adopted real world purposes, without requiring recompilation the operating system or language interpreter, access source code. We present PHOSPHOR, dynamic Java Virtual Machine (JVM) that simultaneously achieves our goals Moreover, knowledge, it first general purpose JVM. evaluated PHOSPHOR’s performance on two commonly used JVM languages (Java Scala), versions JVMs (Oracle’s HotSpot OpenJDK’s IcedTea) Android’s Dalvik Machine, finding its impressive: 3% (53% average), using DaCapo macro benchmark suite. This paper describes approach PHOSPHOR uses achieve