Verification with Small and Short Worlds Rohit Sinha, Cynthia Sturton, Petros Maniatis, Sanjit A. Seshia, David Wagner Introduction Verification of large.

Slides:



Advertisements
Similar presentations
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Advertisements

Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
Virtualization Technology
CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Appendix B. Memory Hierarchy CSCI/ EENG – W01 Computer Architecture 1 Dr. Babak Beheshti Slides based on the PowerPoint Presentations created by.
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
1 Memory Systems Virtual Memory Lecture 25 Digital Design and Computer Architecture Harris & Harris Morgan Kaufmann / Elsevier, 2007.
Systems with small trusted computing bases (TCBs) open possibility for automated security verification of systems Example: SecVisor - a 3kLOC security.
Chapter 3 Memory Management
1 Lecture 14: Virtual Memory Today: DRAM and Virtual memory basics (Sections )
Memory Management April 28, 2000 Instructor: Gary Kimura.
Virtualization and the Cloud
Vir. Mem II CSE 471 Aut 011 Synonyms v.p. x, process A v.p. y, process B v.p # index Map to same physical page Map to synonyms in the cache To avoid synonyms,
Towards High-Assurance Hypervisors Jason Franklin Joint with Anupam Datta, Sagar Chaki, Ning Qu, Arvind Seshadri.
EECS 370 Discussion 1 SMBC. EECS 370 Discussion Exam 2 Solutions posted online Will be returned in next discussion (12/9) – Grades hopefully up on CTools.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 20 October 28, 2004.
Cosc 3P92 Week 9 & 10 Lecture slides
Some VM Complications Extra memory accesses Page tables are huge
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Caltech CS184b Winter DeHon 1 CS184b: Computer Architecture [Single Threaded Architecture: abstractions, quantification, and optimizations] Day14:
G53SEC 1 Reference Monitors Enforcement of Access Control.
Operating Systems Security
Chapter 91 Logical Address in Paging  Page size always chosen as a power of 2.  Example: if 16 bit addresses are used and page size = 1K, we need 10.
Introduction to Virtual Memory and Memory Management
Full and Para Virtualization
Enforcing Executing-Implies-Verified with the Integrity-Aware Processor Michael LeMay Carl A. Gunter University of Illinois at Urbana-Champaign Modified.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Virtual Memory Review Goal: give illusion of a large memory Allow many processes to share single memory Strategy Break physical memory up into blocks (pages)
CS533 Concepts of Operating Systems Jonathan Walpole.
CS 140 Lecture Notes: Virtual MemorySlide 1 Load-Time Relocation Process 1 0 ∞ Process 3 Operating System Process 6.
CS 695 Topics in Virtualization and Cloud Computing, Autumn 2012 CS 695 Topics in Virtualization and Cloud Computing More Introduction + Processor Virtualization.
Lecture 13: Virtual Machines
Chapter 19 Translation Lookaside Buffer
Translation Lookaside Buffer
CMSC 611: Advanced Computer Architecture
MODERN OPERATING SYSTEMS Third Edition ANDREW S
CS 140 Lecture Notes: Virtual Memory
Vivek Seshadri 15740/18740 Computer Architecture
Math/CSE 1019C: Discrete Mathematics for Computer Science Fall 2012
Lecture Topics: 11/19 Paging Page tables Memory protection, validation
Section 9: Virtual Memory (VM)
143A: Principles of Operating Systems Lecture 6: Address translation (Paging) Anton Burtsev October, 2017.
Memory Hierarchy Virtual Memory, Address Translation
CSCI206 - Computer Organization & Programming
CS 140 Lecture Notes: Virtual Memory
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
FIGURE 12-1 Memory Hierarchy
Page that info back into your memory!
Andy Wang Operating Systems COP 4610 / CGS 5675
Virtual Memory فصل هشتم.
CS 140 Lecture Notes: Virtual Memory
Sarah Diesburg Operating Systems CS 3430
Exam Review Mark Stanovich Operating Systems COP
Translation Lookaside Buffer
Morgan Kaufmann Publishers Memory Hierarchy: Virtual Memory
Introduction to the Pentium’s support for “virtual” memory
Virtual Memory Overcoming main memory size limitation
Andy Wang Operating Systems COP 4610 / CGS 5675
CS533 Concepts of Operating Systems Class 15
Computer System Design Lecture 11
CS533 Concepts of Operating Systems Class 15
Lecture 23: Virtual Memory, Multiprocessors
CS703 - Advanced Operating Systems
CS 140 Lecture Notes: Virtual Memory
Synonyms v.p. x, process A v.p # index Map to same physical page
Sarah Diesburg Operating Systems COP 4610
CS703 - Advanced Operating Systems
2019 2학기 고급운영체제론 ZebRAM: Comprehensive and Compatible Software Protection Against Rowhammer Attacks 3 # 단국대학교 컴퓨터학과 # 남혜민 # 발표자.
Presentation transcript:

Verification with Small and Short Worlds Rohit Sinha, Cynthia Sturton, Petros Maniatis, Sanjit A. Seshia, David Wagner Introduction Verification of large data structures is beyond the current state of the art for finite state model checking. We present a new technique, S2W, for the verification of safety properties on large or unbounded data structures. S2W Our contribution: a semi-decision procedure for verifying property 𝚽 is an invariant of system 𝑺: 𝑺 ⊨𝔾𝚽. S2W is a three-step procedure: Standard Mathematical Induction If 𝚽 is an invariant, return True. Else, continue to step 2. Small World Create 𝑺 , a scaled down model with most data structure members abstracted away. Abstraction makes state space manageable. Short World Compute a bound 𝒌 on the reachability diameter of 𝑺 . Use bounded model checking to prove the invariant on the abstracted system: 𝑺 ⊨𝔾𝚽. Using 𝒌 as the bound for BMC makes the verification sound. Heuristics In general, computing a bound 𝒌 on the reachability diameter is undecidable for our class of systems. We develop two heuristics for computing 𝒌. Evaluation We use case studies to evaluate the practicality of using S2W for real-world applications. We successfully verify safety properties for six systems: Bochs’ TLB: Address translation optimization is correct Content Addressable Memory-based Cache: Cache optimization is correct Shadow Page Tables: Guest/host isolation SecVisor: Only approved code executes in kernel mode sHype: Chinese Wall policy is enforced ShadowVisor: Guest/host isolation Motivation Hypervisors and CPU emulators are used in a variety of security-critical applications: Cloud computing Malware analysis Hosting dangerous applications Verifying the isolation properties provided by virtualization often involves reasoning about large data structures: Page tables Translation lookaside buffers (TLB) Caches A B 232 … … … Virtual Address v-pg Page Directory Page Table p-pg 4 KB Page 31 22 21 12 11 0 TLB Look Up Figure 2. In a system with two large arrays, we might model a single entry in each array precisely and abstract away all others; the abstracted entries receive arbitrary values at each step of execution. Case Study 𝒌 Computing 𝒌 BMC Bochs’ TLB 8 steps 12 hours 23 hours CAM-based Cache 2 steps 1 second Shadow Page Tables 4 steps 1 minute 5 seconds SecVisor Verification completed with induction proof sHype ShadowVisor p-pg v-pg … … Page Table Walk Figure 1. A virtual address is translated to a physical address via the page tables. The TLB caches previously translated addresses. We verify that for any virtual address, the value p-pg returned by the TLB is equal to the value p-pg returned by the page tables.