Secure data processing: Blind Hypervision



Similar documents
Hardware Acceleration for Just-In-Time Compilation on Heterogeneous Embedded Systems

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

Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC

Virtualization. Types of Interfaces

Nested Virtualization

IOMMU: A Detailed view

Hardware accelerated Virtualization in the ARM Cortex Processors

Chapter 5 Cloud Resource Virtualization

Comprehensive Security for Internet-of-Things Devices With ARM TrustZone

Virtualization. Pradipta De

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

Virtualization System Security

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

Cloud Computing #6 - Virtualization

A Survey on Virtual Machine Security

COS 318: Operating Systems. Virtual Machine Monitors

Leveraging Thin Hypervisors for Security on Embedded Systems

NoHype: Virtualized Cloud Infrastructure without the Virtualization

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Hyper-V Server Agent Version Fix Pack 2.

Secure Containers. Jan Imagination Technologies HGI Dec, 2014 p1

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

On-Line Diagnosis using Orthogonal Multi-Tone Time Domain Reflectometry in a Lossy Cable

Virtual Machines. Virtualization

Lecture Embedded System Security Dynamic Root of Trust and Trusted Execution

Building Docker Cloud Services with Virtuozzo

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

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to

Runtime Code Generation for Code Polymorphism

Intel Virtualization Technology (VT) in Converged Application Platforms

UNCLASSIFIED Version 1.0 May 2012

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

<Insert Picture Here> Oracle Database Support for Server Virtualization Updated December 7, 2009

Windows Server Virtualization & The Windows Hypervisor

16 April Cloud Security. Dr. Andreas Wespi IBM Corporation

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

Virtual Machines. COMP 3361: Operating Systems I Winter

CEA LIST activity on Cable Monitoring and Diagnosis

Virtualization. Jia Rao Assistant Professor in CS

COS 318: Operating Systems

Coherent sub-thz transmission systems in Silicon technologies: design challenges for frequency synthesis

Chapter 14 Virtual Machines

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

VxWorks Guest OS Programmer's Guide for Hypervisor 1.1, 6.8. VxWorks GUEST OS PROGRAMMER'S GUIDE FOR HYPERVISOR

Cloud Server. Parallels. Key Features and Benefits. White Paper.

Distributed and Cloud Computing

Full and Para Virtualization

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

Architectural Support for Secure Virtualization under a Vulnerable Hypervisor

Virtualization. Dr. Yingwu Zhu

The Review of Virtualization in an Isolated Computer Environment

FRONT FLYLEAF PAGE. This page has been intentionally left blank

A Unified View of Virtual Machines

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

High Performance or Cycle Accuracy?

Introduction to Virtual Machines

Attacking Hypervisors via Firmware and Hardware

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

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

Cortex-A9 MPCore Software Development

x86 ISA Modifications to support Virtual Machines

System Virtual Machines

Virtualization. Jukka K. Nurminen

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

XtratuM hypervisor redesign for LEON4 multicore processor

Before we can talk about virtualization security, we need to delineate the differences between the

Virtual Machine Security

Navigating Endpoint Encryption Technologies

Security Model for VM in Cloud

Operating Systems. Lecture 03. February 11, 2013

Sierraware Overview. Simply Secure

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

SierraVMI Sizing Guide

A Choices Hypervisor on the ARM architecture

COM 444 Cloud Computing

Frontiers in Cyber Security: Beyond the OS

Virtualization Technologies (ENCS 691K Chapter 3)

Intel Virtualization Technology Overview Yu Ke

Implementation and Implications of a Stealth Hard-Drive Backdoor

Knut Omang Ifi/Oracle 19 Oct, 2015

Tufts University. Department of Computer Science. COMP 116 Introduction to Computer Security Fall 2014 Final Project. Guocui Gao

Secure Data Management in Trusted Computing

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

MultiPARTES. Virtualization on Heterogeneous Multicore Platforms. 2012/7/18 Slides by TU Wien, UPV, fentiss, UPM

OSes. Arvind Seshadri Mark Luk Ning Qu Adrian Perrig SOSP2007. CyLab of CMU. SecVisor: A Tiny Hypervisor to Provide

Solving I/O Bottlenecks to Enable Superior Cloud Efficiency

Building Blocks Towards a Trustworthy NFV Infrastructure

COS 318: Operating Systems. Virtual Memory and Address Translation

Intro to Virtualization

Patterns for Secure Boot and Secure Storage in Computer Systems

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

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

Distributed Systems. Virtualization. Paul Krzyzanowski

Multi-core Programming System Overview

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures

Transcription:

Secure data processing: Blind Hypervision P. Dubrulle, R. Sirdey, E. Ohayon, P. Dore and M. Aichouch CEA LIST Contact : paul.dubrulle@cea.fr www.cea.fr

Cliquez pour modifier le style Introduction titre Well over a third of virtualization vulnerabilities reside in the hypervisor Source: IBM X-Force Trend and risk report, 2010 How to protect VM data privacy from hypervisor escape attacks? CEA. All rights reserved DACLE Division January 2013 2

Cliquez pour modifier Existing le style solutions du titre Virtual isolated processor runs critical code in complete isolation [ARM,2009] Guarantee security properties for some sporadic critical operations Cannot run a whole VM Root security: administrator is denied the right to read or write the sensitive data stored on the host Hypervisor in Trusted Code Base [Garfinkel,2003] No impact on performance Requirement hard to maintain Hardware enforced with execute-only-memory (XOM) [Lie,2003] Slowdown due to on-the-fly encryption Low software requirements CEA. All rights reserved DACLE Division January 2013 3

App1.1 App1.2 App2.1 App2.2 App3.1 App3.2 Proposed approach: Blind Hypervision Cliquez pour modifier le style du titre A hardware/software co-design to enforce data security for VMs sharing a multi-core processor HW enforced barriers Hypervisor not in TCB w. r. t. payload confidentiality integrity OS1 OS2 Hypervisor OS3 HW CEA. All rights reserved DACLE Division January 2013 4

Cliquez pour Blind modifier hypervision le style overview du titre Blind Hypervision to warrant SW code and data privacy Strong memory isolation prevent VM/Hypervisor accessing other VMs or the hypervisor itself Protect against privilege escalation attacks Do not rely on trusted hypervisor No impact on performance: Both code and data are stored in clear text No on-the-fly encryption required Ciphering takes place during VM loads/migrations only Protection scope: SW attacks from within loaded code including hypervisor SW attacks through equipment interfaces Do not address probing or other physical attacks CEA. All rights reserved DACLE Division January 2013 5

Cliquez pour Blind modifier hypervision le style principles du titre A two-level Secured MMU (S-MMU) Level 1: MPU partitioning memory not configurable by Hypervisor/Guest Level 2: MMU for partition management context based, configurable only from partition owner A combined DMA and encryption engine (S-DMA) for VM load/migration VM images deciphered using their own symmetrical key (K v ) Critical data (K v and CRC) deciphered using the host s public key K h (protected register of the S-DMA) Tailored processor modes rather than hierarchical ones Three legacy levels refined: HYPERVISOR: S-MMU1/S-MMU2/S-DMA VM-SUPERVISOR: S-MMU1/S-MMU2/S-DMA VM-USER: S-MMU1/S-MMU2/S-DMA One new level added: INITIALIZATION: S-MMU1/S-MMU2/S-DMA CEA. All rights reserved DACLE Division January 2013 6

Cliquez pour Deployment modifier le style architecture du titre A secured master Cipher VMs with its symmetrical K v Cipher VM critical info with public K h of target host (VMK, CRC) Introduce VMs or request migrations One or more Blind Hypervision Host(s) CEA. All rights reserved DACLE Division January 2013 7

Cliquez pour modifier HW/SW le style trade-offs du titre Depending on the architecture starting point: S-DMA as TCB could be SW residing in isolated virtual processor (e.g. ARM Trustzone) S-MPU as a specialized Mondrian memory protection Processor modes require HW assistance Deciding on how some techniques will be implemented depends on: The already available security engine The silicium cost The SW complexity and validation cost CEA. All rights reserved DACLE Division January 2013 8

Cliquez pour Conclusion modifier and le style perspectives du titre Blind Hypervision removes the on-the-fly encryption usually used to achieve root security Preserved security level Should perform better Prototype implementation will be realized to evaluate HW/SW trade-offs and performance gain ARM based prototype using TrustZone µserver based using Kalray MPPA CEA. All rights reserved DACLE Division January 2013 9

Thank you! Centre de Grenoble 17 rue des Martyrs 38054 Grenoble Cedex Centre de Saclay Nano-Innov PC 172 91191 Gif sur Yvette Cedex

Cliquez Low-level pour modifier Secured le MPU style (S-MPU) du titre As soon as it has been configured memory is shown as statically partitioned: One partition for the hypervisor One partition for each possible VM No overlay between partitions except for IO sub system S-MPU behavior: Only the active partition is accessible by the CPU at a given time Perform address translation to show up partition starting at @0 Regular MPU/MMU operate on top of S MPU within the active partition CEA. All rights reserved DACLE Division January 2013 11

Cliquez pour modifier Processor le style modes du (1/2) titre The three legacy modes require to be slightly reworked: The legacy VM-USER, VM_SUPERVISOR operate in the usual way except: S-MPU restricts memory accesses to the VM partition S-DMA usage is not allowed Switching to/from VM MONITOR mode behavior reworked to respect privacy VM-Monitor (hypervisor) mode: S-MPU insure hypervisor runs in its dedicated partition S-DMA usage available in this mode only Only VM SUPERVISOR is reachable from VM_MONITOR one CEA. All rights reserved DACLE Division January 2013 12

Cliquez pour modifier Processor le style modes du (2/2) titre System booting and initialization required adding a 4th mode called INITIALIZATION: Default mode after processor reset: Memory shall be cleared during reset handling S MPU disabled with no remaining data in its registers S-DMA unavailable Dedicated to system init: IO setting S-MPU configuration (HYPERVISOR and VMs partition sizes) Amount of VMs depend on assigned partition size One-shot transition to VM MONITOR mode: Done through a dedicated instruction which result in hypervisor start Activate security features (S-MPU and S-DMA) No preloaded VM allowed CEA. All rights reserved DACLE Division January 2013 13

Cliquez Processor pour modes modifier allowed le style transitions du titre Processor modes Trigger S-MPU S-DMA From To INITIALIZATION VM_MONITOR LaunchHV Enabling Available VM_MONITOR VM_SUPERVISOR LaunchVM Switch to VM partition Unavailable VM- SUPERVISOR VM-USER OS operation OS operation Unchanged partition Unavailable VM-USER VM-SUPERVISOR Unchanged partition Unavailable Switch to hypervisor VM_MONITOR Yield VM-USER partition Available VM- Switch to hypervisor VM_MONITOR Yield SUPERVISOR partition Available * INITIALIZATION Reset Disabling Unavailable CEA. All rights reserved DACLE Division January 2013 14

Cliquez pour Mode modifier switching le style instructions du titre Three instructions are dedicated to processor mode switching: LaunchHV: Instruct the processor to behave in a secure manner Returning to a non-secure behavior require a reset action Enable the VM MONITOR partition and start the hypervisor LaunchVM: Allow a VM monitor to Switch to a given VM without accessing its data Ensure no data exchange between HV and VM Prevent switching to a fake VM (uninitialized VM partition) Yield (include HV preemption through unmaskable interrupt): Switch back to HV from a running VM Prevent data exchange between VM and HV Ensure switching success CEA. All rights reserved DACLE Division January 2013 15

Cliquez pour modifier Switching le style step du by titre step Switching from one processor mode to another looks like this sequence: Current context saving Cache flush and invalidation Processor context wipe out Memory partition switching Processor mode switching Context restoration Remarks: Only mode switching involving security follow this scheme Context saving has to be trusted (either hardwired or implemented through incorruptible code) CEA. All rights reserved DACLE Division January 2013 16

Cliquez pour Privacy modifier and VM le style load/export du titre Encryption mechanisms will be used to ensure privacy during VM loading and migration: VM images will be ciphered using their own symmetrical key: Do not involve whole image encryption prior to download Ensure image efficient deciphering at Blind Hypervision Host (BHH) Critical data (VM cipherkey and CRC) will be ciphered using the public BHH key: Complex ciphering/deciphering operations take place on small data BHH private key is accessible by the S-DMA only CEA. All rights reserved DACLE Division January 2013 17

Cliquez pour modifier VM le monitoring style du titre API The Blind Hypervision Host (BHH) supplies an API to manipulate VM without accessing them directly. Most important primitive are: vmlnewcontext(cipherkey) to get an empty VM partition vmlwritecontext(id, data, size): decipher and write a chunk of VM data into a partition vmlclosecontext(id, CRC): ends VM loading and perform integrity checks Remarks: VM cipherkey and CRC are ciphered using the BHH public key VM image data are ciphered using the symmetrical cipherkey The above API could be extended to support VM migration CEA. All rights reserved DACLE Division January 2013 18

Cliquez Example pour of deployment modifier le style architecture du titre Such IT consists of: A BHH set insuring privacy of executed VMs A VM Master responsible for VM image storage and VM to BHH assignment Only the VM master has to be trusted because of its access to: VM images VM ciphering keys BHH public ciphering keys CEA. All rights reserved DACLE Division January 2013 19

Cliquez Application pour modifier to other le architectures style du titre Those security techniques could be of interest on architectures like: DSP where a compromised boot loader may get access to valuable IP µ-server capable to run one VM only Manycores where a VM will be assigned to one tile/cluster Those architectures shall be easier to custom for security: DSP or µ-server will rely on less processor modes Manycore will rely on natural cluster/tile isolation for S-MPU CEA. All rights reserved DACLE Division January 2013 20

Cliquez pour modifier HW/SW le style trade-offs du titre This secure device relies on several techniques. Depending on the architecture starting point some of them could be implemented in SW: S-DMA as TCB could reside in Trustzone S-MPU could be, but interaction with legacy MPU/MMU may be tricky INITIALIZATON processor mode specificities requires HW assistance Deciding on how some techniques will be implemented depends on: The already available security engine The silicium cost The SW complexity and validation cost CEA. All rights reserved DACLE Division January 2013 21