A Logic of Programs with Interface-Confined Code

13Citations
Citations of this article
17Readers
Mendeley users who have this article in their library.

Abstract

Interface-confinement is a common mechanism that secures untrusted code by executing it inside a sandbox. The sandbox limits (confines) the code's interaction with key system resources to a restricted set of interfaces. This practice is seen in web browsers, hypervisors, and other security-critical systems. Motivated by these systems, we present a program logic, called System M, for modeling and proving safety properties of systems that execute adversary-supplied code via interface-confinement. In addition to using computation types to specify effects of computations, System M includes a novel invariant type to specify the properties of interface-confined code. The interpretation of invariant type includes terms whose effects satisfy an invariant. We construct a step-indexed model built over traces and prove the soundness of System M relative to the model. System M is the first program logic that allows proofs of safety for programs that execute adversary-supplied code without forcing the adversarial code to be available for deep static analysis. System M can be used to model and verify protocols as well as system designs. We demonstrate the reasoning principles of System M by verifying the state integrity property of the design of Memoir, a previously proposed trusted computing system.

Cite

CITATION STYLE

APA

Jia, L., Sen, S., Garg, D., & Datta, A. (2015). A Logic of Programs with Interface-Confined Code. In Proceedings of the Computer Security Foundations Workshop (Vol. 2015-September, pp. 512–525). IEEE Computer Society. https://doi.org/10.1109/CSF.2015.38

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free