Information-Flow Preservation in Compiler Optimisations

被引:9
作者
Besson, Frederic [1 ]
Dang, Alexandre [1 ]
Jensen, Thomas [1 ]
机构
[1] Univ Rennes, IRISA, INRIA, Rennes, France
来源
2019 IEEE 32ND COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF 2019) | 2019年
关键词
Secure compilation; Side-Channel; Information-Flow; FORMAL VERIFICATION; DECLASSIFICATION;
D O I
10.1109/CSF.2019.00023
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Correct compilers perform program transformations preserving input/output behaviours of programs. However, correctness does not prevent program optimisations from introducing information-flow leaks that would make the target program more vulnerable to side-channel attacks than the source program. To tackle this problem, we propose a notion of Information-Flow Preserving (IFP) program transformation which ensures that a target program is no more vulnerable to passive side-channel attacks than a source program. To protect against a wide range of attacks, we model an attacker who is granted arbitrary memory accesses for a pre-defined set of observation points. We propose a compositional proof principle for proving that a transformation is IFP. Using this principle, we show how a translation validation technique can be used to automatically verify and even close information-flow leaks introduced by standard compiler passes such as dead-store elimination and register allocation. The technique has been experimentally validated on the COMPCERT C compiler.
引用
收藏
页码:230 / 242
页数:13
相关论文
共 30 条
[1]  
Almeida JB, 2016, PROCEEDINGS OF THE 25TH USENIX SECURITY SYMPOSIUM, P53
[2]  
[Anonymous], 2017, COQ V 8 7
[3]   Gradual release: Unifying declassification, encryption and key release policies [J].
Askarov, Aslan ;
Sabelfeld, Andrei .
2007 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, PROCEEDINGS, 2007, :207-+
[4]   Cryptographic Enforcement of Language-Based Information Erasure [J].
Askarov, Aslan ;
Moore, Scott ;
Dimoulas, Christos ;
Chong, Stephen .
2015 IEEE 28TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM CSF 2015, 2015, :334-348
[5]   Learning is Change in Knowledge: Knowledge-based Security for Dynamic Policies [J].
Askarov, Aslan ;
Chong, Stephen .
2012 IEEE 25TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF), 2012, :308-322
[6]   Secure compilation of side-channel countermeasures: the case of cryptographic "constant-time" [J].
Barthe, Gilles ;
Gregoire, Benjamin ;
Laporte, Vincent .
IEEE 31ST COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF 2018), 2018, :328-343
[7]   Securing Compilation Against Memory Probing [J].
Besson, Frederic ;
Dang, Alexandre ;
Jensen, Thomas .
PLAS'18: PROCEEDINGS OF THE 13TH WORKSHOP ON PROGRAMMING LANGUAGES AND ANALYSIS FOR SECURITY, 2018, :29-40
[8]   Verifying Constant-Time Implementations by Abstract Interpretation [J].
Blazy, Sandrine ;
Pichardie, David ;
Trieu, Alix .
COMPUTER SECURITY - ESORICS 2017, PT I, 2018, 10492 :260-277
[9]   Language-based information erasure [J].
Chong, S ;
Myers, AC .
18TH IEEE COMPUTER SECURITY FOUNDATIONS WORKSHOP, PROCEEDINGS, 2005, :241-254
[10]   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