Virtualization as an Enabler for Security in Mobile Devices

Similar documents
COS 318: Operating Systems. Virtual Machine Monitors

Full and Para Virtualization

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Chapter 5 Cloud Resource Virtualization

The Xen of Virtualization

Leveraging Thin Hypervisors for Security on Embedded Systems

Virtualization. Dr. Yingwu Zhu

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

Virtualization. Pradipta De

Virtualization. Jia Rao Assistant Professor in CS

Virtualization Technology. Zhiming Shen

COS 318: Operating Systems. Virtual Machine Monitors

Virtualization for Cloud Computing

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

Sierraware Overview. Simply Secure

Basics of Virtualisation

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

Virtual Machines. Virtualization

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

x86 ISA Modifications to support Virtual Machines

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

Virtual Machine Security

Virtual machines and operating systems

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

Virtualization and the U2 Databases

Virtualization Technologies (ENCS 691K Chapter 3)

Virtual Machines. COMP 3361: Operating Systems I Winter

Chapter 2 Addendum (More on Virtualization)

PROCESSOR VIRTUALIZATION ON EMBEDDED LINUX SYSTEMS

Chapter 14 Virtual Machines

Example of Standard API

Virtualization in the ARMv7 Architecture Lecture for the Embedded Systems Course CSD, University of Crete (May 20, 2014)

Intel Virtualization Technology Overview Yu Ke

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

12. Introduction to Virtual Machines

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

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

Knut Omang Ifi/Oracle 19 Oct, 2015

Jukka Ylitalo Tik TKK, April 24, 2006

Development of Type-2 Hypervisor for MIPS64 Based Systems

Introduction to Virtual Machines

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Models For Modeling and Measuring the Performance of a Xen Virtual Server

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

Hybrid Virtualization The Next Generation of XenLinux

nanohub.org An Overview of Virtualization Techniques

Performance tuning Xen

Chapter 2 System Structures

Virtualization. Types of Interfaces

CPS221 Lecture: Operating System Structure; Virtual Machines

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

Cloud Computing. Up until now

Operating System Structures

System Virtual Machines

Virtual Machines.

Hardware accelerated Virtualization in the ARM Cortex Processors

Virtualization. Jukka K. Nurminen

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Enabling Technologies for Distributed Computing

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

Architecture of the Kernel-based Virtual Machine (KVM)

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

Xen and the Art of. Virtualization. Ian Pratt

MobiVMM: a Virtual Machine Monitor for Mobile Phones

System Structures. Services Interface Structure

Virtualization for Future Internet

Virtualization and Other Tricks.

Virtualization. P. A. Wilsey. The text highlighted in green in these slides contain external hyperlinks. 1 / 16

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Hypervisors and Virtual Machines

evm Virtualization Platform for Windows

COM 444 Cloud Computing

Virtualization. Michael Tsai 2015/06/08

Data Centers and Cloud Computing

Android Virtualization from Sierraware. Simply Secure

Compromise-as-a-Service

Enabling Technologies for Distributed and Cloud Computing

Presentation of Diagnosing performance overheads in the Xen virtual machine environment

Nested Virtualization

Enterprise-Class Virtualization with Open Source Technologies

WHITE PAPER Mainstreaming Server Virtualization: The Intel Approach

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

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

Understanding Full Virtualization, Paravirtualization, and Hardware Assist. Introduction...1 Overview of x86 Virtualization...2 CPU Virtualization...

Virtual Computing and VMWare. Module 4

IOMMU: A Detailed view

Distributed and Cloud Computing

The XenServer Product Family:

A Perspective on the Evolution of Mobile Platform Security Architectures

Windows Server Virtualization & The Windows Hypervisor

EECatalog SPECIAL FEATURE

The NOVA Microhypervisor

Cloud Computing CS

Windows 7 XP Mode for HP Business PCs

Virtualization. P. A. Wilsey. The text highlighted in green in these slides contain external hyperlinks. 1 / 16

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

Introduction to Virtualization & KVM

Virtualization is set to become a key requirement

Regional SEE-GRID-SCI Training for Site Administrators Institute of Physics Belgrade March 5-6, 2009

Distributed System Monitoring and Failure Diagnosis using Cooperative Virtual Backdoors

Transcription:

Virtualization as an Enabler for Security in Mobile Devices Jörg Brakensiek, Nokia Research Center Palo Alto Axel Dröge, Martin Botteck, Nokia Research Center Bochum Hermann Härtig, Adam Lackorzynski, Technische Universität Dresden 1st Workshop on Isolation and Integration in Embedded Systems (IIES'08) April 1, 2008, Glasgow, Scotland 18 April,2008 Jörg Brakensiek NRC 2007 1

Challenges for Mobile Devices Complexity Complexity Challenge Exploding number of different device configurations and platform variants Rapid introduction of new functionalities This is addressed by Definition of hardware abstraction layers and APIs, Rigorous architecture management principles Modularization of the device architecture Middleware OS Processor Processor s API domain- Specific embedded OS embedded subsystem System Interconnect domain- Specific embedded OS embedded subsystem Peripherals Peripherals Peripherals Peripherals 18 April,2008 Jörg Brakensiek NRC 2007 2

Challenges for Mobile Devices Openness Why opening a mobile device s platform? Leverage external innovations and developments Broaden the application developer base Create the mobile platform for innovative solutions Challenges in opening a mobile phone platform User as a potential attacker, having physical access to the device 3rd party content and applications Both regulatory and operator requirements exist Manufacturer responsibility Phone operation (e.g. IMEI, Network DoS, emergency call) Integrity, robustness and protection are contradicting openness External attacker (like in PC domain) Protection of personal content on mobile devices 18 April,2008 Jörg Brakensiek NRC 2007 3

Challenges for Mobile Devices Openness Current Solutions Implement devices open on OS level without regulated cellular systems Implement devices, having two-chip architectures, with a self-contained cellular engine Use strict API level certification policies, which limit access to critical API s PA Rx VCO Tx DRAM Cellular Processor Subsystem Flash Cellular Modem Engine DRAM Processor Subsystem Engine Flash Peripheral IF Keyboard, MMC, Display Provide managed run-times only giving limited access to critical platform resources Signature DRM capability needed Verify signature Root Certificate Capabilities DRM and Local Services Signature OK, enable DRM capability 18 April,2008 Jörg Brakensiek NRC 2007 4

Virtualization Definitions Virtualization Technique to emulate interfaces and behavior of a virtual system using an underlying physical system. Virtual Machine (VM) Guest 1 Guest 2 SW implementation of a virtual computer system using virtualization, which allows execution of computer programs. Virtual Machine Monitor (VMM) SW implementation, which emulates multiple instances of a VM and allows their configuration and management Virtual System Virtual System VM 1 VM 2 VMM Monitor Physical System Also known as Hypervisor 18 April,2008 Jörg Brakensiek NRC 2007 5

Virtualization Architecture Virtualization is applied to a given abstraction level Our interest: System Virtualization Multiple Architectures Hosted architecture Our interest: Native Hypervisor Multiple copies of the same virtual system may exist at the same time Our interest: RT vs. non-rt Our interest: Linux vs. Symbian Virtual system may be different from the underlying physical system Full-virtualization Our interest: Para-virtualization System Performance Native Native Native Mem. Mgmt. HW Abstraction BIOS Secure Secure Secure Guest OS 1 Task Mgmt. Hypervisor VM Loader Lean kernel Guest Guest Guest Hardware Platform Homogeneous OS Homogeneous ISA UML Xen Microkernel LDD LDD LDDPDD PDD PDD Guest OS 2 Frame buffer Heterogeneous OS Heterogeneous ISA Fullvirtualization VMWare Paravirtualization Virtual PC LDD PDD Virtualization Level 18 April,2008 Jörg Brakensiek NRC 2007 6

Discussion Para vs. Full-Virtualization Mid-term Perspective Para-virtualization Effort in adaptation of the guest OS is acceptable Low performance overhead; guest de-privileging Need committed owner for kernel adaptation Long-term Perspective Full-virtualization of the CPU Core (memory management, interrupts) Low performance overhead requires hardware virtualization support; no guest de-privileging No kernel adaptation work needed; Para-virtualization of the hardware components and peripherals Performance limitations & diversity of mobile platforms forbid full virtualization of whole platform 18 April,2008 Jörg Brakensiek NRC 2007 7

Discussion HW Support for Virtualization Close virtualization holes Do not fail silently, if called with missing privileges Do not show different behavior, if called with missing privileges VMM performance / memory impact Virtualize page tables, TLB, Load/store CPU status registers Avoid unnecessary VM exits Enhance isolation of the VM domains New operational mode IO virtualization, Interrupts, DMA First steps in embedded domain, but learn from PC domain Example: ARM TrustZone Example: Intel VT-x 18 April,2008 Jörg Brakensiek NRC 2007 8

Discussion Trusted Computing Base & Security Hypervisor as an enabler of Security Narrow interface Small code size compared to commodity operating systems Layered security model Hardware security provides root of trust (e.g. secure boot) Components to be part of the TCB Hypervisor Core Critical device drivers Secure Guest VMM Management functions Native Hypervisors have a smaller trusted code base than hosted ones TCB GSM PHY RT-OS Call Setup GSM Stack Hypervisor HW Platform Secure Mem. CPU Legacy OS Contacts Call UI Mic. / Speaker 18 April,2008 Jörg Brakensiek NRC 2007 9

Case Study 1 Symbian & ecos Motivation Large number of platform variants Remove HW dependencies within Guest OS Requirements vdd Guest OS Hypervisor DD DD vdd mini-os IPC Monitor IO Efficient Inter-Domain-Communication Reuse of existing device driver frameworks Setup Symbian microkernel and ecos on Symbian nanokernel Example device driver: Linux key pad driver Prototype on OMAP 2420 based phone platform Reasonable performance (10.5 us signaling time) Keypad driver Microkernel Hardware Platform Personality EKA-2 Nanokernel Keypad driver Personality HW Platform (OMAP 2420) 18 April,2008 Jörg Brakensiek NRC 2007 10

Case Study 2 Symbian & Linux: Overview Motivation Symbian EKA-2 nanokernel is not providing any isolation Evaluate a microkernel based VMM Requirements Isolation of Guests Setup HW Platform: ARM MPCore (ARM 1176) L4/Fiasco-based Hypervisor Para-Virtualized Guests L4Linux-SMP L4Symbian L4 microkernel in privileged mode L4 services and guests in user mode L4Linux L4Symbian L4 Service 1 L4 Service 2 L4 Service n L4 Microkernel (Hypervisor) ARM based Hardware Platform 18 April,2008 Jörg Brakensiek NRC 2007 11

Case Study 2 Symbian & Linux: Architecture Symbian Symbian Symbian Linux Linux EFILE ESTART EWSRV ESHELL L4 Linux System-Call Interface EKERN Memory Model Microkernel Nanokernel L4 Symbian Kernel Extensions ASSP/ Variant Drivers LDD Drivers PDD Linux Kernel User Mode Kernel Mode L4 Service 1 L4 Service 2 L4 Service n L4 Microkernel ARM based Hardware Platform 18 April,2008 Jörg Brakensiek NRC 2007 12

Case Study 2 Symbian & Linux: Porting Statistics Almost all modifications done in platform dependent parts L4Symbian binary image consists of 29 binaries Total size: 0.8 MB Plus 13 KB Bootstrap Components heavily modified: Bootstrap Completely re-written Variant/ASSP (Interrupt handling, Timer handling, Serial driver,...) Touched 16 files out of 16 EKERN (nano- & micro-kernel, memory model,...) Touched 33 files out of 120 Symbian OS nanokernel Symbian OS microkernel Category L4 Specific Common L4 Specific Library Porting effort Common Modified 1 As is Modified As is New Modified As is Modified As is Removed New Modified As is # files 4 8 3 3 1 42 14 19 3 1 1 2 18 April,2008 Jörg Brakensiek NRC 2007 13

Summary and Conclusion Cost reduction drives virtualization in the PC and desktop domain Security in conjunction with open platforms drives it in mobile domain Protection from remote attackers Protection from attackers having physical access to the device Experience from our two case studies: Para-virtualization based approach is feasible for mobile devices Virtualization offers a promising solution to the security challenge Our experiments have not encountered any fundamental difficulties Next steps Further study Hypervisor impact (performance, code size, ) Address critical OS features like power management Drive evolution in hardware support for virtualization 18 April,2008 Jörg Brakensiek NRC 2007 14