On Abnormal Execution Timing of Conditional Jump Instructions
Annika Wilde, Samira Briongos, Claudio Soriente, Ghassan Karame

TL;DR
This paper investigates timing variabilities in conditional jump instructions caused by micro-op cache placement and instruction offset, demonstrating their impact on performance and security across multiple architectures and real-world binaries.
Contribution
It systematically analyzes timing variabilities in conditional jumps, identifies their microarchitectural causes, and proposes alignment strategies to mitigate performance impacts and security vulnerabilities.
Findings
Timing variability is caused by micro-op cache placement and instruction offset.
Aligning instructions to 32-byte boundaries reduces timing variability.
Timing variability can be exploited as a covert channel with 16.14 Mbps throughput.
Abstract
An extensive line of work on modern computing architectures has shown that the execution time of instructions can (i) depend on the operand of the instruction or (ii) be influenced by system optimizations, e.g., branch prediction and speculative execution paradigms. In this paper, we systematically measure and analyze timing variabilities in conditional jump instructions that can be macro-fused with a preceding instruction, depending on their placement within the binary. Our measurements indicate that these timing variations stem from the micro-op cache placement and the jump's offset in the L1 instruction cache of modern processors. We demonstrate that this behavior is consistent across multiple microarchitectures, including Skylake, Coffee Lake, and Kaby Lake, as well as various real-world implementations. We confirm the prevalence of this variability through extensive experiments…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsReal-Time Systems Scheduling · Parallel Computing and Optimization Techniques · Security and Verification in Computing
