학술논문

Architectural Contracts for Safe Speculation
Document Type
Conference
Source
2023 IEEE 41st International Conference on Computer Design (ICCD) ICCD Computer Design (ICCD), 2023 IEEE 41st International Conference on. :578-586 Nov, 2023
Subject
Components, Circuits, Devices and Systems
Computing and Processing
Microarchitecture
Semantics
Prototypes
Software
Hardware
Picture archiving and communication systems
Software safety
Safety
Security
Contracts
transient-execution attacks
instruction-set architectures
computer security
hardware-software contracts
testing
microarchitecture
Language
ISSN
2576-6996
Abstract
We propose architectural contracts that specify the allowable limits of speculative execution to enable both software safety guarantees and hardware verification. Transient-execution attacks have presented a major threat in recent years, driving deployment of software mitigations and research into hardware solutions. Recent work on hardware/software contracts for secure speculation recognizes the need for cooperation between hardware guarantees and software analysis, and demonstrates that speculative execution models can enable formal analysis of programs with respect to transient-execution vulnerabilities. Therefore, we have extended these limited models into comprehensive architecture-level contracts that can be verified at a microarchitecture level. We define a set of speculation contracts for translation (TSC) and branching (BSC), and for memory ordering (MOSC). We also develop a set of directed-random test routines that reproduce all known contract violations in a prototype out-of-order processor, most of which represent known transient-execution vulnerabilities. We also extend the RiscyOO processor to enforce each contract and evaluate performance, demonstrating the practicality of the chosen contracts with an overhead between -1.2% and +1.8% for this prototype. These general-purpose contracts set the stage for specification of speculative execution for complete instruction-set architectures, and particularly for new security-focused ISA extensions.