Formal approaches to secure compilation: A survey of fully abstract compilation and related work
Secure compilation is a discipline aimed at develo** compilers that preserve the security
properties of the source programs they take as input in the target programs they produce as …
properties of the source programs they take as input in the target programs they produce as …
Formal verification of a constant-time preserving C compiler
Timing side-channels are arguably one of the main sources of vulnerabilities in
cryptographic implementations. One effective mitigation against timing side-channels is to …
cryptographic implementations. One effective mitigation against timing side-channels is to …
Mswasm: Soundly enforcing memory-safe execution of unsafe code
Most programs compiled to WebAssembly (Wasm) today are written in unsafe languages
like C and C++. Unfortunately, memory-unsafe C code remains unsafe when compiled to …
like C and C++. Unfortunately, memory-unsafe C code remains unsafe when compiled to …
Preservation of speculative constant-time by compilation
Compilers often weaken or even discard software-based countermeasures commonly used
to protect programs against side-channel attacks; worse, they may also introduce …
to protect programs against side-channel attacks; worse, they may also introduce …
Expressing information flow properties
Industries and governments are increasingly compelled by regulations and public pressure
to handle sensitive information responsibly. Regulatory requirements and user expectations …
to handle sensitive information responsibly. Regulatory requirements and user expectations …
Exorcising spectres with secure compilers
ttackers can access sensitive information of programs by exploiting the side-effects of
speculatively-executed instructions using Spectre attacks. To mitigate these attacks, popular …
speculatively-executed instructions using Spectre attacks. To mitigate these attacks, popular …
StkTokens: Enforcing well-bracketed control flow and stack encapsulation using linear capabilities
We propose and study StkTokens: a new calling convention that provably enforces well-
bracketed control flow and local state encapsulation on a capability machine. The calling …
bracketed control flow and local state encapsulation on a capability machine. The calling …
The next 700 relational program logics
K Maillard, C Hriţcu, E Rivas… - Proceedings of the ACM on …, 2019 - dl.acm.org
We propose the first framework for defining relational program logics for arbitrary monadic
effects. The framework is embedded within a relational dependent type theory and is highly …
effects. The framework is embedded within a relational dependent type theory and is highly …
Provably secure isolation for interruptible enclaved execution on small microprocessors
Computer systems often provide hardware support for isolation mechanisms like privilege
levels, virtual memory, or enclaved execution. Over the past years, several successful …
levels, virtual memory, or enclaved execution. Over the past years, several successful …
When good components go bad: Formally secure compilation despite dynamic compromise
We propose a new formal criterion for evaluating secure compilation schemes for unsafe
languages, expressing end-to-end security guarantees for software components that may …
languages, expressing end-to-end security guarantees for software components that may …