Mitigating Power Side Channels during Compilation

被引:20
作者
Wang, Jingbo [1 ]
Sung, Chungha [1 ]
Wang, Chao [1 ]
机构
[1] Univ Southern Calif, Los Angeles, CA 90007 USA
来源
ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING | 2019年
基金
美国国家科学基金会;
关键词
Side channel; information leak; countermeasure; power; register allocation; type inference; verification; code generation; HIGHER-ORDER MASKING; REGISTER ALLOCATION; HARDWARE; IMPLEMENTATIONS; SECURITY; THREAT; ATTACK;
D O I
10.1145/3338906.3338913
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The code generation modules inside modern compilers, which use a limited number of CPU registers to store a large number of program variables, may introduce side-channel leaks even in software equipped with state-of-the-art countermeasures. We propose a program analysis and transformation based method to eliminate such leaks. Our method has a type-based technique for detecting leaks, which leverages Datalog-based declarative analysis and domain-specific optimizations to achieve high efficiency and accuracy. It also has a mitigation technique for the compiler's backend, more specifically the register allocation modules, to ensure that leaky intermediate computation results are stored in different CPU registers or memory locations. We have implemented and evaluated our method in LLVM for the x86 instruction set architecture. Our experiments on cryptographic software show that the method is effective in removing the side channel while being efficient, i.e., our mitigated code is more compact and runs faster than code mitigated using state-of-the-art techniques.
引用
收藏
页码:590 / 601
页数:12
相关论文
共 85 条
[1]  
Agosta G, 2012, DES AUT CON, P77
[2]  
Akkar ML, 2003, LECT NOTES COMPUT SC, V2887, P192
[3]   An Overview of DRAM-Based Security Primitives [J].
Anagnostopoulos, Nikolaos Athanasios ;
Katzenbeisser, Stefan ;
Chandy, John ;
Tehranipoor, Fatemeh .
CRYPTOGRAPHY, 2018, 2 (02) :1-33
[4]  
[Anonymous], 2005, IACR Cryptol. EPrint Arch
[5]  
[Anonymous], 2014, P INT C SMART CARD R
[6]  
[Anonymous], 2019, CORR
[7]  
[Anonymous], 2017, SECURITY PROOFS EMBE
[8]  
[Anonymous], IEEE ACM INT C AUT S
[9]  
[Anonymous], INT S SOFTW TEST AN
[10]  
[Anonymous], SECURE COMPILATION P