arXiv · 1911.05866
Witnessing Secure Compilation
Abstract
Compiler optimizations are designed to improve run-time performance while preserving input-output behavior. Correctness in this sense does not necessarily preserve security: it is known that standard optimizations may break or weaken security properties that hold of the source program. This work develops a translation validation method for secure compilation. Security (hyper-)properties are expressed using automata operating over a bundle of program traces. A flexible, automaton-based refinement scheme, generalizing existing refinement methods, guarantees that the associated security property is preserved by a program transformation. In practice, the refinement relations ("security witnesses") can be generated during compilation and validated independently with a refinement checker. This process is illustrated for common optimizations. Crucially, it is not necessary to verify the compiler implementation itself, which is infeasible in practice for production compilers.
Explore related subjects
Keep this discovery
Kedar S. Namjoshi, Lucas M. Tabajara. 2019-11-14. Witnessing Secure Compilation. https://arxiv.org/abs/1911.05866
Cite the original work for its findings. Save a collection to share your selection of sources.