Binsec/Rel: Efficient Relational Symbolic Execution for Constant-Time at Binary-Level
Lesly-Ann Daniel, S\'ebastien Bardin, Tamara Rezk

TL;DR
This paper introduces Binsec/Rel, an efficient binary-level relational symbolic execution tool that improves verification of constant-time properties in cryptographic code, enabling bug detection and verification at the binary level.
Contribution
It presents novel optimizations for relational symbolic execution at the binary level, significantly enhancing CT verification and bug-finding capabilities compared to prior methods.
Findings
Binsec/Rel outperforms previous tools in bug-finding and verification.
Discovered CT violations introduced by compiler optimizations.
Automated analysis of CT preservation across compiler passes.
Abstract
The constant-time programming discipline (CT) is an efficient countermeasure against timing side-channel attacks, requiring the control flow and the memory accesses to be independent from the secrets. Yet, writing CT code is challenging as it demands to reason about pairs of execution traces (2- hypersafety property) and it is generally not preserved by the compiler, requiring binary-level analysis. Unfortunately, current verification tools for CT either reason at higher level (C or LLVM), or sacrifice bug-finding or bounded-verification, or do not scale. We tackle the problem of designing an efficient binary-level verification tool for CT providing both bug-finding and bounded-verification. The technique builds on relational symbolic execution enhanced with new optimizations dedicated to information flow and binary-level analysis, yielding a dramatic improvement over prior work based…
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.
