DualGuard unifies memory safety for normal and speculative execution
Original title: DualGuard: Comprehensive and Efficient Memory Safety across Sequential and Speculative Execution
The LLVM framework reports 3% to 72% less overhead than naive combinations of separate memory-safety and speculative defenses.
DualGuard aims to enforce memory safety during both non-speculative and speculative execution. The authors note that defenses such as Speculative Load Hardening do not cover ordinary execution, while stacking both kinds of defenses can add redundant cost. It classifies memory behaviors into four categories and selects a minimal mix of existing and new mitigations. Implemented with static analysis and runtime enforcement in LLVM, it reports 3%-72% lower overhead than naive compositions, and in some cases less than single-domain protections.
- Speculative Load Hardening is cited as insufficient for non-speculative execution.
- Memory behaviors are classified into four categories.
- Implementation uses static analysis and runtime enforcement in LLVM.
- Some results beat protections limited to one execution mode.
From the original article
1 min read at arxiv.orgAlthough decades of research have yielded sophisticated mechanisms for enforcing memory safety, speculative execution can subvert these protections through transient memory operations. Conversely, defenses designed specifically for speculative safety, such as Speculative Load Hardening (SLH), cannot enforce memory safety during non-speculative execution.
By Sixuan Dang · arxiv.org
A short excerpt; the article and its images belong to the publisher. Summary, key facts and assessment above are AI-written from the article and can be wrong.