DEJITLEAK: Eliminating JIT-Induced Timing Side-Channel Leaks

Qi Qin,Julian Andres,Ji Yang,Fu Song,Taolue Chen,Xinyu Xing
DOI: https://doi.org/10.1145/3540250.3549150
2022-01-01
Abstract:Timing side-channels can be exploited to infer secret information when the execution time of a program is correlated with secrets. Recent work has shown that Just-In-Time (JIT) compilation can introduce new timing side-channels in programs even if they are time-balanced at the source code level. In this paper, we propose a novel approach to eliminate JIT-induced leaks. We first formalise timing side-channel security under JIT compilation via the notion of time-balancing, laying the foundation for reasoning about programs with JIT compilation. We then propose to eliminate JIT-induced leaks via a fine-grained JIT compilation. To this end, we provide an automated approach to generate compilation policies and a novel type system to guarantee its soundness. We develop a tool DEJITLEAK for real-world Java and implement the fine-grained JIT compilation in HotSpot JVM. Experimental results show that DEJITLEAK can effectively and efficiently eliminate JIT-induced leaks on three widely adopted benchmarks in the setting of side-channel detection.
What problem does this paper attempt to address?