Computer Science Cloud Computing Infrastructure Security Peng Ning With Ahmed Azab, Xiaolan Zhang, Wu Zhou, Xuxian Jiang, and Zhi Wang. Supported by the US NSF under grant # 0910767, the US ARO under the grant # W911NF-08-1-0105, and IBM under Open Collaboration Research (OCR) Awards. June 29, 2012 ACNS 2012 1 Outline • Background • Security threats to cloud computing • Security of cloud computing infrastructure – – – – – Driven by a new security architecture for cloud computing Hypervisor-based security services Offline VM image security services Hypervisor integrity services Isolation that can bypass hypervisor control • Conclusion Computer Science June 29, 2012 ACNS 2012 2 What is Cloud Computing • Wikipedia – Cloud computing is a paradigm of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet – Users need not have knowledge of, expertise in, or control over the technology infrastructure in the "cloud" that supports them – Reduction in hardware, operational and administrative costs • Virtualization is a key to cloud computing – Scalability – Ease of use – Affordable pricing Computer Science June 29, 2012 ACNS 2012 3 Example: Amazon Elastic Compute Cloud (EC2) EC 2Start Management Console Set theVerify Instance Instance Launch thethe Instance an up Instance Computer Science June 29, 2012 ACNS 2012 4 Security Threats in Cloud Computing External threats Guest-to-guest threats Guest-to-cloud threats Cloud-to-guest threats Computer Science June 29, 2012 ACNS 2012 5 Cloud Computing Infrastructure Security • Our proposal – A security architecture for compute clouds • Focus on Infrastructure as a Service (IaaS) – Addition of security architecture components • • • • Hypervisor-based security services Offline VM image security services Hypervisor integrity services Isolation mechanisms that can bypass the hypervisor Computer Science June 29, 2012 ACNS 2012 6 A Typical Compute Cloud Computer Science June 29, 2012 ACNS 2012 7 Virtualization-based Runtime Security Services HIMA [ACSAC ’09] HookSafe [CCS ’09] Computer Science June 29, 2012 ACNS 2012 8 Example Service: HIMA • HIMA: Hypervisor based Integrity Measurement Agent • Validation of VMs with runtime guarantees – Measure the VM OS and applications loaded into guest VMs – Actively monitor all guest events that could change measured applications • Time of Check to Time of Use (TOCTTOU) consistency • Prototypes – Initial implementation works for Xen (para-virtualization) – Ported to support KVM (hardware assisted virtualization) Ahmed M. Azab, Peng Ning, Emre C. Sezer, and Xiaolan Zhang, "HIMA: A Hypervisor Based Integrity Measurement Agent," in Proceedings of ACSAC 2009, December 2009. Computer Science June 29, 2012 ACNS 2012 9 VM Image Security Services Nüwa—offline patching [ACSAC ’10] Offline virus scanning [CCSW ’09] Computer Science June 29, 2012 ACNS 2012 10 Example Service: Nüwa(女娲) • Nüwa – Offline Patching of VM Images • Motivation – Dormant VM images usually contain vulnerabilities – Offline patching service • A desirable security service in compute clouds • Technical challenge – Current patching system: Designed for running systems – Pre- and post-processing scripts – Examples: Stop/start daemons; Conditional updates Computer Science June 29, 2012 ACNS 2012 11 Nüwa Approach • Two phases – Phase 1: Automatic script rewriting – Phase 2 (Leftovers): Resort to online updates – Our research focus is on script rewriting • Variations – Standalone Nüwa: Offline patching of individual VM images in emulated environments – Mirage-based Nüwa: Batched offline patching using the Mirage VM image library Wu Zhou, Peng Ning, Xiaolan Zhang, Glenn Ammons, Vasanth Bala, Ruowen Wang, "Always Up-to-date -- Scalable Offline Patching of VM Images in a Compute Cloud," in Proceedings of ACSAC 2010, December 2010. Computer Science June 29, 2012 ACNS 2012 12 Some Evaluation Results • Standalone Nüwa – Base VM image • 64-bit Ubuntu 8.04; 406 patches (collected on 10/26/2009) • 402 patches can be applied offline (99%) – Failure cases • Mono-gac package and three others that depend on it • Mirage-based Nüwa – 100 VM images based on 32-bit Ubuntu 8.04 • Using 100 randomly selected subsets of basic Ubuntu tasks – Top 8 security updates from Ubuntu Security Notices • Ranked by Ubuntu popularity contest • All data collected on 01/18/2010 Computer Science June 29, 2012 ACNS 2012 13 Some Evaluation Results (Cont’d) • Performance gain by standalone Nüwa – About 4 times speedup Offline Online 120 Time (in seconds) 101.9 97.3 100 89.0 88.2 80 75.4 75.1 72.6 70.2 80.2 60 40 26.2 20 16.5 18.6 14.9 17.8 26.8 16.6 23.1 21.3 0 bash dbus libfreetype6 libpng12-0 libxml2 perl sambacommon udev Average * “Average” refers to the average of all 402 packages. Computer Science June 29, 2012 ACNS 2012 14 Some Evaluation Results (Cont’d) • Additional speedup by Mirage-based Nüwa – Another 2 – 10 times Speedup of Mirage-based batch patching over one-by-one patching 12 dbus 10 dash libdbus Speedup 8 libfreetype6 6 Libpng12-0 4 libglib2.0-0 libxml2 2 udev 0 10 20 30 40 50 60 70 80 90 100 Number of images patched Computer Science June 29, 2012 ACNS 2012 15 Hypervisor Integrity Services HyperSentry [CCS ’10] Computer Science June 29, 2012 ACNS 2012 16 Example Service: HyperSentry • Why HyperSentry? – Hypervisor is the highest privileged software – Compromise of hypervisor compromise of the system – Hypervisors cannot be blindly trusted • Example #1: Xen owning trilogy [BlackHat 2008] • Example #2: VM Ware ESX 3.x – 6/18/12: 67 Secunia advisories; 562 vulnerabilities; 7% Secunia advisories not patched – Hypervisor's code base is growing More vulnerabilities? Computer Science June 29, 2012 ACNS 2012 17 HyperSentry • HyperSentry – Stealthy and in-context measurement of hypervisor integrity • Challenges – A fundamental problem • How to measure the integrity of the highest privileged software? – Hypervisor has full control of the software system (most of the time) • Scrubbing attacks • Tampering with the measurement agent • Tampering with the measurement results – Relying on a higher privileged software goes back to the same problem Computer Science June 29, 2012 ACNS 2012 18 The HyperSentry Approach • HyperSentry – A generic framework to stealthily measure the integrity of a hypervisor in its context • Key ideas – Allow the measurement software to gain the highest privilege temporarily – Measurement is triggered stealthily • Scrubbing attacks – Isolate measurement results from the hypervisor Ahmed M. Azab, Peng Ning, Zhi Wang, Xuxian Jiang, Xiaolan Zhang, Nathan C. Skalsky, "HyperSentry: Enabling Stealthy In-context Measurement of Hypervisor Integrity,” in ACM CCS 2010, October 2010. Computer Science June 29, 2012 ACNS 2012 19 Case Study: Verifying the Integrity of Xen • Integrity measurement – Code: SHA-1 hash of Xen's code; Control flow verification – Date: Detect unauthorized sharing of physical pages across guest VMs • Performance (on IBM HS21 XM blade server) – End-to-end execution time: 35ms – Periodical measurement: Every 8s: 2.4%; every 16s: 1.3% Computer Science June 29, 2012 ACNS 2012 20 Isolated Execution Bypassing Hypervisor Control SICE [CCS ’11] Computer Science June 29, 2012 ACNS 2012 21 SICE: Strongly Isolated Computing Environment VM VM VM VM VM Legacy Host Legacy Host (Hypervisor/OS) (Hypervisor/OS) Hardware VM/ Workload SICE Hardware Virtualized Platform Virtualized Platform with SICE Ahmed Azab, Peng Ning, Xiaolan Zhang, “SICE: A Hardware-Level Strongly Isolated Computing Environment for x86 Multi-core Platforms,” in Proceedings of ACM CCS 2011, October 2011. Computer Science June 29, 2012 ACNS 2012 22 Foundation of SICE • System Management Mode (SMM) – x86 operating mode for system management functions – Single entry point: System Management Interrupt (SMI) – SMRAM: Isolated from the rest of system • Not accessible by the system software (e.g., hypervisor) – AMD processors implementation • Resizing the SMRAM at runtime • Separate SMRAM range for each CPU core – Main challenges • SMM has escalated privileges • The CPU runs slowly and has limited functionality Computer Science June 29, 2012 ACNS 2012 23 Foundation of SICE (Cont’d) • Trusted/Secure boot – Building the trust chain during system initialization • C-RTM BIOS Boot loader Initial hypervisor/OS image – Secure hardware extensions (e.g., the TPM) • Seals and authenticates the measurement output – Main challenge • Trust cannot be sustained due to potential runtime attacks Computer Science June 29, 2012 ACNS 2012 24 SICE Architecture Special hypervisor: •• Confines Implementation requirements the isolated workload • Trusted by the host Provided by the user • Secure boot 1. Hardware: AMD processors • Consists of 300 SLOC to: 1. Maintain the isolation 2. BIOS: Load the SMI handler 2. Initialize and attest to the Communication channel: 3. Legacy host: Provide the communication channel isolated environment •Providing hardware services VM VM Isolated Workload (VM) APP Security Manager (hypervisor) SMI Handler (SICE) Isolated Environment SMRAM Hypervisor/OS Legacy Host Hardware DMA Devices Trusted Untrusted Isolated CPU, TPM, BIOS, etc… Virtualized Platform with SICE Computer Science June 29, 2012 ACNS 2012 25 SICE Operations • Operating modes – Time-sharing Mode (an intermediate step) – Multi-core Mode • Remote attestation – The initial image of the isolated environment – Secure communication with remote users Computer Science June 29, 2012 ACNS 2012 26 Time-sharing Mode • Initialization – Secure boot – SMI to load the isolated workload • Execution environment switching – SMI to trigger the isolated environment – Changing the saved CPU state – Changing the SMRAM memory range – Fresh CPU start in the new environment Workload Image Running Workload SMI Security SMI Handler SMI Manager (SICE) (Hypervisor) Image SMRAMSMRAM Legacy Host Isolated Env. Hardware BIOS/TPM – SMI to return to the legacy host • Termination Computer Science June 29, 2012 ACNS 2012 27 Multi-core Mode • Concurrent sharing of the hardware – Good utilization – One or more CPU cores are assigned to either • The isolated environments • The legacy host • Main challenges – Event isolation – Memory isolation Computer Science June 29, 2012 ACNS 2012 28 Multi-core Mode (Cont’d) • General multi-core processor architecture AMD processors: • Define the SMRAM • SMM_BASE • SMM_MASK Core n Core 1 Core 0: • Registers • MSRs • L-APIC • L1 Caches Memory Control Hub (North Bridge): • Configuration registers • L2 Cache • I/O registers Computer Science Core n Core 1 Core 0: • Registers • MSRs • L-APIC • L1 Caches Memory Control Hub (North Bridge): • Configuration registers • L2 Cache • I/O registers June 29, 2012 ACNS 2012 29 Multi-core Mode Operations • Initialization – Secure boot – Loading the isolated workload Workload Image SMI Handler SMI Security Manager (SICE) SMRAM Legacy Host Hardware Computer Science June 29, 2012 ACNS 2012 30 Multi-core Mode Operations • Running the isolated environment: The isolated core – Changing saved CPU state • E.g., page tables, interrupt descriptor, instruction & stack pointers – Changing the SMRAM memory range (password stored in SMRAM) – Fresh CPU start in the isolated environment Workload Isolated Image Workload Security Manager Legacy Host Running Isolated Workload Image Workload (VM) SMI Handler (SICE) Security Security Manager Manager (Hypervisor) Isolated Env. Legacy Host SMRAM SMRAMSMRAM Isolated CPU Core Host CPU Core Hardware Computer Science SMI Handler (SICE) June 29, 2012 BIOS/TPM ACNS 2012 31 Multi-core Mode Operations • Running the isolated environment: The host core – Return to the legacy host • No environment switching necessary Workload Isolated Image Workload Security Manager Legacy Host Running Isolated Workload (VM) SMI Handler (SICE) Security Manager (Hypervisor) Isolated Env. Legacy Host SMRAM SMRAM Isolated CPU Core Host CPU Core Hardware Computer Science SMI Handler (SICE) June 29, 2012 BIOS/TPM ACNS 2012 32 Multi-core Mode Event Isolation • Event isolation – Prevent the legacy host and the isolated workloads send events to each other – Events between cores: Inter-Processor Interrupts (IPI) • Two types of IPIs – Maskable IPIs • Can be blocked by recipient core’s APIC – Non-maskable IPIs • Can be controlled by Global Interrupt Flag (GIF) • Clear GIF to ignore or hold all IPIs Computer Science June 29, 2012 ACNS 2012 33 Multi-core Mode Event Isolation (Cont’d) • Protecting the host core – The security manager runs as a thin hypervisor • Prevents the isolated workload from privileged hardware access • Protecting the isolated core – The security manager • Clear GIF • All IPIs are disabled – The isolated workload • Set the GIF and re-enable maskable IPIs • IPIs will cause a VM exit, which are examined by the security manager for processing Computer Science June 29, 2012 ACNS 2012 34 Multi-core Mode Memory Isolation • Memory Isolation – Assigning different memory ranges to different CPU cores • Memory double-view technique • Each CPU core has its own SMRAM Set by the SMI handler Shared Memory Set by the security manager Isolated Workload Registers: •cr3 MSRs: •SMM_Mask •SMM_Address Host Core(s) Security Manager SMI Handler Physical Memory Computer Science June 29, 2012 Registers: •Nested cr3 MSRs: •SMM_Mask •SMM_Address Isolated Core(s) ACNS 2012 35 The SICE TCB • The isolated environment – Hardware + BIOS + SMI handler (300 SLOC) • The legacy host – Hardware + BIOS + SMI handler + The security manager – Similar to micro-hypervisor approaches Computer Science June 29, 2012 ACNS 2012 36 SICE Prototype & Evaluation • IBM LS 22 blade server • Modifying Qemu/KVM to support a SICE isolated Linux guest – No disk emulation: RAM disk image • Time needed for context switching: 46 µs • Evaluation results Computer Science June 29, 2012 ACNS 2012 37 Conclusion • Infrastructure security of cloud computing – Necessary for new research – Better security protection for cloud workloads • Security architecture for cloud computing – – – – – Hypervisor-based runtime security services VM image security services Hypervisor integrity services Isolated execution bypassing hypervisor control Not necessarily complete • Hopefully a guidance/framework for innovative ideas • Stay relevant!!! Computer Science June 29, 2012 ACNS 2012 38 Questions? Thank You! Computer Science June 29, 2012 ACNS 2012 39