vix.ing · top · new · best · stats · spec

Mitigating Power Side Channels during Compilation

2019/02/25 by Jingbo Wang, Wang, Jingbo, Chungha Sung +3 · 1 citation
Computer Science · #Advanced Malware Detection Techniques #Cryptographic Implementations and Security #Cryptography and Security (cs.CR) #FOS: Computer and information sciences #Programming Languages (cs.PL) #Security and Verification in Computing

paper · pdf · doi:10.48550/arxiv.1902.09099

openalex publication_date 2019/02/25 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

The code generation modules inside modern compilers such as GCC and LLVM, 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 this side channel. 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 potentially leaky intermediate computation results are always stored in different CPU registers or spilled to memory with isolation. 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.

Citations

Cited by

Related