Speculative Data-Oblivious Execution: Mobilizing Safe Prediction For Safe and Efficient Speculative Execution

被引:26
|
作者
Yu, Jiyong [1 ]
Mantri, Namrata [1 ]
Torrellas, Josep [1 ]
Morrison, Adam [2 ]
Fletcher, Christopher W. [1 ]
机构
[1] Univ Illinois, Champaign, IL 61820 USA
[2] Tel Aviv Univ, Tel Aviv, Israel
关键词
Security; Speculative execution attacks; Hardware; Information flow;
D O I
10.1109/ISCA45697.2020.00064
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Speculative execution attacks are an enormous security threat. In these attacks, malicious speculative execution reads and exfiltrates potentially arbitrary program data through microarchitectural covert channels. Correspondingly, prior work has shown how to comprehensively block such attacks by delaying the execution of covert channel-creating instructions until their operands are a function of non-speculative data. This paper's premise is that it is safe to execute these potentially dangerous instructions early, improving performance, as long as their execution does not require operand-dependent hardware resource usage, i.e., is data oblivious. While secure, this idea can easily reduce, not improve, performance. Intuitively, data obliviousness implies doing the worst case work all the time. Our key idea to get net speedup is that it is safe to predict what will be, and to subsequently perform, the work needed to satisfy the common case, as long as the prediction itself does not leak privacy. We call the complete scheme-predicting the form of data-oblivious execution-Speculative Data-Oblivious Execution (SDO). We build SDO on top of a recent comprehensive and state-of-the-art protection called STT. Extending security arguments from STT, we show how the predictions do not reveal private information, enabling safe and efficient speculative execution. We evaluate the combined scheme, STT+SDO, on a set of SPEC17 workloads and find that it improves the performance of stand-alone STT by an average 36.3% to 55.1%, depending on the microarchitecture and attack model-and without changing STT's security guarantees.
引用
收藏
页码:707 / 720
页数:14
相关论文
共 50 条
  • [21] Spectre Attacks: Exploiting Speculative Execution
    Kocher, Paul
    Horn, Jann
    Fogh, Anders
    Genkin, Daniel
    Gruss, Daniel
    Haas, Werner
    Hamburg, Mike
    Lipp, Moritz
    Mangard, Stefan
    Prescher, Thomas
    Schwarz, Michael
    Yarom, Yuval
    COMMUNICATIONS OF THE ACM, 2020, 63 (07) : 93 - 101
  • [22] Understanding Selective Delay as a Method for Efficient Secure Speculative Execution
    Sakalis, Christos
    Kaxiras, Stefanos
    Ros, Alberto
    Jimborean, Alexandra
    Sjalander, Magnus
    IEEE TRANSACTIONS ON COMPUTERS, 2020, 69 (11) : 1584 - 1595
  • [23] Using value prediction to increase the power of speculative execution hardware
    Gabbay, F
    Mendelson, A
    ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1998, 16 (03): : 234 - 270
  • [24] Speculative execution in a distributed file system
    Nightingale, Edmund B.
    Chen, Peter M.
    Flinn, Jason
    ACM TRANSACTIONS ON COMPUTER SYSTEMS, 2006, 24 (04): : 361 - 392
  • [25] ExSpectre: Hiding Malware in Speculative Execution
    Wampler, Jack
    Martiny, Ian
    Wustrow, Eric
    26TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2019), 2019,
  • [26] Speculative Execution Attacks and Cloud Security
    Zhang, Yinqian
    Sion, Radu
    CCSW'19: PROCEEDINGS OF THE 2019 ACM SIGSAC CONFERENCE ON CLOUD COMPUTING SECURITY WORKSHOP, 2019, : 201 - 201
  • [27] The Impact of Speculative Execution on SMT Processors
    Dongsoo Kang
    Chen Liu
    Jean-Luc Gaudiot
    International Journal of Parallel Programming, 2008, 36 : 361 - 385
  • [28] Lazy and speculative execution in computer systems
    Lampson, Butler
    Principles of Distributed Systems, Proceedings, 2006, 4305 : 1 - 2
  • [29] Mixed Speculative Multithreaded Execution Models
    Xekalakis, Polychronis
    Ioannou, Nikolas
    Cintra, Marcelo
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2012, 9 (03)
  • [30] A Survey of Speculative Execution Strategy in MapReduce
    Liu, Qi
    Jin, Dandan
    Liu, Xiaodong
    Linge, Nigel
    CLOUD COMPUTING AND SECURITY, ICCCS 2016, PT I, 2016, 10039 : 296 - 307