🤖 AI Summary
This work addresses the challenge of verifying consistency between assembly code and realistic machine models in low-level verification—particularly for security properties requiring multi-trace correlation, such as constant-time behavior and cross-version equivalence. Existing relational verification techniques operate predominantly at high abstraction levels and lack direct support for concrete machine-code semantics. To bridge this gap, we introduce the first relational Hoare logic tailored to realistic machine models, formally defined in HOL Light. It features instruction-level memory and control-flow semantics, along with refinement-based relational specifications. Our approach enables rigorous, compositional verification of multi-trace relational properties. We demonstrate its effectiveness on the large s2n-bignum assembly library, verifying constant-time execution and functional equivalence between optimized and verification-friendly routine variants. The method significantly advances expressiveness, provability, and industrial applicability of low-level system security verification.
📝 Abstract
Many security- and performance-critical domains, such as cryptography, rely on low-level verification to minimize the trusted computing surface and allow code to be written directly in assembly. However, verifying assembly code against a realistic machine model is a challenging task. Furthermore, certain security properties -- such as constant-time behavior -- require relational reasoning that goes beyond traditional correctness by linking multiple execution traces within a single specification. Yet, relational verification has been extensively explored at a higher level of abstraction. In this work, we introduce a Hoare-style logic that provides low-level, expressive relational verification. We demonstrate our approach on the s2n-bignum library, proving both constant-time discipline and equivalence between optimized and verification-friendly routines. Formalized in HOL Light, our results confirm the real-world applicability of relational verification in large assembly codebases.