Open AccessPosted Content
System M: A Program Logic for Code Sandboxing and Identification
TL;DR: System M is a new program logic for reasoning about security-sensitive applications that extends Hoare Type Theory to trace safety properties and contains two new reasoning principles, which are illustrated by verifying the main integrity property of the design of Memoir, a previously proposed trusted computing system for ensuring state continuity of isolated security- sensitive applications.
read more
Abstract: : Security-sensitive applications that execute untrusted code often check the codes 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 computations sandbox. We prove the sound-ness 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 system for ensuring state continuity of isolated security-sensitive applications.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
References
Proof-carrying code
George C. Necula
- 01 Jan 1997
TL;DR: It is shown in this paper how proof-carrying code might be used to develop safe assembly-language extensions of ML programs and the adequacy of concrete representations for the safety policy, the safety proofs, and the proof validation is proved.
1.9K
Proving the Correctness of Multiprocess Programs
TL;DR: The inductive assertion method is generalized to permit formal, machine-verifiable proofs of correctness for multiprocess programs, represented by ordinary flowcharts, and no special synchronization mechanisms are assumed.
•Book
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Leslie Lamport
- 19 Jul 2002
TL;DR: This book will teach you how to write specifications of computer systems, using the language TLA+, which is a simple variant of Pnueli's original logic.
An axiomatic proof technique for parallel programs I
Susan S. Owicki,David Gries +1 more
TL;DR: Hoare's deductive system for proving partial correctness of sequential programs is extended to include the parallelism described by the language, and the proof method lends insight into how one should understand and present parallel programs.
Tentative steps toward a development method for interfering programs
TL;DR: In this paper, extensions to the specification method based on postconditions that are predicates of two states and the development methods of operation decomposition and data refinement are proposed for the rigorous development of interfering programs.
670