Pith. sign in

Fun with flags: How Compilers Break and Fix Constant-Time Code

1 Pith paper cite this work. Polarity classification is still indexing.

1 Pith paper citing it
abstract

Developers rely on constant-time programming to prevent timing side-channel attacks. But these efforts can be undone by compilers, whose optimizations may silently reintroduce leaks. While recent works have measured the extent of such leakage, they leave developers without actionable insights: which optimization passes are responsible, and how to disable them without modifying the compiler remains unclear. In this paper, we conduct a qualitative analysis of how compiler optimizations break constant-time code. We construct a dataset of compiler-introduced constant-time violations and analyze the internals of two widely used compilers, GCC and LLVM, to identify the specific optimization passes responsible. Our key insight is that a small set of passes are at the root of most leaks. To the best of our knowledge, we are also the first to characterize how the interactions between these passes contribute to leakage. Based on this analysis, we propose an original and practical mitigation that requires no source code modification or custom compiler: disabling selected optimization passes via compiler flags. We show that this approach significantly reduces leakage with minimal performance overhead, offering an immediately deployable defense for developers.

citation-role summary

background 1

citation-polarity summary

fields

cs.PL 1

years

2025 1

verdicts

CONDITIONAL 1

roles

background 1

polarities

unclear 1

representative citing papers

Decompiling for Constant-Time Analysis

cs.PL · 2025-01-07 · conditional · novelty 8.0

Decompilation can silently erase constant-time violations, so the paper defines CT transparency and builds CT-RetDec, a RetDec variant that finds violations other decompilers miss.

citing papers explorer

Showing 1 of 1 citing paper.

  • Decompiling for Constant-Time Analysis cs.PL · 2025-01-07 · conditional · partial · ref 29 · internal anchor

    Decompilation can silently erase constant-time violations, so the paper defines CT transparency and builds CT-RetDec, a RetDec variant that finds violations other decompilers miss.