cafe a virtualization based approach to protecting
play

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


  1. 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 Institute of ETRI America CAFE: Cloud Application Function Enclaving

  2. Outline • Background and Challenges • CAFE Framework • Evaluation • Related Work • Conclusion 2 CAFE: Cloud Application Function Enclaving

  3. Background: Cloud Marketplace 3 CAFE: Cloud Application Function Enclaving

  4. 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 CAFE: Cloud Application Function Enclaving

  5. 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 CAFE: Cloud Application Function Enclaving

  6. Design of CAFE 6 CAFE: Cloud Application Function Enclaving

  7. 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 CAFE: Cloud Application Function Enclaving

  8. 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 CAFE: Cloud Application Function Enclaving

  9. Secret Binary Deployment Protocol 1. A cloud user executes a purchased cloud app. 9 CAFE: Cloud Application Function Enclaving

  10. Secret Binary Deployment Protocol 2. Pass a SecretBinaryID to the hypervisor in order to match the purchased app with a proper secret binary 10 CAFE: Cloud Application Function Enclaving

  11. Secret Binary Deployment Protocol 3. The SBS and the hypervisor establish a secure channel using a variant of the TLS protocol and share secrets for the secret binary encryption. 11 CAFE: Cloud Application Function Enclaving

  12. Secret Binary Deployment Protocol 4. The SBS generates and sends a nonce to the hypervisor for the freshness of the attestation evidence. 12 CAFE: Cloud Application Function Enclaving

  13. 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 CAFE: Cloud Application Function Enclaving

  14. Secret Binary Deployment Protocol 6. The hypervisor transmits a SignedDigest, the result of the TPM_Quote2 operation, to the SBS 14 CAFE: Cloud Application Function Enclaving

  15. Secret Binary Deployment Protocol 7. The SBS attests the integrity of the hypervisor with the VM server’s PU AIK . The success of the attestation means the TCB is not compromised. 15 CAFE: Cloud Application Function Enclaving

  16. Secret Binary Deployment Protocol 8. The SBS sends the AttestResult to the hypervisor. 16 CAFE: Cloud Application Function Enclaving

  17. Secret Binary Deployment Protocol 9. If the AttestResult is SUCCESS, the hypervisor sends a Virtual Machine ID and the SecretBinaryID to the SBS. 17 CAFE: Cloud Application Function Enclaving

  18. Secret Binary Deployment Protocol 10. After checking the license, the SBS encrypts the secret code section of a proper secret binary with the pre-shared secrets in the Step 3. 18 CAFE: Cloud Application Function Enclaving

  19. 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 CAFE: Cloud Application Function Enclaving

  20. Secure Loading of Secret Binary 1. The CAFE library loads the encrypted secret binary and requests the hypervisor to securely load it. 20 CAFE: Cloud Application Function Enclaving

  21. Secure Loading of Secret Binary 2. Prior to decryption, the hypervisor isolates the memory area of the encrypted secret binary from the guest VMs. 21 CAFE: Cloud Application Function Enclaving

  22. Secure Loading of Secret Binary 3. The hypervisor verifies the HMAC value and decrypts the encrypted secret binary. 22 CAFE: Cloud Application Function Enclaving

  23. Secure Loading of Secret Binary 4. The hypervisor relocates the decrypted secret binary with the relocation information from the CAFE library. 23 CAFE: Cloud Application Function Enclaving

  24. Secure Loading of Secret Binary 5. The hypervisor returns the result of the deployment process. 24 CAFE: Cloud Application Function Enclaving

  25. 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 CAFE: Cloud Application Function Enclaving

  26. 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 CAFE: Cloud Application Function Enclaving

  27. Performance Overhead Application Program Program Info Overhead Category Name NGINX Access module 1.90% Decision-making logic Sendmail Mail filter (Milter) 2.81% Google One-time passcode 2.52% Authenticator generation Cryptographic operations ARIA block encryption / EncFS 900.13% decryption MapReduce k-means clustering 8.04% Data processing workload Hadoop Word counting 5.82% • EncFS is a heavy I/O stress test. Other typical usages of security sensitive operations have low overhead. 27 CAFE: Cloud Application Function Enclaving

  28. 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 CAFE: Cloud Application Function Enclaving

  29. 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 CAFE: Cloud Application Function Enclaving

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend