Secure Composition of Robust and Optimising Compilers

07/17/2023
by   Matthis Kruse, et al.
0

To ensure that secure applications do not leak their secrets, they are required to uphold several security properties such as spatial and temporal memory safety as well as cryptographic constant time. Existing work shows how to enforce these properties individually, in an architecture-independent way, by using secure compiler passes that each focus on an individual property. Unfortunately, given two secure compiler passes that each preserve a possibly different security property, it is unclear what kind of security property is preserved by the composition of those secure compiler passes. This paper is the first to study what security properties are preserved across the composition of different secure compiler passes. Starting from a general theory of property composition for security-relevant properties (such as the aforementioned ones), this paper formalises a theory of composition of secure compilers. Then, it showcases this theory a secure multi-pass compiler that preserves the aforementioned security-relevant properties. Crucially, this paper derives the security of the multi-pass compiler from the composition of the security properties preserved by its individual passes, which include security-preserving as well as optimisation passes. From an engineering perspective, this is the desirable approach to building secure compilers.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/18/2019

Exorcising Spectres with Secure Compilers

Speculative execution has been demonstrated to leak information about ex...
research
04/02/2018

Robustly Safe Compilation or, Efficient, Provably Secure Compilation

Secure compilers generate compiled code that withstands many target- lev...
research
07/04/2019

Security Implications Of Compiler Optimizations On Cryptography -- A Review

When implementing secure software, developers must ensure certain requir...
research
07/01/2019

Verifying that a compiler preserves concurrent value-dependent information-flow security

It is common to prove by reasoning over source code that programs do not...
research
10/27/2020

Verified Secure Compilation for Mixed-Sensitivity Concurrent Programs

Proving only over source code that programs do not leak sensitive data l...
research
02/25/2023

A Bottom-Up Approach to a Unified Semantic Interface for Verified Compositional Compilation

Verified compositional compilation (VCC) is a notion of modular verifica...
research
08/23/2019

Building Critical Applications using Microservices

Microservices - combined with secure containers - facilitate new ways to...

Please sign up or login with your details

Forgot password? Click here to reset