Serberus: Protecting Cryptographic Code from Spectres at Compile-Time

09/11/2023
by   Nicholas Mosier, et al.
0

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 overhead on average, compared to 24.9 software mitigation, which is less secure.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/09/2019

Post-Quantum Cryptographic Hardware Primitives

The development and implementation of post-quantum cryptosystems have be...
research
08/03/2018

CT-Wasm: Type-driven Secure Cryptography for the Web Ecosystem

A significant amount of both client and server-side cryptography is impl...
research
08/16/2018

MicroWalk: A Framework for Finding Side Channels in Binaries

Microarchitectural side channels expose unprotected software to informat...
research
04/21/2020

Towards Automated Augmentation and Instrumentation of Legacy Cryptographic Executables: Extended Version

Implementation flaws in cryptographic libraries, design flaws in algorit...
research
08/29/2017

Cryptographically Secure Information Flow Control on Key-Value Stores

We present Clio, an information flow control (IFC) system that transpare...
research
09/09/2020

Where's Crypto?: Automated Identification and Classification of Proprietary Cryptographic Primitives in Binary Code

The continuing use of proprietary cryptography in embedded systems acros...
research
06/09/2022

Software Mitigation of RISC-V Spectre Attacks

Speculative attacks are still an active threat today that, even if initi...

Please sign up or login with your details

Forgot password? Click here to reset