"A Logic of Programs with Interface-Confined Code"
Title | "A Logic of Programs with Interface-Confined Code" |
Publication Type | Conference Paper |
Year of Publication | 2015 |
Authors | Jia, L., Sen, S., Garg, D., Datta, A. |
Conference Name | 2015 IEEE 28th Computer Security Foundations Symposium |
ISBN Number | 978-1-4673-7538-2 |
Keywords | adversary-supplied code, Cognition, Computational modeling, hypervisors, Instruction sets, interface confinement, interface-confined code, Memoir design, program logic, pubcrawl170106, Radiation detectors, Safety, safety properties, sandbox, security-critical systems, Semantics, source code (software), Standards, step-indexed model, System M program logic, Trusted Computing, trusted computing system, untrusted code, Web browsers |
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. |
URL | http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7243751&isnumber=7243713 |
DOI | 10.1109/CSF.2015.38 |
Citation Key | jia_logic_2015 |
- safety properties
- Web browsers
- untrusted code
- trusted computing system
- Trusted Computing
- System M program logic
- step-indexed model
- standards
- source code (software)
- Semantics
- security-critical systems
- sandbox
- adversary-supplied code
- Safety
- Radiation detectors
- pubcrawl170106
- program logic
- Memoir design
- interface-confined code
- interface confinement
- Instruction sets
- hypervisors
- Computational modeling
- cognition