Back to Search Start Over

Serberus: Protecting Cryptographic Code from Spectres at Compile-Time

Authors :
Mosier, Nicholas
Nemati, Hamed
Mitchell, John C.
Trippel, Caroline
Publication Year :
2023

Abstract

We present Serberus, the first comprehensive mitigation for hardening constant-time (CT) code against Spectre attacks (involving the PHT, BTB, RSB, STL and/or PSF speculation primitives) on existing hardware. Serberus is based on three insights. First, some hardware control-flow integrity (CFI) protections restrict transient control-flow to the extent that it may be comprehensively considered by software analyses. Second, conformance to the accepted CT code discipline permits two code patterns that are unsafe in the post-Spectre era. Third, once these code patterns are addressed, all Spectre leakage of secrets in CT programs can be attributed to one of four classes of taint primitives--instructions that can transiently assign a secret value to a publicly-typed register. We evaluate Serberus on cryptographic primitives in the OpenSSL, Libsodium, and HACL* libraries. Serberus introduces 21.3% runtime overhead on average, compared to 24.9% for the next closest state-of-the-art software mitigation, which is less secure.<br />Comment: Authors' version; to appear in the Proceedings of the IEEE Symposium on Security and Privacy (S&P) 2024

Details

Database :
arXiv
Publication Type :
Report
Accession number :
edsarx.2309.05174
Document Type :
Working Paper