Remote Scheduler Contention Attacks
Stefan Gast, Jonas Juffinger, Lukas Maar, Christoph Royer, Andreas Kogler, Daniel Gruss
TL;DR
This paper investigates scheduler contention side channels on AMD Zen 3 and Zen 4, revealing leakage across all scheduler queues and introducing a timingless bingo-race method that yields exact queue capacities. It demonstrates inter-keystroke timing attacks with a $F_1$ score of at least $0.995$ and jitter under $4$ ms, and a pure JavaScript-based scheduler contention covert channel in Firefox achieving true capacities of $891.9$ on Zen 3 and $940.7$ on Zen 4. The work extends attacker access from native code to JavaScript, enabling cross-window data transmission that bypasses cross-origin policies and site isolation. These findings imply urgent consideration of mitigations beyond traditional timing defenses, as watermarking and SMT-disabling approaches incur substantial performance overheads and may be insufficient.
Abstract
In this paper, we investigate unexplored aspects of scheduler contention: We systematically study the leakage of all scheduler queues on AMD Zen 3 and show that all queues leak. We mount the first scheduler contention attacks on Zen 4, with a novel measurement method evoking an out-of-order race condition, more precise than the state of the art. We demonstrate the first inter-keystroke timing attacks based on scheduler contention, with an F1 score of $\geq$ 99.5 % and a standard deviation below 4 ms from the ground truth. Our end-to-end JavaScript attack transmits across Firefox instances, bypassing cross-origin policies and site isolation, with 891.9 bit/s (Zen 3) and 940.7 bit/s (Zen 4).
