System M: A Program Logic for Code Sandboxing and Identification
Limin Jia, Shayak Sen, Deepak Garg, and Anupam Datta

TL;DR
System M is a novel program logic that extends Hoare Type Theory to reason about security applications involving code integrity and sandboxing, with formal soundness and practical verification examples.
Contribution
It introduces two new reasoning principles and internalizes logical equality within a type system for security-sensitive code verification.
Findings
Proves soundness of System M with a trace-based semantic model
Verifies integrity property of the Memoir trusted computing system
Extends Hoare Type Theory for security applications
Abstract
Security-sensitive applications that execute untrusted code often check the code's integrity by comparing its syntax to a known good value or sandbox the code to contain its effects. System M is a new program logic for reasoning about such security-sensitive applications. System M extends Hoare Type Theory (HTT) to trace safety properties and, additionally, contains two new reasoning principles. First, its type system internalizes logical equality, facilitating reasoning about applications that check code integrity. Second, a confinement rule assigns an effect type to a computation based solely on knowledge of the computation's sandbox. We prove the soundness of system M relative to a step-indexed trace-based semantic model. We illustrate both new reasoning principles of system M by verifying the main integrity property of the design of Memoir, a previously proposed trusted computing…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Advanced Malware Detection Techniques · Logic, programming, and type systems
