Reconciling Optimization with Secure Compilation

被引:3
|
作者
Son Tuan Vu [1 ]
Cohen, Albert [2 ]
De Grandmaison, Arnaud [3 ]
Guillon, Christophe [4 ]
Heydemann, Karine [1 ]
机构
[1] Sorbonne Univ, CNRS, LIP6, 4 Pl Jussieu, F-75252 Paris, France
[2] Google, Paris, France
[3] Arm, Paris, France
[4] STMicroelectronics, Grenoble, France
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2021年 / 5卷
关键词
compilation; security; optimization; debugging; LLVM;
D O I
10.1145/3485519
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software protections against side-channel and physical attacks are essential to the development of secure applications. Such protections are meaningful at machine code or micro-architectural level, but they typically do not carry observable semantics at source level. This renders them susceptible to miscompilation, and security engineers embed input/output side-effects to prevent optimizing compilers from altering them. Yet these side-effects are error-prone and compiler-dependent. The current practice involves analyzing the generated machine code to make sure security or privacy properties are still enforced. These side-effects may also be too expensive in fine-grained protections such as control-flow integrity. We introduce observations of the program state that are intrinsic to the correct execution of security protections, along with means to specify and preserve observations across the compilation flow. Such observations complement the input/output semantics-preservation contract of compilers. We introduce an opacification mechanism to preserve and enforce a partial ordering of observations. This approach is compatible with a production compiler and does not incur any modification to its optimization passes. We validate the effectiveness and performance of our approach on a range of benchmarks, expressing the secure compilation of these applications in terms of observations to be made at specific program points.
引用
收藏
页数:30
相关论文
共 50 条
  • [21] The Research of Compilation Optimization on Software Defect Prediction
    Chen Y.
    Xu C.
    He Y.-X.
    Shen F.-F.
    Tien Tzu Hsueh Pao/Acta Electronica Sinica, 2021, 49 (02): : 216 - 224
  • [22] Designing an Open Framework for Query Optimization and Compilation
    Jungmair, Michael
    Kohn, Andre
    Giceva, Jana
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2022, 15 (11): : 2389 - 2401
  • [23] Automatic Mapping and Optimization to Kokkos with Polyhedral Compilation
    Baskaran, Muthu
    Jin, Charles
    Meister, Benoit
    Springer, Jonathan
    2020 IEEE HIGH PERFORMANCE EXTREME COMPUTING CONFERENCE (HPEC), 2020,
  • [24] Reconciling Resource Abstraction, Allocation and Routing Optimization
    Papadimitriou, Dimitri
    Colle, Didier
    Demeester, Piet
    2016 IEEE GLOBAL COMMUNICATIONS CONFERENCE (GLOBECOM), 2016,
  • [25] OPERATIONAL-AMPLIFIER COMPILATION WITH PERFORMANCE OPTIMIZATION
    ONODERA, H
    KANBARA, H
    TAMARU, K
    IEEE JOURNAL OF SOLID-STATE CIRCUITS, 1990, 25 (02) : 466 - 473
  • [26] OPERATIONAL-AMPLIFIER COMPILATION WITH PERFORMANCE OPTIMIZATION
    ONODERA, H
    KANBARA, H
    TAMARU, K
    PROCEEDINGS OF THE IEEE 1989 CUSTOM INTEGRATED CIRCUITS CONFERENCE, 1989, : 487 - 492
  • [27] KNOWLEDGE COMPILATION TO SPEED UP NUMERICAL OPTIMIZATION
    CERBONE, G
    DIETTERICH, TG
    LECTURE NOTES IN ARTIFICIAL INTELLIGENCE, 1991, 549 : 208 - 217
  • [28] Journey Beyond Full Abstraction Exploring Robust Property Preservation for Secure Compilation
    Abate, Carmine
    Blanco, Roberto
    Garg, Deepak
    Hritcu, Catalin
    Patrignani, Marco
    Thibault, Jeremy
    2019 IEEE 32ND COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF 2019), 2019, : 256 - 271
  • [29] Predictable Binary Code Cache: A First Step Towards Reconciling Predictability and Just-In-Time Compilation
    Bouakaz, Adnan
    Puaut, Isabelle
    Rohou, Erven
    17TH IEEE REAL-TIME AND EMBEDDED TECHNOLOGY AND APPLICATIONS SYMPOSIUM (RTAS 2011), 2011, : 223 - 232
  • [30] Loop optimization using hierarchical compilation and kernel decomposition
    Barthou, Denis
    Donadio, Sebastien
    Carribault, Patrick
    Duchateau, Alexandre
    Jalby, William
    CGO 2007: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2007, : 170 - +