VSL 2014: VIENNA SUMMER OF LOGIC 2014

Portable Software Fault Isolation

Authors: Joshua Kroll, Gordon Stewart and Andrew Appel

PapersPapers with AbstractsPrefaceAuthor IndexKeyword Index

Paper Information

Title:Portable Software Fault Isolation
Authors:Joshua Kroll, Gordon Stewart and Andrew Appel
Proceedings:CSF 2014 Proceedings
Editors: Anupam Datta, Cedric Fournet, Deepak Garg and Laura Kovacs
Keywords:Software Fault Isolation, Memory Safety, Verified Software
Abstract:

ABSTRACT. We present a set of novel techniques for architecture portable software fault isolation (SFI) together with a working, proved-sound prototype in the Coq proof assistant. Unlike traditional SFI, which relies on analysis of assembly-level programs, we analyze and rewrite programs in a compiler intermediate language, the Cminor language of the CompCert C compiler. But like traditional SFI, the compiler remains outside of the trusted computing base. By composing our program transformer with the verified back-end of CompCert, we can obtain binary modules that satisfy the SFI memory safety policy for any of CompCert's supported architectures (currently: PowerPC, ARM, and x86-32). This allows the same SFI analysis to be used across multiple architectures, greatly simplifying the most difficult part of deploying trustworthy SFI systems. Specifically, we prove that any program output by our transformer will be safe with respect to a modified Cminor operational semantics that respects the SFI policy. Further, we arrange that this safety extends to assembly code when our transformer is composed with CompCert. Finally, we argue that our transformer does not modify the observable behavior of safe executions in the Cminor semantics.

Pages:15
Talk:Jul 19 11:15
Paper:
Disclaimer | Powered by EasyChair Smart Program