• No results found

Privacy Protection in Virtualized Multi-tenant Cloud: Software and Hardware Approaches

N/A
N/A
Protected

Academic year: 2021

Share "Privacy Protection in Virtualized Multi-tenant Cloud: Software and Hardware Approaches"

Copied!
55
0
0

Loading.... (view fulltext now)

Full text

(1)

Privacy Protection in

Virtualized Multi-tenant Cloud:

Software and Hardware

Approaches

Haibo Chen

Institute of Parallel and Distributed Systems

Shanghai Jiao Tong University

(2)

A Review on a Keynote Speech by

Justin Ratter in ISCA 2008

(3)
(4)

This Talk

Identify security issues with current cloud platform

Describe two approaches to privacy protection of

VMs

Software approach: nested virtualization Hardware approach: secure processor

(5)

Security Issues with Current Cloud

Platform

(6)

Virtualization: enabling the cloud

VM Image User Auth. & Payment VMM Control VM User VM User VM User VM
(7)

Can we simply believe in cloud?

Is this “bubble” trustworthy?

(8)

8

Security Concerns in Cloud

(9)

7 Threats of Cloud Security

[Gartner 08]

Privileged operator access

Regulatory compliance

Data location

Data segregation

Recovery

Investigative support

Long-term viability

9  
(10)

Why we cannot trivially believe in

multi-tenant cloud?

(11)

Reason#1: curious or malicious

operators

...,  peeking  in  on  emails,  chats  and  Google  

Talk  call  logs  for  several  months  …

(12)

Reason#2: huge TCB for cloud

0   1000   2000   3000   4000   5000   6000   7000   8000   9000  

VMM   Dom0  Kernel   Tools   TCB  

KLOCs

Xen  Code  Size

2.0   3.0  

4.0  

VMM

Trusted  Compu-ng  Base  

Control  VM  

Tools Kernel

Guest VM

The  TCB  is  growing  to  9  Million  LOCs  by  2011  

One  point  of  penetraGon  leads  to  full  compromise  

37  security  issues  are  found  in  Xen  and  53  in  VMWare  by  Oct  2010.   [CVE’12]  

(13)

How Can You Break Virtualization

Layer?

Management VM Kernel G u e s t V M VMM Hardware G u e s t V M G u e s t V M Oper at or 1 at t ac k i ng   s ur f ac e at t ac k 2
(14)

MicrosoB  Windows®  Azure™  PlaJorm  Privacy  Statement,  Mar  2011  

Amazon  AWS  User  Agreement,  2010  

Result: Limited Security

Guarantees in Public Cloud

(15)

Outline

Overall Idea

Software-based Protection

CloudVisor: privacy protection of VMs in multi-tenant

cloud with nested virtualization (SOSP 2011)

Hardware-based Protection

HyperCoffer: processor-rooted trust for guest VM

(16)

A Design Principle

”Any problem in computer science can

be solved with another level of

indirection.”

– 

David Wheeler in Butler Lampson’s

1992 ACM Turing Award speech

(17)

Functionality of

Virtualization-Layer

Major functionality

Resource management: manage memory, devices and CPU cores

Multi-tenancy: multiplexing hardware resources to tenants, i.e., creating/running multiple VMs

Cloud management: VM save, clone, migration

Minor functionality

Security protection (e.g., isolation, access control)

Unfortunately, they are intertwined together in the

same hypervisor-layer

(18)

Minimize TCB (Trusted Computing Base)

“Privileged operator access” is the top threat [Gartner’08]

The hypervisor layer is getting more complex and vulnerable

Add “

another layer of indirection

Separate security protection from other main functionalities

Software-based protection: nested virtualization

Add one thin layer below the hypervisor: CloudVisor

Hardware-based protection: reducing TCB to a secure

processor

Leverage a secure processor to do security and privacy protection

Main Idea

(19)

CloudVisor: Security Protection of

Virtual Machines Using a Nested

(20)

Goal of CloudVisor

Defend again curious or malicious cloud operators

Ensure privacy and integrity of a tenant’s VM

Transparent with existing cloud infrastructure

Little or no changes to virtualization stack (OS, VMM)

Minimized TCB for cloud

Easy to verify correctness (e.g., formal verification)

Non-goals

Side-channel attacks, exploiting a user-VM from network, Execution correctness of a VM

(21)

Observation and idea

Key observation: protection logics for VMs are

mostly fixed

Idea:

separate

resource management from security

protection

CloudVisor: another layer of indirection

Responsible for security protection of VMs

(Unmodified) VMM

VM multiplexing and management

Result

Minimized TCB

(22)

Architecture (logically) of

CloudVisor

(23)

Bootstrap Intel  TXT  for  late  launch  CloudVisor   Hash  of  CloudVisor  is  stored  in  TPM

CPU  states Interpose  control  switches  between  VMM  

and  VM  (i.e.,  VMExit)  

Memory  

Pages Interpose  address  translaGon  from  guest  physical  address  to  host  physical  address

I/O  data Transparent  whole  VM  image  encrypGon  

Decrypt/encrypt  I/O  data  in  CloudVisor  

VM protection approach

(24)

Implementation

Xen VMM

Run unmodified Windows, Linux Virtual Machine 1 LOC change to Xen to late launch CloudVisor

100 LOCs patch to Xen to reduce VMExit (Optional)

Run on SMP and support SMP VMs

5500 LOCs

(25)

Performance

0   0.2   0.4   0.6   0.8   1   1.2  

KBuild   apache   SPECjbb   memcached   Average  

6.0%   0.2%   2.6%   1.9%   2.7%   Nor m aliz ed  Slowdown  C om par ed  to   Xe n   Xen  CV   Average  slowdown  2.7%    

(26)

Remaining Issues

(27)

Physical Threats can be Real

Hardware Maintenance

Thousands of machine failures per year [Schroeder et al,

SIGMETRICS’09] in a datacenter

Replacement of memory and disk has becomes daily routine

Data Residual

Memory bus sniffer Non-volatile memory

Cold-boot attack [Halderman’09]

Surveillance camera is NOT Enough!

(28)

HyperCoffer

HyperCoffer: Processor-Rooted

Transparent Protection of VMs

(29)

Goal: Minimalize TCB to Processor

Sec-CPU Hypervisor VM-1 Memory Disk Bus Dom-0 NIC Other Software Hardware Untrusted Trusted VM-2 CPU Hypervisor VM-1 Memory Disk Bus Dom-0 NIC Other VM-2

Traditional System HyperCoffer

(30)

Background: Secure Processor

Previous Work on Secure Processor

Data Privacy

Data is encrypted outside CPU Data is decrypted only in cache

Data Integrity

Update hash tree at every write from cache to memory Check hash tree at every read from memory to cache

Mainly used to protect application from Untrusted OS

(31)

Address-Independent Seed

Encryption

Data  (PlainText)   Counter  

Address   Encrypt   VM-­‐Key   PAD   Data  (CypherText)   XOR  

Data  Cache   Counter  Cache  

Counters  

Secure  Processor  

(32)

Secure Processor: Merkle Hash

Tree

Data  (CypherText)   Counters   Hash  

Root  

Secure  Processor  

(33)

Secure Processor: Bonsai Merkle

Tree

Data  (CypherText)   Counters   Hash  

Root  

Secure  Processor  

(34)

Prior Hardware Approaches

Not really considers systems issues

HyperWall (ASPLOS’12)

requires an OS to specify which pages should be protected Ignore complex interactions between hypervisor and guest VM Not compatible with existing VM operations

H-SVM (MICRO’11)

Use microprogram to do memory isolation, no defense against hardware attacks

Require OS to designate which memory is protected or not

Most others focus on fine-grained protection of

applications or app modules (e.g., SecureME,

(35)

Challenges

1. Interaction between hypervisor and VMs

Selectively expose fields of CPU context to the hypervisor Auxiliary info for instruction emulation (e.g. guest page table) I/O emulation for both disk and NIC

 

2. Backward compatibility with existing OS

Minimize the cost of deployment

3. Supporting VM operations

Not limited by data structure on the chip

HyperCoffer

(36)

Design Overview

36 Shim OS App Hypervisor Shim OS App

I/O Dev Memory Secure CPU

VM-1 VM-2 Shim Mode Host Mode Guest Mode Data Exchange Data Exchange

(37)

Design Overview

1. Complete Isolation

VM-Table to support multiple VMs Tagged cache for different VMs Dedicated EPT memory

2. Controlled Interaction

VM-Shim: Control Interposition

Shim mode

VM-Shim: Data Interaction

3 types of interactive data

(38)

STEP-1: COMPLETE ISOLATION

(39)

Leveraging Secure Processor

Data Privacy: AISE

All the data in VM is encrypted Different VM has different key VM-keys are saved in-chip

Malicious hypervisor/hardware cannot read VM data

Data Integrity: BMT

BMT (Bonsai Merkel Tree) Root hash is saved in-chip

Every memory read will check hash value Every memory write will update BMT

(40)

VM-Table

VM-Table Contents

Each running VM has one entry

Each entry contains a KVM and vm_vector

Kvm is used to encrypt VM, it is per-VM based

vm_vector contains VM info for secure processor, used to verify a VM image

E.g., the root hash of the BMT

VM-Table is saved in a preserved memory region in encrypted form

(41)

BMT & AISE are NOT Enough

1. Inter-VM Remapping Attack

Malicious hypervisor remaps VM-A’s page to VM-B If the data of the page is in cache, then VM-B gets it

Problem: data in cache is plaintext

Solution: tag cache-line with VMID 41

VM-­‐A  EPT   VM-­‐B  EPT   CPU  

Cache-­‐line  

Memory   HPA  

(42)

BMT & AISE are NOT Enough

2. Intra-VM Remapping Attack

Malicious hypervisor remaps a VM’s page-A to page-B If the data is in cache, then two pages are switched

Solution: dedicated memory for EPT

Flush cache when EPT is changed

Optimization: lazy TLB flushing only at n-TLB missing

42

Y  

X  

A  

B  

Y  

X  

A  

B  

HPA   GPA  
(43)

STEP-2: CONTROLLED INTERACTION

(44)

VM-Shim Mode

VM-Shim

A piece of code runs between hypervisor & VM

Exchange data for the two

Shim-Mode

Shim-Mode can access VM’s data VM cannot access Shim’s data

44 Shim VM Hypervisor VMExit ① ② ④ ③

(45)

VM-Shim: Data Interaction

Specification of Interactive Data

Describe the format of interactive data to store then Our implementation: use shim’s memory

Two New Instructions

raw_st: store data without encryption

raw_ld: load data without integrity check

45 VM’s  Memory Shim’s  Memory CPU  Context InteracGve  Data Encrypted Plaintext

(46)

VM-Shim: Interactive Data

Minimize Interactive Data

Different for different VMEXITs

Data Specification

Communication protocol between hypervisor and shim

46

CPU  Context Register  value  of  guest  VMs Disk  I/O Meta-­‐data  of  I/O  operaGons Network  I/O Both  meta-­‐data  and  I/O  data

(47)

Example: Trap & Emulate

I/O Instruction:

in %dx %eax

Read from I/O port %dx and put value into %eax

47 Shim VM Hypervisor I/O Dev %dx   %dx   % ea x   %eax   insn   CPU Shim’s Memory

(48)

Example: DMA in Network I/O

DMA in Network I/O

Maintain states by interposition all I/O operations to device Use Shim’s own memory as shadow buffer for DMA

48 Shim VM Hypervisor I/O Dev Shim’s Memory VM’s Memory data   data  

(49)

Implementation

On Emulator

Based on Qemu

On Real Machine

Use hook of VMExit to implement VM-Shim

Components

User-level agent: 200 LOCs VM-Shim: 1100 LOCs

Xen: 180 LOCs

(50)

Evaluation on Simulator

Simulator

Dinero-IV

LLC: 8MB 8-way set-associative

Counter Cache: 64KB and 8-way set-associative Cache using LRU replacement, 64-byte block Memory: 512 MB, with latency 350 cycles

AES encryption: 80 cycles

Virtualization Software

Xen-4.0.1, domain-0 with Linux 2.6.31

Virtual Machine

One or more core, 1GB memory 20GB virtual disk, virtual NIC

Unmodified Debian with kernel 2.6.31, x64 Windows XP SP2, x64

(51)

Evaluation on Simulator

0   2   4   6   8   10   12   14   2.8   3.6   1   0.3   0.5   3.7   6.8   3.2   2.3   0.4   2.4   13.9   7.9   4.2   1.2   2.2   8.1   9   3.3   4   0.6   5.4   N or m al iz ed  S lo w do w n   w ith  X en  (%)     AISL+BMT   AISL+BMT+Shim   51
(52)

Evaluation on Real-Machine

Software

Xen-4.0.1, domain-0 with Linux 2.6.31

Hardware

AMD quad-core CPU, 4GB memory 100Mb NIC, 320GB disk

Virtual Machine

One or more core, 1GB memory 20GB virtual disk, virtual NIC

Unmodified Debian with kernel 2.6.31, x64 Windows XP SP2, x64

(53)

Evaluation on Real-Machine

0   1   2   3   4   5   6   7  

kbuild   dbench   netperf   memcached   specjbb-­‐xp   2.8   2.3   4.1   6.8   0.7   5.8   1.7   0.3   6.8   1.5   Pe rf or m an ce  O ve rh ea d   ov er  X en  (%)     Single-­‐core   Qual-­‐core   53

(54)

Summary

Lack security guarantee in multi-tenant cloud

A case on integrated approach to computer systems

Two software/hardware systems to secure cloud

CloudVisor: whole-VM protection with nested hypervisor HyperCoffer: hardware-rooted whole-system security See our papers for more detailed information

(55)

Thanks

Institute of Parallel and Distributed Systems

http://ipads.se.sjtu.edu.cn

Ques]ons?

CloudVisor/Hypercoffer

   

One  (small)  ring  to  Rule  them  

(cloud)  all

References

Related documents

Unlike master’s level psychotherapists whose training focuses narrowly on counseling, RxP will highlight that psychologists have advance training in diagnosis and treatment of

From the analytical study performed on the beam test results, it has been shown that long span composite beams with precast hollow-core slabs have a reduced

using stuDent evaLuations to enhanCe teaChing praCtiCe: CLosing the Loop Practical Implementation Institutional Context Engagement Engagement values reporting

Production and business areas Organisational structure Corporate governance Board of directors Board of statutory auditors Risk Management.. Internal audit and internal control

The effects of written information of key sensory characteristics of apple cultivars on 7.. hedonic ratings and willingness to pay (WTP) were measured in an

(2010) Sub-classification of colorectal cancer using surface antigen antibody microarray and fluorescence multiplexing, Human Proteome Organisation (HUPO) 2012 annual

La ratio decidendi, por último, será la siguiente: “How and why the sentence of silence was imposed” 75, es decir, que el artículo se propone elucidar de qué manera y por qué

The aim is to estimate inter-annual variations in the effect of heat for a fixed temperature range, on mortality in 9 European cities included in the PHASE (Public Health