Efficient Invisible Speculative Execution through Selective Delay and Value Prediction

被引:56
|
作者
Sakalis, Christos [1 ]
Kaxiras, Stefanos [1 ]
Ros, Alberto [2 ]
Jimborean, Alexandra [1 ]
Sjalander, Magnus [3 ]
机构
[1] Uppsala Univ, Uppsala, Sweden
[2] Univ Murcia, Murcia, Spain
[3] Norwegian Univ Sci & Technol, Trondheim, Norway
基金
瑞典研究理事会;
关键词
speculative execution; side-channel attacks; caches; ATTACKS;
D O I
10.1145/3307650.3322216
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Speculative execution, the base on which modern high-performance general-purpose CPUs are built on, has recently been shown to enable a slew of security attacks. All these attacks are centered around a common set of behaviors: During speculative execution, the architectural state of the system is kept unmodified, until the speculation can be verified. In the event that a misspeculation occurs, then anything that can affect the architectural state is reverted (squashed) and re-executed correctly. However, the same is not true for the microarchitectural state. Normally invisible to the user, changes to the microarchitectural state can be observed through various side-channels, with timing differences caused by the memory hierarchy being one of the most common and easy to exploit. The speculative side-channels can then be exploited to perform attacks that can bypass software and hardware checks in order to leak information. These attacks, out of which the most infamous are perhaps Spectre and Meltdown, have led to a frantic search for solutions. In this work, we present our own solution for reducing the microarchitectural state-changes caused by speculative execution in the memory hierarchy. It is based on the observation that if we only allow accesses that hit in the L1 data cache to proceed, then we can easily hide any microarchitectural changes until after the speculation has been verified. At the same time, we propose to prevent stalls by value predicting the loads that miss in the L1. Value prediction, though speculative, constitutes an invisible form of speculation, not seen outside the core. We evaluate our solution and show that we can prevent observable microarchitectural changes in the memory hierarchy while keeping the performance and energy costs at 11% and 7%, respectively. In comparison, the current state of the art solution, InvisiSpec, incurs a 46% performance loss and a 51% energy increase.
引用
收藏
页码:723 / 735
页数:13
相关论文
共 50 条
  • [31] Register File Size Reduction through Instruction Pre-Execution Incorporating Value Prediction
    Tanaka, Yusuke
    Ando, Hideki
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2010, E93D (12): : 3294 - 3305
  • [32] KLEESPECTRE: Detecting Information Leakage through Speculative Cache Attacks via Symbolic Execution
    Wang, Guanhua
    Chattopadhyay, Sudipta
    Biswas, Arnab Kumar
    Mitra, Tulika
    Roychoudhury, Abhik
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2020, 29 (03)
  • [33] Exploiting thread-level speculative parallelism with software value prediction
    Li, XF
    Yang, C
    Du, ZH
    Ngai, TF
    ADVANCES IN COMPUTER SYSTEMS ARCHITECTURE, PROCEEDINGS, 2005, 3740 : 367 - 388
  • [34] On the detection of board delay faults through the execution of functional programs
    An, G.
    Cantoro, R.
    Sanchez, E.
    Reorda, M. Sonza
    2017 18TH IEEE LATIN AMERICAN TEST SYMPOSIUM (LATS 2017), 2017,
  • [35] Driller: Augmenting Fuzzing Through Selective Symbolic Execution
    Stephens, Nick
    Grosen, John
    Salls, Christopher
    Dutcher, Andrew
    Wang, Ruoyu
    Corbetta, Jacopo
    Shoshitaishvili, Yan
    Kruegel, Christopher
    Vigna, Giovanni
    23RD ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2016), 2016,
  • [36] Improving IoT Analytics through Selective Edge Execution
    Galanopoulos, Apostolos
    Tasiopoulos, Argyrios G.
    Iosifidi, George
    Salonidis, Theodoros
    Leith, Douglas J.
    ICC 2020 - 2020 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC), 2020,
  • [37] HAWS: Accelerating GPU Wavefront Execution through Selective Out-of-order Execution
    Gong, Xun
    Gong, Xiang
    Yu, Leiming
    Kaeli, David
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2019, 16 (02)
  • [38] An Efficient Parallel Execution for Intra Prediction in HEVC Video Encoder
    Dam Minh Tung
    Tran Le Thang Dong
    Tran Thien Anh
    2014 INTERNATIONAL CONFERENCE ON COMPUTING, MANAGEMENT AND TELECOMMUNICATIONS (COMMANTEL), 2014, : 233 - 238
  • [39] Execution Time Prediction for Energy-Efficient Hardware Accelerators
    Chen, Tao
    Rucker, Alexander
    Suh, G. Edward
    PROCEEDINGS OF THE 48TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO-48), 2015, : 457 - 469
  • [40] Thread partitioning and value prediction for exploiting speculative thread-level parallelism
    Marcuello, P
    González, A
    Tubella, J
    IEEE TRANSACTIONS ON COMPUTERS, 2004, 53 (02) : 114 - 125