Evict+Spec+Time: Exploiting Out-of-Order Execution to Improve Cache-Timing Attacks

被引:0
作者
Cheng, Shing Hing William [1 ]
Chuengsatiansup, Chitchanok [2 ]
Genkin, Daniel [3 ]
McNeil, Dallas [1 ]
Murray, Toby [2 ]
Yarom, Yuval [4 ]
Zhang, Zhiyuan [2 ]
机构
[1] University of Adelaide, Adelaide
[2] University of Melbourne, Melbourne
[3] Georgia Tech, Atlanta
[4] Ruhr University Bochum, Bochum
来源
IACR Transactions on Cryptographic Hardware and Embedded Systems | 2024年 / 2024卷 / 03期
基金
澳大利亚研究理事会; 美国国家科学基金会;
关键词
AES; Cache-timing attacks; out-of-order execution;
D O I
10.46586/tches.v2024.i3.224-248
中图分类号
学科分类号
摘要
Speculative out-of-order execution is a strategy of masking execution latency by allowing younger instructions to execute before older instructions. While originally considered to be innocuous, speculative out-of-order execution was brought into the spotlight with the 2018 publication of the Spectre and Meltdown attacks. These attacks demonstrated that microarchitectural side channels can leak sensitive data accessed by speculatively executed instructions that are not part of the normal program execution. Since then, a significant effort has been vested in investigating how microarchitectural side channels can leak data from speculatively executed instructions and how to control this leakage. However, much less is known about how speculative out-of-order execution affects microarchitectural side-channel attacks. In this paper, we investigate how speculative out-of-order execution affects the Evict+ Time cache attack. Evict+Time is based on the observation that cache misses are slower than cache hits, hence by measuring the execution time of code, an attacker can determine if a cache miss occurred during the execution. We demonstrate that, due to limited resources for tracking out-of-order execution, under certain conditions an attacker can gain more fine-grained information and determine whether a cache miss occurred in part of the executed code. Based on the observation, we design the Evict+Spec+Time attack, a variant of Evict+ Time that can learn not only whether a cache miss occurred, but also in which part of the victim code it occurred. We demonstrate that Evict+Spec+Time is an order of magnitude more efficient than Evict+Time when attacking a T-tables-based implementation of AES. We further show an Evict+Spec+Time attack on an S-box-based implementation of AES, recovering the key with as little as 14 815 decryptions. To the best of our knowledge, ours is the first successful Evict+Time attack on such a victim. © 2024, Ruhr-University of Bochum. All rights reserved.
引用
收藏
页码:224 / 248
页数:24
相关论文
共 2 条
  • [1] Symbolic Predictive Cache Analysis for Out-of-Order Execution
    Huang, Zunchen
    Wang, Chao
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2022, 2022, 13241 : 163 - 183
  • [2] Exposing Cache Timing Side-Channel Leaks through Out-of-Order Symbolic Execution
    Guo, Shengjian
    Chen, Yueqi
    Yu, Jiyong
    Wu, Meng
    Zuo, Zhiqiang
    Li, Peng
    Cheng, Yueqiang
    Wang, Huibo
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (04):