Reconciling Optimization With Secure Compilation
summary
Claims a way to make compiler optimizations preserve security-relevant intermediate state by adding opaque observations and an opacification mechanism that enforces a happens‑before partial order. Implements it in Clang/LLVM by changing two LLVM hooks and emitting DWARF events. Validates on nine crypto and control‑flow protection benchmarks across ARM and x86, reporting nontrivial speedups versus unoptimized code and faster results than an IO‑barrier approach on several tests.
AI-written summary · about
chapters (9)
- 0:00Intro
- 1:14Opaque Observations: Intuition
- 2:25More Examples
- 5:13Modeling Program Transformations
- 6:21Semantics of Opaque Observations
- 8:52Opaque Observations - Opaque Chains
- 10:47Implementation and Evaluation
- 12:34Security Applications
- 14:57Opaque Observations in a Nutshell
related talks
18mCompiling countermeasures against fault attacks with “Tracing LLVM”
22mReconciling High-level Optimizations and Low-level Code in LLVM
15mMy Journey in Secure Compilation
01h 30mDangerous Optimizations in C and C++ Programming Languages
53mFrom Within: Compiler Testing and Validation via Compilers
01h 27mDangerous Optimizations! in C++ - Part Deux
24mGenerating BPF Verifier Friendly Code with Clang
24mTowards Understanding the Costs of Avoiding Out-of-Thin-Air Results
