Secure Delivery of Program Properties through Optimizing Compilation

被引:8
作者
Vu, Son Tuan [1 ]
Heydemann, Karine [1 ]
de Grandmaison, Arnaud [2 ]
Cohen, Albert [3 ]
机构
[1] Sorbonne Univ, LIP6, CNRS, Paris, France
[2] Arm, Nice, France
[3] Google, Paris, France
来源
PROCEEDINGS OF THE 29TH INTERNATIONAL CONFERENCE ON COMPILER CONSTRUCTION (CC '20) | 2020年
关键词
Annotation; Security; Compiler; Optimization; LLVM;
D O I
10.1145/3377555.3377897
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Annotations and assertions capturing static program properties are ubiquitous, from robust software engineering to safety-critical or secure code. These may be functional or non-functional properties of control and data flow, memory usage, I/O and real time. We propose an approach to encode, translate, and preserve the semantics of both functional and non-functional properties along the optimizing compilation of C to machine code. The approach involves (1) capturing and translating source-level properties through lowering passes and intermediate representations, such that data and control flow optimizations will preserve their consistency with the transformed program, and (2) carrying properties and their translation as debug information down to machine code. Our experiments using LLVM validate the soundness, expressiveness and efficiency of the approach, considering a reference suite of functional properties as well as established security properties and applications hardened against side-channel attacks.
引用
收藏
页码:14 / 26
页数:13
相关论文
共 60 条
  • [1] Abadi M, 1998, LECT NOTES COMPUT SC, V1443, P868, DOI 10.1007/BFb0055109
  • [2] On Protection by Layout Randomization
    Abadi, Martin
    Plotkin, Gordon D.
    [J]. ACM TRANSACTIONS ON INFORMATION AND SYSTEM SECURITY, 2012, 15 (02)
  • [3] Abadi Martin, 2005, P 12 ACM C COMPUTER, P340
  • [4] Journey Beyond Full Abstraction Exploring Robust Property Preservation for Secure Compilation
    Abate, Carmine
    Blanco, Roberto
    Garg, Deepak
    Hritcu, Catalin
    Patrignani, Marco
    Thibault, Jeremy
    [J]. 2019 IEEE 32ND COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF 2019), 2019, : 256 - 271
  • [5] Abate Carmine, 2018, ARXIV180704603
  • [6] Akkar M.-L., 2001, Cryptographic Hardware and Embedded Systems - CHES 2001. Third International Workshop. Proceedings (Lecture Notes in Computer Science Vol.2162), P309
  • [7] [Anonymous], 2011, 98992011 ISO IEC
  • [8] [Anonymous], 2007, BYTE ORIENTED AES 25
  • [9] ARM, 2019, ARM FAST MOD
  • [10] WYSINWYX: What You See Is Not What You eXecute
    Balakrishnan, Gogul
    Reps, Thomas
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2010, 32 (06):