H YPER S AFE : A L IGHTWEIGHT A PPROACH TO P ROVIDE L IFETIME H YPERVISOR C ONTROL -F LOW I NTEGRITY Self Protection for the Hypervisor.

Slides:



Advertisements
Similar presentations
Virtualization Dr. Michael L. Collard
Advertisements

Virtualisation From the Bottom Up From storage to application.
Ahmed M. Azab, Peng Ning, Zhi Wang, Xuxian Jiang Department of Computer Science, North Carolina State University Xiaolan Zhang IBM T.J. Watson Research.
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Difference Engine: Harnessing Memory Redundancy in Virtual Machines by Diwaker Gupta et al. presented by Jonathan Berkhahn.
Computer Science HyperSentry: Enabling Stealthy In-context Measurement of Hypervisor Integrity Ahmed M. Azab, Peng Ning, Zhi Wang, Xuxian Jiang North Carolina.
Chapter 6 Limited Direct Execution
InkTag: Secure Applications on an Untrusted Operating system
Memory Management 2010.
@ NCSU Zhi NCSU Xuxian Microsoft Research Weidong Microsoft NCSU Peng NCSU ACM CCS’09.
Supporting ethtool with Linux Integration Service Open Source Technology Center Microsoft.
Threads CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Jiang Wang, Joint work with Angelos Stavrou and Anup Ghosh CSIS, George Mason University HyperCheck: a Hardware Assisted Integrity Monitor.
Virtualization for Cloud Computing
Virtualization 101.
LINUX Virtualization Running other code under LINUX.
5205 – IT Service Delivery and Support
Virtualization 101.
Tanenbaum 8.3 See references
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Jakub Szefer, Eric Keller, Ruby B. Lee Jennifer Rexford Princeton University CCS October, 2011 報告人:張逸文.
Code Injection From the Hypervisor: Removing the need for in-guest agents Matt Conover Principal Software Engineer Core Research Group, Symantec Research.
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Christoffer Dall Department of Computer Science Columbia University
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Virtual Machine Security Systems Presented by Long Song 08/01/2013 Xin Zhao, Kevin Borders, Atul Prakash.
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Christoffer Dall Department of Computer Science Columbia University
8.4 paging Paging is a memory-management scheme that permits the physical address space of a process to be non-contiguous. The basic method for implementation.
1 Chapter 3.2 : Virtual Memory What is virtual memory? What is virtual memory? Virtual memory management schemes Virtual memory management schemes Paging.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
From Virtualization Management to Private Cloud with SCVMM 2012 Dan Stolts Sr. IT Pro Evangelist Microsoft Corporation
Embedded System Lab. 오명훈 Memory Resource Management in VMware ESX Server Carl A. Waldspurger VMware, Inc. Palo Alto, CA USA
C OUNTERING K ERNEL R OOTKITS WITH L IGHTWEIGHT H OOK P ROTECTION Presented by: Ruaa Abdulrahman CAP Malware and Software Vulnerability Analysis.
Presented by: Reem Alshahrani. Outlines What is Virtualization Virtual environment components Advantages Security Challenges in virtualized environments.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
Improving Xen Security through Disaggregation Derek MurrayGrzegorz MilosSteven Hand.
Security Architecture and Design Chapter 4 Part 1 Pages 297 to 319.
Operating Systems Security
VMWare MMU Ranjit Kolkar. Designed for efficient use of resources. ESX uses high-level resource management policies to compute a target memory allocation.
Security Vulnerabilities in A Virtual Environment
Full and Para Virtualization
SubVirt: Implementing malware with virtual machines Authors: Samuel T. King, Peter M. Chen University of Michigan Yi-Min Wang, Chad Verbowski, Helen J.
Protecting The Kernel Data through Virtualization Technology BY VENKATA SAI PUNDAMALLI id :
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
© 2009 Pittsburgh Supercomputing Center Server Virtualization and Security Kevin Sullivan Copyright Kevin Sullivan, Pittsburgh Supercomputing.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
VIRTUAL MACHINE – VMWARE. VIRTUAL MACHINE (VM) What is a VM? – A virtual machine (VM) is a software implementation of a computing environment in which.
Computer Science Infrastructure Security for Virtual Cloud Computing Peng Ning 04/08/111BITS/ Financial Services Roundtable Supported by the US National.
Translation Lookaside Buffer
Virtualization for Cloud Computing
Introduction to Virtualization
CS 140 Lecture Notes: Virtual Memory
Agenda Hardware Virtualization Concepts
Protecting Memory What is there to protect in memory?
Virtual Servers.
Running other code under LINUX
OS Virtualization.
CS 140 Lecture Notes: Virtual Memory
Virtualization 101.
CS 140 Lecture Notes: Virtual Memory
Introduction to the Intel x86’s support for “virtual” memory
Translation Lookaside Buffer
Hiding Malware Rootkits
Virtual machines benefits
Operating Systems Lecture 3.
Shielding applications from an untrusted cloud with Haven
Outline Operating System Organization Operating System Examples
CS 140 Lecture Notes: Virtual Memory
Hypervisor A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer.
Presentation transcript:

H YPER S AFE : A L IGHTWEIGHT A PPROACH TO P ROVIDE L IFETIME H YPERVISOR C ONTROL -F LOW I NTEGRITY Self Protection for the Hypervisor

I NTRODUCTION Paper: HyperSafe: A Lightweight Approach to Provide Lifetime Hypervisor Control-Flow Integrity Authors: Zhi Wang and Xuxian Jiang Department of Computer Science, North Carolina State University Presented at: 31st IEEE Symposium on Security & Privacy, Oakland, CA USA, May 2010

I NTRODUCTION Figures in presentation credited to original paper and presentation Presentation by Jon Rhoades – Digital Forensics Program – UCF Questions during presentation are welcome

F OR C ONTEXT W HAT IS IT ? Present HyperSafe A framework capability to protect Virtualization Hypervisors from security threats Primary Two Techniques Non-bypassable memory lockdown Restricted pointer indexing The framework has been used for a prototype system for BitVisor and Xen

H YPERVISOR Virtual Machine Manager Controls when and how the Virtual Machines start and stop Access to VM settings Allocates and manages resources for the Virtual Machines Established Running Examples of Hypervisors Xen, VMware ESX

W HAT ARE THE T HREATS VMs vulnerable if Hypervisor is hacked Xen security vulnerabilities identified* VMware ESX security vulnerabilities identified* Code base for Hypervisors growing Xen 230K lines of code Hypervisor runs at lowest level of software stack * Source: National Vulnerability Database

W HY P ROTECT T HE H YPERVISOR Rapid growth in adoption of Virtual Machines 16% of server workload in % by 2012 (estimated) VM escape attacks Break out of a VM and access HyperVisor Hypervisor based rootkits If you get control of Hypervisor you have control of the VMs Console access Physical access

T YPES OF H YPERVISORS Type I –No underlying OS ( VMware ESXi, Citirix XexServer) II – Hypervisor loaded onto an OS ( Microsoft Virtual PC, VMware Server) Type I is also referred to as bare metal or native hypervisor

G OALS OF H YPER S AFE Enable self protection of commodity type-I (bare- metal) hypervisors Not require significant changes to the existing hypervisor design and function Efficiently implemented on commodity hardware Assumptions Trustworthy hardware Software bugs in hypervisor

H OW DOES H YPER S AFE W ORK ? Protects the memory space the hypervisor runs in Provides structure for calls and returns Two main Techniques Non-bypassable memory lockdown Current hypervisors all page tables are writable Restricted pointer indexing Control what functions can be called and acceptable return addresses

N ON - BYPASSABLE M EMORY L OCKDOWN Most significant technique Divides memory (physical and virtual) into page tables Each table has a number of page table entries. (512 in x86_64) Each entry has certain bits to specify protection attributes (writable(r/w), executable, or specify user or supervisor(u/s)) A page can either be executable OR writable Hypervisor code is write protected Sometime it needs to be updated (benign update)

B ENIGN U PDATE Sometimes executable memory needs to be updated / written to Supervisor only not User Technique uses the W P bit (Write Protect) in hardware On initial load set page tables read only and W P bit on On benign update clear W P bit, make the change, then set the W P bit on HyperSafe can ensure the action matches a security policy During process disable interrupts then re-enable

U PDATES Effectively locks down access to hypervisor code to ensure integrity

R ESTRICTED P OINTER I NDEXING Restrict control of functions and return addresses from the user space Establishes tables maintained in protected memory for approved function and ret calls The table contains the pointers to the approved functions and returns

R ESTRICTED P OINT I NDEXING

P RODUCTION U SE Prototype developed for BitVisor and Xen HyperSafe protection Used attacks mimicking those in the National Vulnerability Database Performed as designed Writing to protected page tables generated error codes Attempts to change control flow were silently defeated

P ERFORMANCE O VERHEAD Performance hit of about 5% (3% for –m) HyperSafe-m is HyperSafe with some optimization

C ONTRIBUTIONS A framework with two techniques to protect hypervisors Protect the memory space Protect control flow Actually did it vs. just talk about what is possible

W EAKNESS Not actionable for IT security groups I can’t get it and use it No commercial or open source plans Not clear to me on how you deploy HyperSafe Assumption is modify the source code of hypervisor software and kernel and recompile it

I MPROVEMENT Get it in the field Partner with hypervisor vendors VMware would be a big one