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 条
  • [21] Context-Sensitive Relevancy Analysis for Efficient Symbolic Execution
    Li, Xin
    Shannon, Daryl
    Ghosh, Indradeep
    Ogawa, Mizuhito
    Rajan, Sreeranga P.
    Khurshid, Sarfraz
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2008, 5356 : 36 - +
  • [22] Efficient Data-Race Detection with Dynamic Symbolic Execution
    Ibing, Andreas
    PROCEEDINGS OF THE 2016 FEDERATED CONFERENCE ON COMPUTER SCIENCE AND INFORMATION SYSTEMS (FEDCSIS), 2016, 8 : 1719 - 1726
  • [23] Efficient execution of aggregation queries over encrypted relational databases
    Hacigümüs, H
    Iyer, B
    Mehrotra, S
    DATABASE SYSTEMS FOR ADVANCED APPLICATIONS, 2004, 2973 : 125 - 136
  • [24] Efficient Observability-based Test Generation by Dynamic Symbolic Execution
    You, Dongjiang
    Rayadurgam, Sanjai
    Whalen, Michael
    Heimdahl, Mats P. E.
    Gay, Gregory
    2015 IEEE 26TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2015, : 228 - 238
  • [25] Compatible Branch Coverage Driven Symbolic Execution for Efficient Bug Finding
    Yi, Qiuping
    Yu, Yifan
    Yang, Guowei
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (PLDI):
  • [26] Efficient Testing of Concurrent Programs with Abstraction-Guided Symbolic Execution
    Rungta, Neha
    Mercer, Eric G.
    Visser, Willem
    MODEL CHECKING SOFTWARE, 2009, 5578 : 174 - +
  • [27] Demo abstract: Integrating symbolic execution with sensornet simulation for efficient bug finding
    Swedish Institute of Computer Science, Sweden
    不详
    SenSys - Proc. ACM Conf. Embedded Networked Sens. Syst., (383-384):
  • [28] SeeWasm: An Efficient and Fully-Functional Symbolic Execution Engine for WebAssembly Binaries
    He, Ningyu
    Zhao, Zhehao
    Guan, Hanqin
    Wang, Jikai
    Peng, Shuo
    Li, Ding
    Wang, Haoyu
    Chen, Xiangqun
    Guo, Yao
    PROCEEDINGS OF THE 33RD ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2024, 2024, : 1816 - 1820
  • [29] SMARTEST: Effectively Hunting Vulnerable Transaction Sequences in Smart Contracts through Language Model-Guided Symbolic Execution
    So, Sunbeom
    Hong, Seongjoon
    Oh, Hakjoo
    PROCEEDINGS OF THE 30TH USENIX SECURITY SYMPOSIUM, 2021, : 1361 - 1378
  • [30] Java']Java Ranger: Statically Summarizing Regions for Efficient Symbolic Execution of Java']Java
    Sharma, Vaibhav
    Hussein, Soha
    Whalen, Michael W.
    McCamant, Stephen
    Visser, Willem
    PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20), 2020, : 123 - 134