Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

Pure Software Engineer :)

[CCS 2011] Eliminating the Hypervisor Attack Surface for a More Secure Cloud 본문

Software Engineering/Paper

[CCS 2011] Eliminating the Hypervisor Attack Surface for a More Secure Cloud

HelloJaewon 2012. 5. 4. 11:05

NoHype 에 대한 prototype 제시 (on Intel Nehalem quad-core processor)

VMlife timecreation, bootup, execution, shutdown 으로 보고 아래의 4가지 단계로 prototype을 나눠서 design

 

1. VM Creation

- pre-allocation (CPU, memory)

Dom0Core 0번에 고정

CPU : pin a VM to a set of cores

memory : pre-setting Extended Page Table(EPT)

 

- virtualized I/O device (여기서는 NIC )

PCI pass through mechanism(?)을 통해... -> Xen에서 지원된다는데...

 

2. Guest VM bootup

- Temporary hypervisor -> to support system discovery (device, processor capability)

(i) device discovery

 

 

 xen 에서는 device discovery 하기 위해 특정 메모리에 query(read) 하면 trap이 발생하여 hypervisor가 받아서 Dom0에 있는 QEMU에 넘겨준다.
(현재 NICdiscover 되게 QEMU를 수정함)

- device discovery 이후에는 I/O APIC(Advanced Programmable Interrupt Controller)를 통해 interrupt vector 설정.

 

- 이때, I/O APIC 고치는 것 역시, 실제로 interrupt가 발생하면 hypervisor가 받아서 guest VM에게 다시 mapping 시키는 것으로 Xen에서 동작하는데, Xenguest OS를 수정 하여 서로 다른 VM끼리 interrupt vector가 안 겹치도록 함.

 

(ii) processor capabilities (clock frequency, core identifier, processor’s features)

- processor’s feature -> CPUID instruction -> 이것 역시 trap으로 hypervisor에게 넘어가는데 linux kernel을 수정하여 bootup 때 알아 두었다가 CPUID instructionsystem call로 대체함.

 

 

 

 

 

3. Hypervisor Disengagement

- booting 끝나면 temporary hypervisor도 사라져야 함.

 

- xen이 더 이상 IPI(Inter Processor Interrupt) 를 안 보내도록

 

 

 

 

 

- guestcore에 대한 full control을 가짐

- VMCS(Virtual Machine Control Structure) setting

-> virtualized APIC access bit to ‘0’

- mapping EPT

 

 

 

 

 

 

4. Guest Execution / Shutdown

 - VM 스스로 shutdown

 

 

 

- force shutdown of VM

 

- by creating VMCS, VM should exit when the core receive non-maskable interrupt (NMI)

 

 

 

 

Security Analysis

- Remaining Hypervisor Attack Surface

 

- system management(VM creation/termination ) 여전히 temporary hypervisor 요구함

- hypervisor를 고치고 OS kernel도 수정한 이미지를 provider가 제공함으로써 customerOS kernel 에 대한 control 없음.

- malicious customerVM exit를 통해 hypervisor context에서 뭔가 하려고 하면 VM exit 하는 순간 해당 guesttermination 시킴 (ex. 다른 VMmemory access)

 

 

 

 

- VM to VM Attack Surface

 

- 현재 hardware로는 IPI를 막을 방법이 없음.

- 그래서 malicious 사용자가 다른 사용자에게 계속 IPI를 보냄으로써 DOS Attack을 할 수 있다.

- 하지만 실제로 실험 해본 결과(Apache, SPEC2006) 크게 영향은 없었다.

 

  

Conclusion

- Hypervisorsystem의 가장 높은 privilege를 가지고 있다.

- Cloud와 같이 여러 사용자가 share 하는 상황에서 hypervisorattack target이 되고 있음.

- 기존의 접근 방식은...

minimizing hypervisor, new processor architecture, hardening hypervisor, direct access to hardware 등을 생각함

- NoHype는 아예 hypervisor를 없이 system virtualization 하도록 함

- 이를 통해 처음부터 공격할 hole을 없애는 효과를 가짐.

- 아직 hardware 지원의 부족으로 (SR-IOV) deviceNICVirtualize