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
基金
欧盟地平线“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 条
  • [1] Relational Symbolic Execution
    Farina, Gian Pietro
    Chong, Stephen
    Gaboardi, Marco
    PROCEEDINGS OF THE 21ST INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING (PPDP 2019), 2019,
  • [2] Coupled Relational Symbolic Execution for Differential Privacy
    Farina, Gian Pietro
    Chong, Stephen
    Gaboardi, Marco
    PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2021, 2021, 12648 : 207 - 233
  • [3] BINSEC/REL: Efficient Relational Symbolic Execution for Constant-Time at Binary-Level
    Daniel, Lesly-Ann
    Bardin, Sebastien
    Rezk, Tamara
    2020 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP 2020), 2020, : 1021 - 1038
  • [4] Efficient Loop Navigation for Symbolic Execution
    Obdrzalek, Jan
    Trtik, Marek
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, 2011, 6996 : 453 - 462
  • [5] Efficient State Merging in Symbolic Execution
    Kuznetsov, Volodymyr
    Kinder, Johannes
    Bucur, Stefan
    Candea, George
    ACM SIGPLAN NOTICES, 2012, 47 (06) : 193 - 204
  • [6] Efficient and formal generalized symbolic execution
    Xianghua Deng
    Jooyong Lee
    Automated Software Engineering, 2012, 19 : 233 - 301
  • [7] Efficient symbolic execution for software testing
    Kinder, Johannes
    2014 FORMAL METHODS IN COMPUTER-AIDED DESIGN (FMCAD), 2014, : 5 - 5
  • [8] Efficient and formal generalized symbolic execution
    Deng, Xianghua
    Lee, Jooyong
    Robby
    AUTOMATED SOFTWARE ENGINEERING, 2012, 19 (03) : 233 - 301
  • [9] Selective Symbolization Based Efficient Symbolic Execution
    Liu, Yang
    Zhang, Guofeng
    Chen, Zhenbang
    Shuai, Ziqi
    2021 21ST INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY COMPANION (QRS-C 2021), 2021, : 1169 - 1170
  • [10] Exploiting Undefined Behaviors for Efficient Symbolic Execution
    Sharma, Asankhaya
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014), 2014, : 727 - 729