Securing Optimized Code Against Power Side Channels

被引:0
|
作者
Tsoupidi, Rodothea Myrsini [1 ]
Lozano, Roberto Casta Neda
Troubitsyna, Elena [1 ]
Papadimitratos, Panagiotis [1 ]
机构
[1] Royal Inst Technol KTH, Stockholm, Sweden
关键词
compilation; power side-channel attacks; code optimization; software masking; constraint programming;
D O I
10.1109/CSF57540.2023.00016
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Side-channel attacks impose a serious threat to cryptographic algorithms, including widely employed ones, such as AES and RSA. These attacks take advantage of the algorithm implementation in hardware or software to extract secret information via side channels. Software masking is a mitigation approach against power side-channel attacks aiming at hiding the secret-revealing dependencies from the power footprint of a vulnerable implementation. However, this type of software mitigation often depends on general-purpose compilers, which do not preserve non-functional properties. Moreover, microarchitectural features, such as the memory bus and register reuse, may also leak secret information. These abstractions are not visible at the high-level implementation of the program. Instead, they are decided at compile time. To remedy these problems, security engineers often sacrifice code efficiency by turning off compiler optimization and/or performing local, post-compilation transformations. This paper proposes Secure by Construction Code Generation (SecCG), a constraint-based compiler approach that generates optimized yet protected against power side channels code. SecCG controls the quality of the mitigated program by efficiently searching the best possible low-level implementation according to a processor cost model. In our experiments with twelve masked cryptographic functions up to 100 lines of code on Mips32 and ARM Thumb, SecCG speeds up the generated code from 77% to 6.6 times compared to non-optimized secure code with an overhead of up to 13% compared to non-secure optimized code at the expense of a high compilation cost. For security and compiler researchers, this paper proposes a formal model to generate power side channel free low-level code. For software engineers, SecCG provides a practical approach to optimize performance critical and vulnerable cryptographic implementations that preserve security properties against power side channels.
引用
收藏
页码:340 / 355
页数:16
相关论文
共 50 条
  • [1] Securing Sensor Nodes Against Side Channel Attacks
    Pongaliur, Kanthakumar
    Abraham, Zubin
    Liu, Alex X.
    Xiao, Li
    Kempel, Leo
    11TH IEEE HIGH ASSURANCE SYSTEMS ENGINEERING SYMPOSIUM, PROCEEDINGS, 2008, : 353 - +
  • [2] Hurdle: Securing Jump Instructions Against Code Reuse Attacks
    DeLozier, Christian
    Lakshminarayanan, Kavya
    Pokam, Gilles
    Devietti, Joseph
    TWENTY-FIFTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS XXV), 2020, : 653 - 666
  • [3] Securing Verified IO Programs Against Unverified Code in F☆
    Andrici, Cezar-Constantin
    Ciobaca, Stefan
    Hritcu, Catalin
    Martinez, Guido
    Rivas, Exequiel
    Tanter, Eric
    Winterhalter, Theo
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (POPL):
  • [4] Securing Data Center Against Power Attacks
    Rajesh JS
    Chidhambaranathan Rajamanikkam
    Koushik Chakraborty
    Sanghamitra Roy
    Journal of Hardware and Systems Security, 2019, 3 (2) : 177 - 188
  • [5] Securing Binary Code
    Hawkins, William
    Hiser, Jason D.
    Anh Nguyen-Tuong
    Co, Michele
    Davidson, Jack W.
    IEEE SECURITY & PRIVACY, 2017, 15 (06) : 77 - 81
  • [6] Dachshund: Digging for and Securing Against (Non-)Blinded Constants in JIT Code
    Maisuradze, Giorgi
    Backes, Michael
    Rossow, Christian
    24TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2017), 2017,
  • [7] Mitigating Power Side Channels during Compilation
    Wang, Jingbo
    Sung, Chungha
    Wang, Chao
    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, : 590 - 601
  • [8] Securing Software Cryptographic Primitives for Embedded Systems against Side Channel Attacks
    Agosta, Giovanni
    Barenghi, Alessandro
    Pelosi, Gerardo
    2014 INTERNATIONAL CARNAHAN CONFERENCE ON SECURITY TECHNOLOGY (ICCST), 2014,
  • [9] The MEET Approach: Securing Cryptographic Embedded Software Against Side Channel Attacks
    Agosta, Giovanni
    Barenghi, Alessandro
    Pelosi, Gerardo
    Scandale, Michele
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2015, 34 (08) : 1320 - 1333
  • [10] Securing designs against scan-based side-channel attacks
    Lee, Jeremy
    Tehranipoor, Mohammad
    Patel, Chintan
    Plusquellic, Jim
    IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2007, 4 (04) : 325 - 336