CAFE: A Virtualization-Based Approach to Protecting Sensitive Cloud - - PowerPoint PPT Presentation

cafe a virtualization based approach to protecting
SMART_READER_LITE
LIVE PREVIEW

CAFE: A Virtualization-Based Approach to Protecting Sensitive Cloud - - PowerPoint PPT Presentation

CAFE: A Virtualization-Based Approach to Protecting Sensitive Cloud Application Logic Confidentiality Chung Hwan Kim Sungjin Park Junghwan Rhee Taisook Han Dongyan Xu Jong-jin Won Purdue University The Attached NEC Laboratories KAIST


slide-1
SLIDE 1

CAFE: Cloud Application Function Enclaving

CAFE: A Virtualization-Based Approach to Protecting Sensitive Cloud Application Logic Confidentiality

Chung Hwan Kim Dongyan Xu Purdue University Sungjin Park Jong-jin Won The Attached Institute of ETRI Junghwan Rhee NEC Laboratories America Taisook Han KAIST

slide-2
SLIDE 2

CAFE: Cloud Application Function Enclaving

Outline

  • Background and Challenges
  • CAFE Framework
  • Evaluation
  • Related Work
  • Conclusion

2

slide-3
SLIDE 3

CAFE: Cloud Application Function Enclaving

Background: Cloud Marketplace

3

slide-4
SLIDE 4

CAFE: Cloud Application Function Enclaving

Challenges

  • The deployed software faces the risk of piracy and

reverse engineering.

  • Cloud tenants can easily access the binary of software

deployed in the guest VMs.

  • E.g., file access, debugger, memory dump, etc.
  • They can deploy the same applications without the

marketplace.

4

slide-5
SLIDE 5

CAFE: Cloud Application Function Enclaving

Goals

  • Secure execution of sensitive application logic

confidential to user VMs

  • A cloud user with admin privilege cannot obtain the

sensitive application logic.

  • Scalable and practical distribution of secret binaries for

cloud marketplaces

  • Content of the binary remains confidential end-to-end

from its submission to its execution.

5

slide-6
SLIDE 6

CAFE: Cloud Application Function Enclaving

Design of CAFE

6

slide-7
SLIDE 7

CAFE: Cloud Application Function Enclaving

Creation of Secret Binary

  • Process
  • Application developers determine which part of application logic needs

confidentiality.

  • Implement public and secret functions separately.
  • The secret functions are placed in the secret code section of the shared library.
  • Public binary objects are linked with the CAFE library.
  • CAFE library features
  • Transmission layer for the hypervisor
  • Hypercall interfaces

7

slide-8
SLIDE 8

CAFE: Cloud Application Function Enclaving

Submission of Cloud Application

  • Application developers build their program into two

separate groups and submit them to the marketplace.

  • Public binaries
  • Packaged in a VM image along with other binaries
  • Secret binaries
  • Stored in the Secret Binary Server (SBS) in the cloud

provider domain

8

slide-9
SLIDE 9

CAFE: Cloud Application Function Enclaving

Secret Binary Deployment Protocol

  • 1. A cloud user executes a purchased cloud app.

9

slide-10
SLIDE 10

CAFE: Cloud Application Function Enclaving

Secret Binary Deployment Protocol

  • 2. Pass a SecretBinaryID to the hypervisor in order to match

the purchased app with a proper secret binary

10

slide-11
SLIDE 11

CAFE: Cloud Application Function Enclaving

Secret Binary Deployment Protocol

  • 3. The SBS and the hypervisor establish a secure channel using a variant
  • f the TLS protocol and share secrets for the secret binary encryption.

11

slide-12
SLIDE 12

CAFE: Cloud Application Function Enclaving

Secret Binary Deployment Protocol

  • 4. The SBS generates and sends a nonce to the hypervisor for

the freshness of the attestation evidence.

12

slide-13
SLIDE 13

CAFE: Cloud Application Function Enclaving

Secret Binary Deployment Protocol

  • 5. The hypervisor performs the TPM_Quote2 operation to attest the

integrity of the hypervisor, the trusted computing base of CAFE.

13

slide-14
SLIDE 14

CAFE: Cloud Application Function Enclaving

Secret Binary Deployment Protocol

  • 6. The hypervisor transmits a SignedDigest, the result of the

TPM_Quote2 operation, to the SBS

14

slide-15
SLIDE 15

CAFE: Cloud Application Function Enclaving

Secret Binary Deployment Protocol

  • 7. The SBS attests the integrity of the hypervisor with the VM server’s

PUAIK . The success of the attestation means the TCB is not compromised.

15

slide-16
SLIDE 16

CAFE: Cloud Application Function Enclaving

Secret Binary Deployment Protocol

  • 8. The SBS sends the AttestResult to the hypervisor.

16

slide-17
SLIDE 17

CAFE: Cloud Application Function Enclaving

Secret Binary Deployment Protocol

  • 9. If the AttestResult is SUCCESS, the hypervisor sends a

Virtual Machine ID and the SecretBinaryID to the SBS.

17

slide-18
SLIDE 18

CAFE: Cloud Application Function Enclaving

Secret Binary Deployment Protocol

  • 10. After checking the license, the SBS encrypts the secret code section
  • f a proper secret binary with the pre-shared secrets in the Step 3.

18

slide-19
SLIDE 19

CAFE: Cloud Application Function Enclaving

Secret Binary Deployment Protocol

  • 11. The SBS sends an encrypted secret binary and a HMAC

value of the encrypted secret binary to the CAFE library

19

slide-20
SLIDE 20

CAFE: Cloud Application Function Enclaving

Secure Loading of Secret Binary

  • 1. The CAFE library loads the encrypted secret binary and

requests the hypervisor to securely load it.

20

slide-21
SLIDE 21

CAFE: Cloud Application Function Enclaving

Secure Loading of Secret Binary

  • 2. Prior to decryption, the hypervisor isolates the memory area
  • f the encrypted secret binary from the guest VMs.

21

slide-22
SLIDE 22

CAFE: Cloud Application Function Enclaving

Secure Loading of Secret Binary

  • 3. The hypervisor verifies the HMAC value and decrypts the

encrypted secret binary.

22

slide-23
SLIDE 23

CAFE: Cloud Application Function Enclaving

Secure Loading of Secret Binary

  • 4. The hypervisor relocates the decrypted secret binary with

the relocation information from the CAFE library.

23

slide-24
SLIDE 24

CAFE: Cloud Application Function Enclaving

Secure Loading of Secret Binary

  • 5. The hypervisor returns the result of the deployment process.

24

slide-25
SLIDE 25

CAFE: Cloud Application Function Enclaving

Execution of Secret Binary

  • Call secret functions
  • Any function call to the code inside the secret binary will

trap to the hypervisor.

  • Pass input parameters to secret binaries
  • Marshal input parameters into the secret function’s stack
  • Pass return values to public binaries
  • Unmarshal outputs into the public binary function’s stack

25

slide-26
SLIDE 26

CAFE: Cloud Application Function Enclaving

Implementation

  • Hypervisor
  • Implemented on top of the eXtensible and Modular Hypervisor

Framework (XMHF) [Oakland’13]

  • Machine
  • Processor: AMD Turion II P520 2.3 GHz
  • Memory: 4GB
  • Storage: 256 GB SSD
  • Guest OS: 32-bit version of Ubuntu 12.04

26

slide-27
SLIDE 27

CAFE: Cloud Application Function Enclaving

Performance Overhead

27

Application Category Program Name Program Info Overhead Decision-making logic NGINX Access module 1.90% Sendmail Mail filter (Milter) 2.81% Cryptographic

  • perations

Google Authenticator One-time passcode generation 2.52% EncFS ARIA block encryption / decryption 900.13% Data processing workload MapReduce k-means clustering 8.04% Hadoop Word counting 5.82%

  • EncFS is a heavy I/O stress test. Other typical usages of security

sensitive operations have low overhead.

slide-28
SLIDE 28

CAFE: Cloud Application Function Enclaving

Related Work

  • Overshadow [ASPLOS’08]
  • Provides cloaking for general purpose legacy unmodified applications and untrusted

kernel.

  • CAFE provides stronger code confidentiality.
  • Tightly verified and sanitized input and output
  • A constrained scope of sensitive code
  • TrustVisor [Oakland’10]
  • Provides an infrastructure for executing security-sensitive code in isolated memory
  • CAFE provides the confidentiality of the binaries in an end-to-end manner for the

entire lifetime of the deployed software.

28

slide-29
SLIDE 29

CAFE: Cloud Application Function Enclaving

Conclusion

  • CAFE provides the confidential distribution and

execution of cloud applications.

  • We show the effectiveness and practicality of CAFE.
  • Reasonable performance overhead
  • Evaluation on six applications commonly used in cloud

marketplaces

29