Shielding applications from an untrusted cloud with Haven

Slides:



Advertisements
Similar presentations
Wei Lu 1, Kate Keahey 2, Tim Freeman 2, Frank Siebenlist 2 1 Indiana University, 2 Argonne National Lab
Advertisements

Virtualization Dr. Michael L. Collard
Secure In-VM Monitoring Using Hardware Virtualization Monirul Sharif, Wenke Lee, Weidong Cui, and Andrea Lanzi Presented by Tyler Bletsch.
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Virtualization and Cloud Computing. Definition Virtualization is the ability to run multiple operating systems on a single physical system and share the.
1 Implementing an Untrusted Operating System on Trusted Hardware David Lie Chandramohan A. Thekkath Mark Horowitz University of Toronto, Microsoft Research,
Implementing an Untrusted Operating System on Trusted Hardware.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Shielding Applications from an Untrusted Cloud Andrew Baumann, Marcus Peinado, and Galen Hunt. OSDI Fall 2014 Presenter: Kun Sun, Ph.D. Most slides.
Virtual Machine Security Design of Secure Operating Systems Summer 2012 Presented By: Musaad Alzahrani.
Towards Application Security On Untrusted OS
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Virtualization for Cloud Computing
Virtual Machine Security Summer 2013 Presented by: Rostislav Pogrebinsky.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Jakub Szefer, Eric Keller, Ruby B. Lee Jennifer Rexford Princeton University CCS October, 2011 報告人:張逸文.
Kenichi Kourai (Kyushu Institute of Technology) Takuya Nagata (Kyushu Institute of Technology) A Secure Framework for Monitoring Operating Systems Using.
Virtual Machine Security Systems Presented by Long Song 08/01/2013 Xin Zhao, Kevin Borders, Atul Prakash.
Trusted Computing Or How I Learned to Stop Worrying and Love the MPAA.
The Entropia Virtual Machine for Desktop Grids Brad Calder, Andrew A. Chien, Ju Wang, Don Yang – VEE-2005 Raju Kumar CS598C: Virtual Machines.
29th ACSAC (December, 2013) SPIDER: Stealthy Binary Program Instrumentation and Debugging via Hardware Virtualization Zhui Deng, Xiangyu Zhang, and Dongyan.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
An Introduction to Device Drivers Ted Baker  Andy Wang COP 5641 / CIS 4930.
Security Vulnerabilities in A Virtual Environment
Full and Para Virtualization
Protecting The Kernel Data through Virtualization Technology BY VENKATA SAI PUNDAMALLI id :
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Study on “Secure In-VM Monitoring Using Hardware Virtualization” Qiang.Guan Dependable Computing System Lab New Mexico Tech.
Secure Offloading of Legacy IDSes Using Remote VM Introspection in Semi-trusted IaaS Clouds Kenichi Kourai Kazuki Juda Kyushu Institute of Technology.
Virtualization Neependra Khare
1.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 1: Introduction What Operating Systems Do √ Computer-System Organization.
Introduction to Operating Systems Concepts
Virtualization for Cloud Computing
Virtualization.
Chapter 6: Securing the Cloud
Modularity Most useful abstractions an OS wants to offer can’t be directly realized by hardware Modularity is one technique the OS uses to provide better.
Trusted Computing and the Trusted Platform Module
Introduction to Operating Systems
Manuel Brugnoli, Elisa Heymann UAB
Current Generation Hypervisor Type 1 Type 2.
Virtualization Dr. Michael L. Collard
EnGarde: Mutually Trusted Inspection of SGX Enclaves
Chapter 1: Introduction
Trusted Computing and the Trusted Platform Module
Operating System Structure
Virtualization overview
An Introduction to Device Drivers
OS Virtualization.
Introduction to Operating Systems
TPM, TEE, SGX Technologies
Virtualization Techniques
Bastion secure processor architecture
Cloud Security 李芮,蒋希坤,崔男 2018年4月.
Prof. Leonardo Mostarda University of Camerino
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Operating Systems: A Modern Perspective, Chapter 3
Operating System Introduction.
Sai Krishna Deepak Maram, CS 6410
SCONE: Secure Linux Containers Environments with Intel SGX
Aimee Coughlin, Greg Cusack, Jack Wampler, Eric Keller, Eric Wustrow
Erica Burch Jesse Forrest
Xen and the Art of Virtualization
TEE-Perf A Profiler for Trusted Execution Environments
What is needed in the Next Generation Cloud trusted platform?
2019 2학기 고급운영체제론 ZebRAM: Comprehensive and Compatible Software Protection Against Rowhammer Attacks 3 # 단국대학교 컴퓨터학과 # 남혜민 # 발표자.
Presentation transcript:

Shielding applications from an untrusted cloud with Haven Based on the paper ‘’ Shielding applications from an untrusted cloud with Haven’’ by Andrew Baumann, Marcus Peinado, and Galen Hunt, Microsoft Research.

Content Introduction System Limitations and Performance Future Work Motivation Current Approaches Objective System Limitations and Performance Future Work Conclusion

Motivation Todays clouds use a security model that aims only to protect the privileged code (of the cloud provider) from untrusted code. (user’s VM) What does this mean to the user? The user must trust: Provider’s Software Provider’s Staff Law Enforcement Bodies

Current Approaches Trusted hypervisors Hardware Security Modules Temper proof Hardware to protect secrets Support a range of cryptographic functions Expensive Do not usually run general-purpose applications Trusted hypervisors Protection of an application from malicious OS Cannot protect against a hypervisor controlled by malicious or comprimised cloud provider

Objective Secure execution of unmodified legacy applications on a commodity OS and commodity hardware ‘’… level of trust equivalent to user operating their own hardware in a locked cage at a colocation facility’’ What does that mean? Limiting the cloud provider to offering raw resources Just like the colocation provider Can deny service but cannot observe or modify any user data => Shielded Execution

Security overview Background Design Implementation System Security overview Background Design Implementation

Security Overview Shielded execution Thread Model and Assumptions Isolated execution Protecting specific code from rest of the system However naive isolated programs are vulnerable Guarantees Confidentiality (like a ‘’Black Box’’) and Integrity Thread Model and Assumptions Assuming CPU itself is implemented correctly Adversary has full control beyond the physical package of CPU and entire software stack Do not considering side-channel attacks

Background Intel SGX DrawBridge Memory protection Attestation Enclave entry and exit Dynamic memory allocation DrawBridge Low-overhead Sandboxing Picoprocess and LibOS

Design Challenges Architecture Malicious host OS Unmodified Binaries Iago Attacks Unmodified Binaries Architecture Enclave within Drawbridge picoprocess Contains entire application and LibOS Augmented with 2 layers Shield Module Untrusted runtime

Shield Module Trusted Computing base Protecing LibOS and application from Iago attacks. Services Virtual memory Storage Threads and synchronisation

Untrusted interface ‘’the guest controls policy for virtual resources, while the host manages policy only for physical resources.’’ Mutual distrust between Host/Guest Limits host to only physical resource allocations Untrusted runtime Bootstrap and glue code Untrusted both ways Creating enclave, loading shield, forwarding calls

Implementation SGX support to host OS by writing a driver and changes on kernel Modifications on host kernel to enable efficient mapping Support for debugging an enclave using SGX debug mechanism Minor modifications on LibOS

Deployment and attestation Constructing a disk image and encrypting it Encrypted VHD and shield binary are sent to the cloud provider Cloud provider establishes a picoprocess and loads untrusted runtime After initialisation the shield generates a public/private key pair and uses it to establish a network connection with user If everything is loaded correctly the user encrypts the VHD key using the public key and sends it back to shield

Limitations and performance SGX Limitations Performance evaluation

SGX limitations Dynamic memory allocation Exception handling Not all exception causes are reported to the enclave Permitted instructions SGX dissalows in-enclave execution of instructions that are commonly encountered in LibOS and application boundaries effecting performance Thread-local storage

Performance Evaluation Comparing Haven’s performance to alternative host environments (which do not provide shielded execution) Summary: Haven’s performance penalty vs. a VM is 31-54% Acceptable overheads, in return for not needing to trust the cloud

Future work Storage rollback Untrusted time Cloud management Cannot prevent the attack: ‘’the enclave is terminated, and its in-memory state is lost Plan to communicate only on ‘’critical’’ writes Untrusted time Malicious host may lie about time or signal timeouts Plan to ensure the clock always runs forward And using cycle counter as an alternative clock Cloud management Haven prevents host’s ability to capture and recreate guest state Plan to implement checkpoints and resume by capturing state to an encrypted image

Conclusion Cloud platforms offer many advantages but the provider must be trusted with full access to user data. Implementing a shielded execution eliminates this risk Bringing us closer to ‘’utility computing’’ for the cloud Utility provies resources But has no acess to user data

Thank you Yanki Kurtcan