Virtualiza)on, Sandboxing, and Emula)on

Similar documents
VMware Server 2.0 Essentials. Virtualization Deployment and Management

Virtualization. Types of Interfaces

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

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

Full and Para Virtualization

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

The Art of Virtualization with Free Software

Virtualization Technology. Zhiming Shen

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

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

Cloud Computing CS

Hypervisor Software and Virtual Machines. Professor Howard Burpee SMCC Computer Technology Dept.

Virtualization for Cloud Computing

Distributed systems Techs 4. Virtualization. October 26, 2009

Virtualization Technology

Virtual Machines.

Virtualization Technologies

Virtualization and the U2 Databases

IOS110. Virtualization 5/27/2014 1

Chapter 5 Cloud Resource Virtualization

Virtual Hosting & Virtual Machines

Comparing Virtualization Technologies

Chapter 14 Virtual Machines

12. Introduction to Virtual Machines

Virtual Computing and VMWare. Module 4

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

matasano Hardware Virtualization Rootkits Dino A. Dai Zovi

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

Compromise-as-a-Service

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

Multi-core Programming System Overview

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

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

CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies. Virtualization of Clusters and Data Centers

Cloud Computing. Chapter 1 Introducing Cloud Computing

Virtualization and Other Tricks.

Virtual Machines Fact Sheet

CPS221 Lecture: Operating System Structure; Virtual Machines

COS 318: Operating Systems. Virtual Machine Monitors

CS 695 Topics in Virtualization and Cloud Computing and Storage Systems. Introduction

Virtual Machine Security

A cure for Virtual Insanity: A vendor-neutral introduction to virtualization without the hype

Data Centers and Cloud Computing

Virtualization. Introduction to Virtualization Virtual Appliances Benefits to Virtualization Example Virtualization Products

Virtualization. Jia Rao Assistant Professor in CS

Virtualization. Pradipta De

Introduction to Virtual Machines

Virtualization. Dr. Yingwu Zhu

Virtualization. Jukka K. Nurminen

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

CS 695 Topics in Virtualization and Cloud Computing. Introduction

A Survey on Virtual Machine Security

CS 356 Lecture 25 and 26 Operating System Security. Spring 2013

Virtualization: Know your options on Ubuntu. Nick Barcet. Ubuntu Server Product Manager

Virtualization System Security

Cloud Architecture and Virtualisation. Lecture 4 Virtualisation

Comparing Free Virtualization Products

Clouds Under the Covers. Elgazzar - CISC Fall

Installing & Using KVM with Virtual Machine Manager COSC 495

Options in Open Source Virtualization and Cloud Computing. Andrew Hadinyoto Republic Polytechnic

Virtualization Security and Best Practices. Rob Randell, CISSP Senior Security Specialist SE

Cloud Computing. Up until now

Distributed Systems. Virtualization. Paul Krzyzanowski

Virtual Machines and Security Paola Stone Martinez East Carolina University November, 2013.

Introduction to Virtualization

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

Clouds, Virtualization and Security or Look Out Below

Module I-7410 Advanced Linux FS-11 Part1: Virtualization with KVM

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

Definitions. Hardware Full virtualization Para virtualization Hosted hypervisor Type I hypervisor. Native (bare metal) hypervisor Type II hypervisor

The Xen of Virtualization

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

Basics of Virtualisation

Lecture Overview. INF3510 Information Security Spring Lecture 4 Computer Security. Meaningless transport defences when endpoints are insecure

VMware Security Briefing. Rob Randell, CISSP Senior Security Specialist SE

Distributed and Cloud Computing

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE

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

Detection of virtual machine monitor corruptions

Abstract. 1. Introduction. 2. Threat Model

VIRTUALIZATION IS IT RIGHT FOR YOU? Author: David Burford LAD ENTERPRIZES, INC August 2008

Restraining Execution Environments

The Do s and Don ts of Server Virtualization Back to basics tips for Australian IT professionals

Endpoint protection for physical and virtual desktops

PARALLELS SERVER BARE METAL 5.0 README

Computer Virtualization in Practice

Virtual Machines. COMP 3361: Operating Systems I Winter

Virtualization Technologies. Embrace the new world of healthcare

vnas Series All-in-one NAS with virtualization platform

Analysis of Virtualization Tools and Techniques

Example of Standard API

Networking for Caribbean Development

Operating Systems Virtualization mechanisms

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

Distributed System Monitoring and Failure Diagnosis using Cooperative Virtual Backdoors

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

CSE 501 Monday, September 09, 2013 Kevin Cleary

COM 444 Cloud Computing

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

Survey on virtual machine security

Transcription:

Operating System Security Lecture 5 Virtualiza)on, Sandboxing, and Emula)on Institute for Computing and Information Sciences Radboud University Nijmegen, The Netherlands! rverdult@cs.ru.nl / " www.cs.ru.nl/~rverdult

Introduction to VM s Virtualization (ring 0) Hardware oriented Native (VSphere, XEN, Hyper-V) Host based (VMware, Virtualbox, Parallels) Operating-System level (chroot, jails, Vserver) Virtual private servers (VPS) Sandboxing (ring 3) Application based (APP-V, App Sandbox, AppArmor) Compiler based (Java,.NET, javascript) Emulation (ring 3) Game consoles (Snes9x, Nestopia, Fusion) Qemu (x86-64, ARM, MIPS) Minemu (Dynamic taint analysis)

Virtualization (ring 0) Hardware oriented Operating-system thinks it is running on and interacting with its own hardware Abstracts the hardware peripherals from the operating-system Operating-System level Makes the subsystem thinks it is running in its own operating-system Abstracts the services and kernel from an application

Native Hardware Virtualization Native (bare-metal) hypervisors Run directly on the host's hardware to control the hardware and to manage guest operating systems No reliance on an underlying OS A guest operating system runs as a process on the host IBM mainframes used native hypervisors in the 1960s (CP-40 IBM S360/S370) Nowadays, many more alternatives VSphere, XEN, Hyper-V

x86-64 Privileged Architecture

Full Virtualization

HW-assisted Virtualization

Intel VT-x Full Virtualization

Para Virtualization (e.g. XEN)

Host based virtualization Relies on an underlying operating-system Hardware abstraction implicates that The OS handles the peripherals and is responsible for the hardware drivers The security environment is less controlled because of the reliance on the underlying OS There is no direct access to hardware, which increases resource overhead of the guest OS Popular examples WMware, Parallels, VirtualBox, Windows Virtual PC

Host based virtualization

OS level Virtualization Chroot System call that virtualizes the file system. It basically changes the root folder for a process FreeBSD jails / Linux Vserver System calls / kernel patch Virtualizing file system Resource limits (CPU, Memory) Networking subsystem No guest OS, one kernel for virtualized instances Used by many webhosting companies that offer cloud resources, Virtual Private Servers (VPS) and web-based application services.

Sandboxing (ring 3) Apple App Sandbox Removes most capabilities for interacting with the operating system Linux AppArmor Applies security profiles per application which define what system resources individual applications can access, and with what privileges By default installed and loaded on serveral mainstream Linux distributions (Ubuntu, opensuse). Microsoft APP-V Synchronizes a locally installed application and environment with a remote virtualized instance

Apple App Sandbox Removes most capabilities for interacting with user data and system resources. Avalable in ios and OS X

Linux AppArmor Example /etc/apparmor.d/bin.ping #include <tunables/global> /bin/ping flags=(complain) { #include <abstrac=ons/base> #include <abstrac=ons/consoles> #include <abstrac=ons/nameservice> capability net_raw, capability setuid, network inet raw, /bin/ping mixr, /etc/modules.conf r, }

Microsoft APP-V Hybrid Not remote Not local Deployed & sync ed to a remote instance

Compiler sandboxing (ring 3) Java /.NET Just-in-time compilation (JIT) Javascript Browser integration Eval() statements

Emulation (ring 3) Malware analysis Reverse Engineering Driver debugging Forensics Record / replay execution Taint tracking Symbolic execution

VM vulnerabilities Virtualization Hardware oriented attacks Management interface exploits Break out of jail attacks (VM Escape) Sandboxing Application privilege escalation JIT Spraying Untrusted native code execution

Cache based timing attacks

Virtual-machine based rootkits (VMBR) SubVirt / Blue Pill Trap a running OS in a thin hypervisor. Before infection target application target application target operating system host hardware After infection malicious service malicious service host operating system target application target operating system target application virtual-machine monitor (VMM) host hardware

Stealth Hard-Drive Backdoor

Intel manageability engine Out-of-band (OOB) communication Platforms equipped with Intel AMT can be managed remotely, regardless of whether they are powered up and regardless of whether or not they have a functioning operating system. Reference: Intel Active Management Technology (Intel AMT) Start Here Guide" (PDF). Reverse-engineering: http://www.slideshare.net/codeblue_jp/igor-skochinsky-enpub

JIT Spraying Example: http://en.wikipedia.org/wiki/jit_spraying!! var a = (0x11223344^0x44332211^0x44332211^...);!! JIT then will transform bytecode to native x86 code like:! 0:!b8 44 33 22 11!mov eax,0x11223344! 5:!35 11 22 33 44!xor eax,0x44332211! A:!35 11 22 33 44!xor eax,0x44332211!! Jumping to the second byte of the "mov" instruction: 1:!44 inc esp! 2:!33 22 xor esp,dword PTR [edx]! 4:!11 35 11 22 33 44 adc DWORD PTR ds:0x44332211,esi! A:!35 11 22 33 44 xor eax,0x44332211!

VM Security management Re-initialization of cloned host Hardware identification (MAC addresses) SSH Private keys Webserver certificates

Security oriented VM (Qubes OS)

Security oriented VM (Qubes OS)