Libra: Architectural Support For Principled, Secure And Efficient Balanced Execution On High-End Processors (Extended Version)
Hans Winderix, Marton Bognar, Lesly-Ann Daniel, Frank Piessens

TL;DR
Libra introduces a hardware-software co-design approach that securely balances secret-dependent branches on high-end processors, achieving security against control-flow leakage with minimal performance overhead and outperforming traditional linearization methods.
Contribution
This paper presents Libra, a novel hardware-software design that enables secure control-flow balancing on high-end processors, challenging the belief that linearization is the only effective countermeasure.
Findings
Libra achieves performance overhead comparable to insecure balanced code.
Libra outperforms state-of-the-art linearized code by 19.3%.
The design effectively prevents control-flow leakage without disabling critical hardware features.
Abstract
Control-flow leakage (CFL) attacks enable an attacker to expose control-flow decisions of a victim program via side-channel observations. Linearization (i.e., elimination) of secret-dependent control flow is the main countermeasure against these attacks, yet it comes at a non-negligible cost. Conversely, balancing secret-dependent branches often incurs a smaller overhead, but is notoriously insecure on high-end processors. Hence, linearization has been widely believed to be the only effective countermeasure against CFL attacks. In this paper, we challenge this belief and investigate an unexplored alternative: how to securely balance secret-dependent branches on higher-end processors? We propose Libra, a generic and principled hardware-software codesign to efficiently address CFL on high-end processors. We perform a systematic classification of hardware primitives leaking control flow…
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.
