Clouds, Virtualization and Security or Look Out Below



Similar documents
Cloud Computing: Some Implications for Key Management

Defining, Securing, and Standardizing Cloud Computing

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Server Virtualization Techniques Includes Slides from NIST (Lee Badger)

Full and Para Virtualization

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?

Virtualization. Jukka K. Nurminen

Cloud Computing #6 - Virtualization

Virtualization. Types of Interfaces

Virtualization. ! Physical Hardware. ! Software. ! Isolation. ! Software Abstraction. ! Encapsulation. ! Virtualization Layer. !

CS 695 Topics in Virtualization and Cloud Computing. More Introduction + Processor Virtualization

Virtualization. Jia Rao Assistant Professor in CS

Chapter 5 Cloud Resource Virtualization

Jukka Ylitalo Tik TKK, April 24, 2006

Virtualization in Linux KVM + QEMU

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

Virtualization. Dr. Yingwu Zhu

COS 318: Operating Systems. Virtual Machine Monitors

Introduction to Virtual Machines

Virtualization Technology. Zhiming Shen

Outline. Outline. Why virtualization? Why not virtualize? Today s data center. Cloud computing. Virtual resource pool

Virtualization. Pradipta De

matasano Hardware Virtualization Rootkits Dino A. Dai Zovi

Virtual Machines. COMP 3361: Operating Systems I Winter

System Virtual Machines

Virtual Machines. Virtualization

Virtual Machine Security

kvm: Kernel-based Virtual Machine for Linux

ARM Virtualization: CPU & MMU Issues

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

A Unified View of Virtual Machines

IOS110. Virtualization 5/27/2014 1

The MIPS architecture and virtualization

Virtualization VMware Inc. All rights reserved

Knut Omang Ifi/Oracle 19 Oct, 2015

Virtualization Technologies

Distributed Systems. Virtualization. Paul Krzyzanowski

Virtual machines and operating systems

Virtualization Concepts And Applications. Yash Jain DA-IICT (DCOM Research Group)

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

Virtualization for Cloud Computing

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

Virtualization. Explain how today s virtualization movement is actually a reinvention

VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D

x86 ISA Modifications to support Virtual Machines

Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13

Hypervisors and Virtual Machines

x86 Virtualization Hardware Support Pla$orm Virtualiza.on

Virtual Hosting & Virtual Machines

COS 318: Operating Systems. Virtual Machine Monitors

Cloud Computing CS

Virtualization System Vulnerability Discovery Framework. Speaker: Qinghao Tang Title:360 Marvel Team Leader

Virtualization Technology. Zhonghong Ou Data Communications Software Lab, Aalto University

Intel Virtualization Technology Overview Yu Ke

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

Windows Server Virtualization & The Windows Hypervisor

OPEN SOURCE VIRTUALIZATION TRENDS. SYAMSUL ANUAR ABD NASIR Warix Technologies / Fedora Community Malaysia

VMkit A lightweight hypervisor library for Barrelfish

Introduction to Virtualization & KVM

Practical Applications of Virtualization. Mike Phillips IAP 2008 SIPB IAP Series

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

CS5460: Operating Systems. Lecture: Virtualization 2. Anton Burtsev March, 2013

Advanced Computer Networks. Network I/O Virtualization

Cloud^H^H^H^H^H Virtualization Technology. Andrew Jones May 2011

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

Compromise-as-a-Service

FRONT FLYLEAF PAGE. This page has been intentionally left blank

KVM KERNEL BASED VIRTUAL MACHINE

Virtual Machines. Virtual Machine (VM) Examples of Virtual Systems. Types of Virtual Machine

Virtual Machines.

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE

KVM on S390x. Revolutionizing the Mainframe

Enabling Technologies for Distributed Computing

Introduction to Virtualization

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Enabling Technologies for Distributed and Cloud Computing

2972 Linux Options and Best Practices for Scaleup Virtualization

Virtualization: Concepts, Applications, and Performance Modeling

12. Introduction to Virtual Machines

Anh Quach, Matthew Rajman, Bienvenido Rodriguez, Brian Rodriguez, Michael Roefs, Ahmed Shaikh

Professional Xen Visualization

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

Developing a dynamic, real-time IT infrastructure with Red Hat integrated virtualization

Basics of Virtualisation

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Virtualization: What does it mean for SAS? Karl Fisher and Clarke Thacher, SAS Institute Inc., Cary, NC

Security of Cloud Computing

Cloud Architecture and Virtualisation. Lecture 4 Virtualisation

Brian Walters VMware Virtual Platform. Linux J. 1999, 63es, Article 6 (July 1999).

Chapter 14 Virtual Machines

Distributed and Cloud Computing

Virtualization Security: Virtual Machine Monitoring and Introspection

Hybrid Virtualization The Next Generation of XenLinux

Nested Virtualization

Platform Virtualization: Model, Challenges and Approaches

9/26/2011. What is Virtualization? What are the different types of virtualization.

Taming Hosted Hypervisors with (Mostly) Deprivileged Execution

KVM Security Comparison

Performance tuning Xen

Securing your Virtual Datacenter. Part 1: Preventing, Mitigating Privilege Escalation

Transcription:

Clouds, Virtualization and Security or Look Out Below Lee Badger

Hardware Virtualization (Box View) 1 2 dom0 HW type 1 Para-virtualization I/O Host HW type 2 dom0 HW type 1 Full virtualization I/O Host HW type 2 3 Terminology : runs only on Host : runs only on HW Domain : virtual machine on Hypervisor : virtual machine monitor 4 x86 CPU mode ring 3 ring 2 ring 1 ring 0 Issue: Deprivileging ring 3 ring 0 (kernel) (kernel) ring 3 ring 1 ring 0

Making x86 Virtualizable Using Binary Translation kernel in ring 1 Running Basic blocks...... C B 2 Copy a newlyencountered basic block to the cache. ret C jmp Translation Cache (also in memory) B call SGDT call call kernel in ring 1 (if needed) ring 0 1 Identify the next block by scanning s for a jump/call/etc (that ends a basic block). 3 Binary translate any prohibited into a sequence that emulates it safely. 4 Run/rerun translated block at full speed. Technique used by VMware, in 1999.

Making x86 Virtualizable Using Extra Hardware Intel 64 Intel version of x86-64 Floating Point Data 17 rithmetic 26 Compare 14 Transcendental 8 Constants 7 Control 20 State management 2 SIMD 94 MMX 47 SSE 62 SSE2 69 SSE3 13 SSSE3 32 SSE4 54 277 General Purpose Data transfer 32 rithmetic 18 Logical 4 Shift/rotate 9 Bit/byte 23 Control transfer 31 String 18 I/O 8 Enter/leave 2 Flag control 11 Segment register 5 Misc 6 167 VT-x Extensions 12 Safe mode 1 contains ~595 s. Hardware extensions make the set virtualizable System 34 64-bit mode 10

Intel Virtual Machine Extensions Original structure CPU mode ring 3 ring 2 ring 1 ring 0 (VMX) Host Host Host Host Host ring 3 Host ring 0 Legacy software runs in the expected rings, hopefully unaware. there is no software-visible bit indicates VMX non-root operation, Intel 64 manual. VMX non-root Deprivileged (very configurable). CPU State transitions Ring 0 VMXON VMXOFF VMXLUNCH VMXRESUME VMX root VMXCLL side effects Many s cause faultlike VM exits: interrupts I/O events page table management privileged s, etc. handles faults VM exit rate determines performance ddress translation is complex

How Complex is Virtualization? legend Source Lines Of Code 55,000,000 Debian Linux Operating system Virtualization system 35,000,000 20,000,000 15,000,000 Windows NT Windows 95 Windows 2k Red Hat Linux 3,000,000 1,000,000 60,000 1990 Windows 3.1 VirtualBox Xen Qemu Bochs Kaffe 2000 2008 code counts generated using David. Wheeler's SLOCCount tool. Windows estimate from Bruce Schneier Linux estimates from Gonzalez-Barahona et al., and David Wheeler

Implementation Quality Should Not be ssumed In 2007, Tavis Ormandy subjected 6 virtualization systems to guided random testing of their invalid handling and I/O emulation. Bochs QEMU VMWare Xen nonymous 1 nonymous 2 178k SLOC 373k SLOC 910k SLOC ll of the systems failed the tests, most with arbitrary execution failures. Device emulation was a particular area of vulnerability. For details, see: taviso.decsystem.org/virtsec.pdf Reference: n Empirical Study into the Security Exposures to Host of Hostile Virtualized Environments, by Travis Ormandy. taviso.decsystem.org/virtsec.pdf Code counts generated using David. Wheeler's SLOCCount tool.

Potential Security dvantages n extra layer for defense in depth. Stronger encapsulation of errors-or-attacks within a VM. More intrusive intrusion detection via introspection. More limited exposures of buggy/weak software. More flexible discovery/eviction of kernel rootkits. Snapshots enable rollback for fault/intrusion tolerant computing. Security policy regulating VMs may be simpler than policy regulating processes.

Potential Security Disadvantages VM layer is complex too: composite system is complex. VM layer configuration is security relevant. Mapping VM storage onto host files may cause overlap. Trusted Platform Module (TPM) hard to virtualize. Remote attestation may not work. Shared Resources increase risk: networks clipboards clocks printers desktop management folders Covert channels not well understood. VM escape. VM detection. VM-VM interference. V networking configuration errors. Malicious virtualization risk.

Guide to Platform Virtualization Security Practical and operational guide Security challenges and benefits ttributes and properties Platform virtualization architecture Threat model Security recommendations

BCKUP

Formal Requirements (summary of Popek and Goldberg, 1974 CCM) For machines having: 1) user/supervisor modes, 2) location-bounds register, and 3) a trapping mechanism. trap s PC=2 (0, q-1) u PC=0 (n, 4) user program 0 1 2 3 4 memory Dispatcher llocator Instruction Interpreter 0 1 2 3 n n+1 n+2 n+3 n+4 q-1 Sensitive Instructions (change or depend on memory map or mode) Privileged s (trap iff user mode) Efficiency: most s run directly. Resource Control: the allocates all resources. Popek Goldberg Theorem : If then a Virtual Machine Monitor () can be built having 3 properties: Equivalence: the user program mostly believes it runs on the hardware.