TrustVisor: Efficient TCB Reduction and Attestation Jonathan M

Slides:



Advertisements
Similar presentations
Confidential 1 Phoenix Security Architecture and DevID July 2005 Karen Zelenko Phoenix Technologies.
Advertisements

Content Overview Virtual Disk Port to Intel platform
Ian Pratt SVP, Products Bromium Inc.
Cobalt: Separating content distribution from authorization in distributed file systems Kaushik Veeraraghavan Andrew Myrick Jason Flinn University of Michigan.
Vpn-info.com.
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Virtualization and Cloud Computing. Definition Virtualization is the ability to run multiple operating systems on a single physical system and share the.
Dancing with Giants: Wimpy Kernels for On-demand Isolated I/O Presenter: Probir Roy Computer Science Department College of William & Mary.
1 Privacy Enhancing Technologies Elaine Shi Lecture 5 Trusted Computing.
Chapter 6 Security Kernels.
Computer Science HyperSentry: Enabling Stealthy In-context Measurement of Hypervisor Integrity Ahmed M. Azab, Peng Ning, Zhi Wang, Xuxian Jiang North Carolina.
1 OS Structure, Processes & Process Management. 2 Recap OS functions  Coordinator  Protection  Communication  Resource management  Service provider.
1 Minimal TCB Code Execution Jonathan McCune, Bryan Parno, Adrian Perrig, Michael Reiter, and Arvind Seshadri Carnegie Mellon University May 22, 2007.
1 Bootstrapping Trust in a “Trusted” Platform Carnegie Mellon University November 11, 2008 Bryan Parno.
Trusted Platform Modules: Building a Trusted Software Stack and Remote Attestation Dane Brandon, Hardeep Uppal CSE551 University of Washington.
Sony White House Anthem Lockheed Aramco Bushehr nuclear reactor NSA Hacked Facebook Hacked Apple,Google,Microsoft,
1 How Low Can You Go? Recommendations for Hardware- Supported Minimal TCB Code Execution Bryan Parno Arvind Seshadri Adrian Perrig Carnegie Mellon University.
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE USC CSci599 Trusted Computing Lecture Three.
Embedded Real-time Systems The Linux kernel. The Operating System Kernel Resident in memory, privileged mode System calls offer general purpose services.
1 Flicker: An Execution Infrastructure for TCB Minimization April 4, 2008 Jonathan McCune 1, Bryan Parno 1, Adrian Perrig 1, Michael Reiter 2, and Hiroshi.
Figure 1.1 Interaction between applications and the operating system.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Bootstrapping Trust in Commodity Computers Bryan Parno, Jonathan McCune, Adrian Perrig 1 Carnegie Mellon University.
Virtual Machines Xen and Terra Rajan Palanivel. Xen and Terra : Papers Xen and the art of virtualization. -Univ. of Cambridge Terra: A VM based platform.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Jakub Szefer, Eric Keller, Ruby B. Lee Jennifer Rexford Princeton University CCS October, 2011 報告人:張逸文.
1 Operating System Overview Chapter 2 Advanced Operating System.
Trusted Computing BY: Sam Ranjbari Billy J. Garcia.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
CS533 Concepts of Operating Systems Jonathan Walpole.
Kenichi Kourai (Kyushu Institute of Technology) Takuya Nagata (Kyushu Institute of Technology) A Secure Framework for Monitoring Operating Systems Using.
Trusted Computing Platform Alliance
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Extending user controlled security domain.
Operating System Support for Virtual Machines Samuel T. King, George W. Dunlap,Peter M.Chen Presented By, Rajesh 1 References [1] Virtual Machines: Supporting.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 An Enterprise Computational System Built on the Optimization Services (OS) Framework and Standards Jun.
Architecture for Protecting Critical Secrets in Microprocessors Ruby Lee Peter Kwan Patrick McGregor Jeffrey Dwoskin Zhenghong Wang Princeton Architecture.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
An approach to on the fly activation and deactivation of virtualization-based security systems Denis Efremov Pavel Iakovenko
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Trusted Computing Or How I Learned to Stop Worrying and Love the MPAA.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS Design.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS-Related Hardware.
Author: Monirul Sharif, Wenke Lee, Weidong Cui, Andrea Lanzi Reportor: Chun-Chih Wu Advisor: Hsing-Kuo Pao Select: CCS09’
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Reducing Trust Domain with TXT Daniel De Graaf. TXT overview Original TPM – Static Root of Trust – BIOS, all boot ROMs, bootloader, hypervisor, OS TPM.
02/09/2010 Industrial Project Course (234313) Virtualization-aware database engine Final Presentation Industrial Project Course (234313) Virtualization-aware.
Improving Xen Security through Disaggregation Derek MurrayGrzegorz MilosSteven Hand.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Copyright © 2015 Miao Yu, Virgil D. Gligor, and Zongwei Zhou CyLab and ECE Department Carnegie Mellon University {miaoy1,
Internet2 AdvCollab Apps 1 Access Grid Vision To create virtual spaces where distributed people can work together. Challenges:
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Improving the Reliability of Commodity Operating Systems Michael M. Swift, Brian N. Bershad, Henry M. Levy Presented by Ya-Yun Lo EECS 582 – W161.
1 Information Security – Theory vs. Reality , Winter Lecture 12: Trusted computing architecture (cont.), Eran Tromer Slides credit:
1 Security Architecture and Designs  Security Architecture Description and benefits  Definition of Trusted Computing Base (TCB)  System level and Enterprise.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Introduction to Operating Systems Concepts
Hardware-rooted Trust for Secure Key Management & Transient Trust
Operating System Structure
Outline What does the OS protect? Authentication for operating systems
Outline What does the OS protect? Authentication for operating systems
Secure Execution of Mutually Mistrusting Software
Virtualization Techniques
Bastion secure processor architecture
Prof. Leonardo Mostarda University of Camerino
Operating System Introduction.
Sai Krishna Deepak Maram, CS 6410
SCONE: Secure Linux Containers Environments with Intel SGX
Shielding applications from an untrusted cloud with Haven
Presentation transcript:

TrustVisor: Efficient TCB Reduction and Attestation Jonathan M TrustVisor: Efficient TCB Reduction and Attestation Jonathan M. McCune, Yanlin Li, Ning Qu, Zongwei Zhou, Anupam Datta, Virgil Gligor, Adrian Perrig May 17, 2010

Motivating Example Conscientious web server admin / dev Wants to protect most critical data SSL private key, password file, ACL, … Evaluates low-cost options Her best efforts rest on a house of cards…

Challenge: Reducing the Trusted Computing Base Hardware OS App App 1 … S Device Driver 1 2 Kernel Module l m Today’s OSes have too much power Total access to application data App may require little OS support Self-contained computation ‘S’ Trusted computing base for S includes majority of: OS, drivers, and privileged applications!!! OS Kernel (ring 0) App (ring 3)

What is S? Self-contained code in an application Data secrecy and integrity requirements General-purpose computing Some examples Manages a private key for web server or CA Manages Access Control List (ACL) Is a compute client in distributed setting Is similar to a Flicker session [McPaPeReIs2008]

Outline Motivation (done) High-Level Overview Detailed Description Prototype: Apache + SSL Limitations Summary & Conclusions

Meet TrustVisor Tiny hypervisor for isolation of code S No scheduling or Inter-Process Communication Efficient transitions between OS and S External verification of Output = S(Input) Protected storage for S OS white HW App TrustVisor S Untrusted Trusted Attestable V

External Verification: Attestation What code are you running? Verifier Target TrustVisor S Inputs Outputs Sign ( ) , K-1 KTPM, K-1 Trust in attestation rooted in hardware TPM (Trusted Platform Module) SSL-enabled web server scenario: Client can evaluate server before sending data Enables more meaningful SSL server validation

… OS Protected Storage Initially, S is “red” (untrusted) App can register S  “blue” (attestable) TV enables “blue” code to protect data… Access-controlled by identity of S (hash) Enabled by TPM-like Sealed Storage “Micro-TPM” in software App 1 … App n S OS TrustVisor S μTPM

Alternative Approaches TrustVisor runtime TCB in lines of code: ~6500 C/ASM + ~2800 Headers Hypervisor + crypto Metric Approach TCB Size (LoC) Protection granularity Performance Monolithic kernel millions – best Virtualization VM good Virtual TPM (vTPM) consistent code Overshadow etc. process Security / μ kernel ~100K moderate Flicker <1K fine poor TrustVisor <10K white white white white white white white

Outline Motivation (done) High-Level Overview (done) Detailed Description Prototype: Apache + SSL Limitations Summary & Conclusions

TrustVisor  OS Architecture Virtualizes RAM, CPU Restricts DMA Restricts TPM to Locality 1 App 1 … App n OS Device Drivers White TrustVisor TPM Driver Locality 1 Locality 2 DMA Devices (Network, Disk, USB, etc.) Hardware TPM CPU, RAM Chipset

TrustVisor  S Architecture App 1 … App n TrustVisor API Registration Invocation Micro-TPM S OS TrustVisor S μTPM S State DMA Devices (Network, Disk, USB, etc.) TPM CPU, RAM Chipset

Identifying S to TrustVisor Applications identify S via registration Page-level protection granularity Applications make “normal” function calls TrustVisor detects switch to S via traps S runs with no access to legacy OS One set of Inputs and Outputs per invocation

Sensitive Code Timeline Multiple invocations during a single registration cycle Invoke S: SSL Session Init S Complete: Session active Invoke S: SSL Session Init S Complete: Session active Initialize TrustVisor Application Starts Application Exits Unregister S Register S … S’s Runtime State Protected

Micro-TPM Design Small subset of hardware TPM operations for: Protected Storage + External Verification TPMs are optimized for cost, not speed TrustVisor implements critical-path TPM operations in software on main CPU Extend, Seal, Unseal, Quote, GetRand Reduces latency by orders of magnitude Trust in Micro-TPM still rooted in hardware TPM Infrequent TPM operations do not require virtualization

Outline Motivation (done) High-Level Overview (done) Detailed Description (done) Prototype: Apache + SSL Limitations Summary & Conclusions

Example App: Apache + SSL Goal: Protect long-term private key KSSL-1 Cert revocation is abysmal in practice Desired properties Malware, malicious admin unable to learn KSSL-1 Externally verifiable configuration Two sensitive code modules (S) S1: Generate and seal the long-term key (rare) S2: Unseal and use the key during SSL session establishment (frequent)

Apache + SSL Performance ‘ab’ with 10,000 txns / trial, avg 10 trials Memory Virt. Context Switching Normalized to Vanilla Linux (higher is better) 200 Concurrent Transactions

Outline Motivation (done) High-Level Overview (done) Detailed Description (done) Prototype: Apache + SSL (done) Limitations Summary & Conclusions

Limitations Design-level Prototype-level Does not currently provide trusted path to user Requires application awareness Prototype-level No SMP support (currently single CPU) Only protects KSSL-1 Executable code for S must be proactively paged into memory before registration AMD-only

Summary & Conclusions Tiny hypervisor to support isolation Externally verifiable via attestation Frequent TPM operations in software Compelling performance argument Requires no OS changes Conclusions Interesting point in the design space Foundation for future trustworthy systems

Q & A Thank you! jonmccune@cmu.edu http://www.ece.cmu.edu/~jmmccune