Pinned loads: taming speculative loads in secure processors
- 22 February 2022
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM) in Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems
Abstract
In security frameworks for speculative execution, an instruction is said to reach its Visibility Point (VP) when it is no longer vulnerable to pipeline squashes. Before a potentially leaky instruction reaches its VP, it has to stall—unless a defense scheme such as invisible speculation provides protection. Unfortunately, either stalling or protecting the execution of pre-VP instructions typically has a performance cost. One way to attain low-overhead safe execution is to develop techniques that speed-up the advance of the VP from older to younger instructions. In this paper, we propose one such technique. We find that the progress of the VP for loads is mostly impeded by waiting until no memory consistency violations (MCVs) are possible. Hence, our technique, called , tries to make loads invulnerable to MCVs as early as possible—a process we call pinning the loads in the pipeline. The result is faster VP progress and a reduction in the execution overhead of defense schemes. In this paper, we describe the hardware needed by , and two possible designs with different tradeoffs between hardware requirements and performance. Our evaluation shows that is very effective: extending three popular defense schemes against speculative execution attacks with reduces their average execution overhead on SPEC17 and on SPLASH2/PARSEC applications by about 50%. For example, on SPEC17, the execution overhead of the three defense schemes decreases from to , from to , and from to .Keywords
Funding Information
- Intel Strategic Research Alliance
- Israel Science Foundation (2005/17)
This publication has 31 references indexed in Scilit:
- Conditional Speculation: An Effective Approach to Safeguard Out-of-Order Execution Against Spectre AttacksPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2019
- ret2specPublished by Association for Computing Machinery (ACM) ,2018
- DAWG: A Defense Against Cache Timing Attacks in Speculative Execution ProcessorsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2018
- SPEC CPU2017Published by Association for Computing Machinery (ACM) ,2018
- Are Coherence Protocol States Vulnerable to Information Leakage?Published by Institute of Electrical and Electronics Engineers (IEEE) ,2018
- CACTI 7ACM Transactions on Architecture and Code Optimization, 2017
- Secure Hierarchy-Aware Cache Replacement Policy (SHARP)Published by Association for Computing Machinery (ACM) ,2017
- Non-Speculative Load-Load Reordering in TSOPublished by Association for Computing Machinery (ACM) ,2017
- Achieving Non-Inclusive Cache Performance with Inclusive Caches: Temporal Locality Aware (TLA) Cache Management PoliciesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2010
- The PARSEC benchmark suitePublished by Association for Computing Machinery (ACM) ,2008