Constant-Time Foundations for the New Spectre Era

被引:60
作者
Cauligi, Sunjay [1 ]
Disselkoen, Craig [1 ]
Gleissenthall, Klaus, V [1 ]
Tullsen, Dean [1 ]
Stefan, Deian [1 ]
Rezk, Tamara [2 ]
Barthe, Gilles [3 ,4 ]
机构
[1] Univ Calif San Diego, San Diego, CA 92093 USA
[2] INRIA Sophia Antipolis, Biot, France
[3] MPI Secur & Privacy, Bochum, Germany
[4] IMDEA Software Inst, Madrid, Spain
来源
PROCEEDINGS OF THE 41ST ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '20) | 2020年
关键词
Spectre; speculative execution; semantics; static analysis;
D O I
10.1145/3385412.3385970
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The constant-time discipline is a software-based countermeasure used for protecting high assurance cryptographic implementations against timing side-channel attacks. Constant-time is effective (it protects against many known attacks), rigorous (it can be formalized using program semantics), and amenable to automated verification. Yet, the advent of microarchitectural attacks makes constant-time as it exists today far less useful. This paper lays foundations for constant-time programming in the presence of speculative and out-of-order execution. We present an operational semantics and a formal definition of constant-time programs in this extended setting. Our semantics eschews formalization of microarchitectural features (that are instead assumed under adversary control), and yields a notion of constant-time that retains the elegance and tractability of the usual notion. We demonstrate the relevance of our semantics in two ways: First, by contrasting existing Spectre-like attacks with our definition of constant-time. Second, by implementing a static analysis tool, Pitchfork, which detects violations of our extended constant-time property in real world cryptographic libraries.
引用
收藏
页码:913 / 926
页数:14
相关论文
共 35 条
[1]  
Alglave Jade, 2009, P 4 WORKSH DECL ASP
[2]  
[Anonymous], 2018, CONSTANT TIME TOOLKI
[3]  
Arm Mbed, MBED TLS
[4]  
Balliu Musard, 2019, ARXIV191100868CSCR
[5]   System-level Non-interference for Constant-time Cryptography [J].
Barthe, Gilles ;
Betarte, Gustavo ;
Diego Campo, Juan ;
Luna, Carlos ;
Pichardie, David .
CCS'14: PROCEEDINGS OF THE 21ST ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2014, :1267-1279
[6]   Fallout: Leaking Data on Meltdown-resistant CPUs [J].
Canella, Claudio ;
Genkin, Daniel ;
Giner, Lukas ;
Gruss, Daniel ;
Lipp, Moritz ;
Minkin, Marina ;
Moghimi, Daniel ;
Piessens, Frank ;
Schwarz, Michael ;
Sunar, Berk ;
Van Bulck, Jo ;
Yarom, Yuval .
PROCEEDINGS OF THE 2019 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'19), 2019, :769-784
[7]  
Canella C, 2019, PROCEEDINGS OF THE 28TH USENIX SECURITY SYMPOSIUM, P249
[8]  
Cauligi Sunjay, 2019, 40 ACM SIGPLAN C PRO
[9]  
Cauligi Sunjay, 2019, ARXIV191001755V2
[10]  
Cauligi Sunjay, 2020, ARXIV191001755