Haven
Andrew Baumann Marcus Peinado Galen Hunt Microsoft Research
Shielding applications from an untrusted cloud
Haven Shielding applications from an untrusted cloud Andrew - - PowerPoint PPT Presentation
Haven Shielding applications from an untrusted cloud Andrew Baumann Marcus Peinado Galen Hunt Microsoft Research In the old days Application Operating system 2 In the old days Application Operating system 2 In the old days
Andrew Baumann Marcus Peinado Galen Hunt Microsoft Research
Shielding applications from an untrusted cloud
Application Operating system
In the old days…
2
Application Operating system
In the old days…
2
Application Operating system
In the old days…
2
Trust…?
In the cloud
Cloud platform
3
Application Operating systemTrust…?
In the cloud
Cloud platform
3
Application Operating systemTrust…?
In the cloud
Cloud platform
3
Application Operating systemTrust…?
In the cloud
Cloud platform
3
Application Operating systemOur goals for Haven
Secure, private execution
(bugs and all)
in an untrusted cloud
(Intel SGX)
4
Can you trust the cloud?
Hypervisor, firmware, ...
Sysadmins, cleaners, security, …
Application Hypervisor Operating system Firmware/bootloader
People Management tools
Trust
5
6
Hardware Security Modules
7
Trusted hypervisors
Problem #1: system administrators Problem #2: physical attacks (e.g. memory snooping) Problem #3: tampering with hypervisor✓
8
Remote attestation
9
10
Secure colo provides:
11
Secure colo provides:
Raw resources Untrusted I/O
11
Shielded execution
→ Input and output may be encrypted
12
Threat model
13
Intel SGX
Application (untrusted) Enclave Operating system (untrusted)
14
Intel SGX
an enclave
establish, protect
Application (untrusted) Enclave
Secret Data
EnclaveEntry: mov fs:[Tcs],rbx mov fs:[CSSA],eax cmp eax, 0 jne ExceptionEntry mov r10,fs:[ResAdr] cmp r10,0 je @F jmp r10 @@:mov rcx, r8 mov rdx, r9 mov r8, rbxOperating system (untrusted)
14
Enclave RAM Physical memory
SGX at the hardware level
Virtual address space EPC Encrypted & integrity-protected Page table mappings checked Code/data
15
Enclave RAM Physical memory
SGX at the hardware level
Virtual address space EPC Encrypted & integrity-protected Page table mappings checked Code/data
Also:
15
Enclave Operating system
Design challenge: Iago attacks
Application System calls
16
Iago attacks
Our approach:
17
Picoprocess (protects host from guest)
Untrusted interface
Enclave (protects guest from host)
Windows 8 API Drawbridge ABI Drawbridge ABI & SGX priv ops
Windows kernel
Untrusted runtime Application Shield module Drawbridge host SGX driver
Mutual distrust
Haven
Library OS (Drawbridge)
enlightened to run in-process
18
Untrusted interface
Virtual address allocation, threads
Physical pages, VCPUs
Picoprocess
Untrusted interface
Enclave
Windows 8 API Drawbridge ABI Drawbridge ABI & SGX priv ops
Untrusted runtime Application Library OS Shield module
Windows kernel
Drawbridge host SGX driver
19
Picoprocess
Shield module
Don’t trust host to schedule threads
Untrusted interface
Enclave
Windows 8 API Drawbridge ABI Drawbridge ABI & SGX priv ops
Untrusted runtime Application Library OS
Windows kernel
Drawbridge host SGX driver Shield module
20
SGX limitations
21
Good news! These are fixed in SGX v2
SGX limitations
21
Performance evaluation
1.Penalty for access to encrypted memory
22
Performance summary
23
What’s next?
24
Conclusion
Thanks!
baumann@microsoft.com
25