Fully Abstract and Robust Compilation and How to Reconcile the Two, Abstractly
This work addresses a foundational issue in secure compilation for programming language and security researchers, offering a novel integration of criteria to enhance formal guarantees.
The paper tackled the problem of reconciling two formal criteria for secure compilation—full abstraction and robust compilation—by showing that fully abstract compilers can lead to meaningless hyperproperties and proposing a new criterion within Mathematical Operational Semantics that ensures both properties are preserved sensibly.
The most prominent formal criterion for secure compilation is full abstraction, the preservation and reflection of contextual equivalence. Recent work introduced robust compilation, defined as the preservation of robust satisfaction of hyperproperties, i.e., their satisfaction against arbitrary attackers. In this paper, we initially set out to compare these two approaches to secure compilation. To that end, we provide an exact description of the hyperproperties that are robustly satisfied by programs compiled with a fully abstract compiler, and show that they can be meaningless or trivial. We then propose a novel criterion for secure compilation formulated in the framework of Mathematical Operational Semantics (MOS), guaranteeing both full abstraction and the preservation of robust satisfaction of hyperproperties in a more sensible manner.