Search papers, labs, and topics across Lattice.
This paper introduces dfence, a novel CPU instruction designed to enhance security against speculative execution attacks like Spectre-PHT and Spectre-STL with minimal hardware requirements. By allowing developers to annotate sensitive registers, dfence ensures that these values remain secure from transient leakage, addressing the limitations of existing software-based mitigations which are often costly and error-prone. The implementation in the Proteus CPU shows that dfence achieves an average performance overhead of less than 1% while providing robust security, alongside a type system for static verification of its usage in code.
dfence achieves robust protection against Spectre attacks with less than 1% performance overhead, revolutionizing CPU security without extensive hardware changes.
Speculative execution attacks such as Spectre-PHT and Spectre-STL remain a critical security concern in modern processors. While software-based mitigations like Speculative Load Hardening (SLH) offer effective protection against Spectre-PHT, they are limited in scope and require software-managed speculative masks, which can be error-prone and costly. Defenses against Spectre-STL, such as the Speculative Store Bypass Disable bit (SSBD), incur additional performance overhead and lack fine-grained control. In this work, we introduce dfence, a new CPU instruction that generalizes SLH to mitigate both Spectre-PHT and Spectre-STL with minimal hardware support. dfence enables developers to annotate sensitive registers, with the hardware ensuring that these values do not leak transiently. We implement dfence in the Proteus CPU and evaluate its security and performance, demonstrating less than 1% average performance overhead for our benchmarks. In addition, to support easy and secure adoption, we design a type system that statically verifies the correct placement of dfence instructions in code.