Securing Compilation Against Memory Probing

被引:10
作者
Besson, Frederic [1 ]
Dang, Alexandre [1 ]
Jensen, Thomas [1 ]
机构
[1] Univ Rennes, INRIA, CNRS, IRISA, Rennes, France
来源
PLAS'18: PROCEEDINGS OF THE 13TH WORKSHOP ON PROGRAMMING LANGUAGES AND ANALYSIS FOR SECURITY | 2018年
关键词
Secure Compilation; Side-channels; Dead Store Elimination; Register Allocation; Information-flow Preservation; DECLASSIFICATION;
D O I
10.1145/3264820.3264822
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A common security recommendation is to reduce the in-memory lifetime of secret values, in order to reduce the risk that an attacker can obtain secret data by probing memory. To mitigate this risk, secret values can be overwritten, at source level, after their last use. The problem we address here is how to ensure that a compiler preserve these mitigation efforts and thus that secret values are not easier to obtain at assembly level than at source level. We propose a formal definition of Information Flow Preserving program Transformations in which we model the information leak of a program using the notion of Attacker Knowledge. Program transformations are validated by relating the knowledge of the attacker before and after the transformation. We consider two classic compiler passes (Dead Store Elimination and Register Allocation) and show how to validate and, if needed, modify these transformations in order to be information flow preserving.
引用
收藏
页码:29 / 40
页数:12
相关论文
共 23 条
[1]   Gradual release: Unifying declassification, encryption and key release policies [J].
Askarov, Aslan ;
Sabelfeld, Andrei .
2007 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, PROCEEDINGS, 2007, :207-+
[2]  
Barthe Gilles, 2018, P 31 COMP SEC FDN S
[3]   A static analyzer for large safety-critical software [J].
Blanchet, B ;
Cousot, P ;
Cousot, R ;
Feret, J ;
Mauborgne, L ;
Miné, A ;
Monniaux, D ;
Rival, X .
ACM SIGPLAN NOTICES, 2003, 38 (05) :196-207
[4]   Language-based information erasure [J].
Chong, S ;
Myers, AC .
18TH IEEE COMPUTER SECURITY FOUNDATIONS WORKSHOP, PROCEEDINGS, 2005, :241-254
[5]   End-to-end enforcement of erasure and declassification [J].
Chong, Stephen ;
Myers, Andrew C. .
CSF 2008: 21ST IEEE COMPUTER SECURITY FOUNDATIONS SYMPOSIUM, PROCEEDINGS, 2008, :98-111
[6]   The Correctness-Security Gap in Compiler Optimization [J].
D'Silva, Vijay ;
Payer, Mathias ;
Song, Dawn .
2015 IEEE SECURITY AND PRIVACY WORKSHOPS (SPW), 2015, :73-87
[7]   Securing a Compiler Transformation [J].
Deng, Chaoqiang ;
Namjoshi, Kedar S. .
STATIC ANALYSIS, (SAS 2016), 2016, 9837 :170-188
[8]   Iterated register coalescing [J].
George, L ;
Appel, AW .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1996, 18 (03) :300-324
[9]  
Huang YQ, 2006, LECT NOTES COMPUT SC, V4134, P281
[10]  
Hunt S, 2008, LECT NOTES COMPUT SC, V4960, P239