Hunting the Haunter - Efficient Relational Symbolic Execution for Spectre with Haunted RelSE

被引:15
|
作者
Daniel, Lesly-Ann [1 ]
Bardin, Sebastien [1 ]
Rezk, Tamara [2 ]
机构
[1] Univ Paris Saclay, List, CEA, Gif Sur Yvette, France
[2] INRIA, Rocquencourt, France
来源
28TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2021) | 2021年
基金
欧盟地平线“2020”;
关键词
D O I
10.14722/ndss.2021.24286
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Spectre are microarchitectural attacks which were made public in January 2018. They allow an attacker to recover secrets by exploiting speculations. Detection of Spectre is particularly important for cryptographic libraries and defenses at the software level have been proposed. Yet, defenses correctness and Spectre detection pose challenges due on one hand to the explosion of the exploration space induced by speculative paths, and on the other hand to the introduction of new Spectre vulnerabilities at different compilation stages. We propose an optimization, coined Haunted RelSE, that allows scalable detection of Spectre vulnerabilities at binary level. We prove the optimization semantically correct w.r.t. the more naive explicit speculative exploration approach used in state-of-the-art tools. We implement Haunted RelSE in a symbolic analysis tool, and extensively test it on a well-known litmus testset for Spectre-PHT, and on a new litmus testset for Spectre-STL, which we propose. Our technique finds more violations and scales better than state-of-the-art techniques and tools, analyzing real-world cryptographic libraries and finding new violations. Thanks to our tool, we discover that indexmasking-a standard defense for Spectre-PHT-and well-known gcc options to compile position independent executables introduce Spectre-STL violations. We propose and verify a correction to index-masking to avoid the problem.
引用
收藏
页数:17
相关论文
共 34 条
  • [31] Many-query join: efficient shared execution of relational joins on modern hardware
    Makreshanski, Darko
    Giannikis, Georgios
    Alonso, Gustavo
    Kossmann, Donald
    VLDB JOURNAL, 2018, 27 (05): : 669 - 692
  • [32] Many-query join: efficient shared execution of relational joins on modern hardware
    Darko Makreshanski
    Georgios Giannikis
    Gustavo Alonso
    Donald Kossmann
    The VLDB Journal, 2018, 27 : 669 - 692
  • [33] Efficient Generation of Error-Inducing Floating-Point Inputs via Symbolic Execution
    Guo, Hui
    Rubio-Gonzalez, Cindy
    2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), 2020, : 1261 - 1272
  • [34] An Efficient Smart Contracts Event Ordering Vulnerability Detection System Based on Symbolic Execution and Fuzz Testing
    Li, Yitao
    Cui, Baojiang
    Wang, Dongbin
    Yu, Yue
    Zhang, Can
    INNOVATIVE MOBILE AND INTERNET SERVICES IN UBIQUITOUS COMPUTING, IMIS 2024, 2024, 214 : 280 - 287