Hey, You, Get Off of My Cloud! Exploring Information Leakage in Third-Party Clouds. Thomas Ristenpart, Eran Tromer, Hovav Shacham, Stefan Savage



Similar documents
Cloud security CS642: Computer Security Professor Ristenpart h9p:// rist at cs dot wisc dot edu University of Wisconsin CS 642

Evripidis Paraskevas (ECE Dept. UMD) 04/09/2014

HEY, YOU, GET OFF OF MY CLOUD: EXPLORING INFORMATION LEAKAGE

Cloud security CS642: Computer Security Professor Ristenpart h9p:// rist at cs dot wisc dot edu University of Wisconsin CS 642

Cloud computing security

Hey, You, Get Off of My Cloud: Exploring Information Leakage in Third-Party Compute Clouds

Are Cache Attacks on Public Clouds Practical?

Computer Science. About PaaS Security. Donghoon Kim Henry E. Schaffer Mladen A. Vouk

A Measurement Study on Co-residence Threat inside the Cloud

The Threat of Coexisting With an Unknown Tenant in a Public Cloud

Amazon EC2 XenApp Scalability Analysis

On the Prevention of Cache-Based Side-Channel Attacks in a Cloud Environment

Cloud Computing and E-Commerce

Improving Cloud Survivability through Dependency based Virtual Machine Placement

Amazon Elastic Compute Cloud Getting Started Guide. My experience

Building a Private Cloud Cloud Infrastructure Using Opensource

Fingerprinting Large Data Sets through Memory De-duplication Technique in Virtual Machines

Enabling Technologies for Distributed and Cloud Computing

Technology and Cost Considerations for Cloud Deployment: Amazon Elastic Compute Cloud (EC2) Case Study

Privacy, Security and Cloud

Virtualization and Cloud Computing. The Threat of Covert Channels. Related Work. Zhenyu Wu, Zhang Xu, and Haining Wang 1

Network performance in virtual infrastructures

Top virtualization security risks and how to prevent them

Enabling Technologies for Distributed Computing

MySQL and Virtualization Guide

Limiting Cache-based Side-Channel in Multi-tenant Cloud using Dynamic Page Coloring

Cornell University Center for Advanced Computing

Confinement Problem. The confinement problem Isolating entities. Example Problem. Server balances bank accounts for clients Server security issues:

Smartronix Inc. Cloud Assured Services Commercial Price List

CIT 668: System Architecture

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

StACC: St Andrews Cloud Computing Co laboratory. A Performance Comparison of Clouds. Amazon EC2 and Ubuntu Enterprise Cloud

Cornell University Center for Advanced Computing

Chao He (A paper written under the guidance of Prof.

ACANO SOLUTION VIRTUALIZED DEPLOYMENTS. White Paper. Simon Evans, Acano Chief Scientist

Cloud Computing on Amazon's EC2

CSE543 Computer and Network Security Module: Cloud Computing

Multi Tiered Security and Privacy- Enhancing Multi-cloud Environment

Resource-Freeing Attacks: Improve Your Cloud Performance (at Your Neighbor s Expense)

EXPLOITING PROCESSOR SIDE CHANNELS TO ENABLE CROSS VM MALICIOUS CODE EXECUTION

THE DEFINITIVE GUIDE FOR AWS CLOUD EC2 FAMILIES

CS 356 Lecture 25 and 26 Operating System Security. Spring 2013

Security Games for Virtual Machine Allocation in Cloud Computing

Seriously, get off my cloud! Cross-VM RSA Key Recovery in a Public Cloud

Performance Testing of a Cloud Service

UBUNTU DISK IO BENCHMARK TEST RESULTS

Développement logiciel pour le Cloud (TLC)

Aneka Dynamic Provisioning

Scalable Web Application

Power Attack: An Increasing Threat to Data Centers

This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1.

WEB SITE SECURITY. Jeff Aliber Verizon Digital Media Services

Amazon Web Services Primer. William Strickland COP 6938 Fall 2012 University of Central Florida

Compromise-as-a-Service

Dynamic Resource allocation in Cloud

Network Security. Dr. Ihsan Ullah. Department of Computer Science & IT University of Balochistan, Quetta Pakistan. April 23, 2015

Security of Cloud Computing

GreenSQL AWS Deployment

Introduction to Cloud Computing

RemoteApp Publishing on AWS

ATTACKS ON CLOUD COMPUTING. Nadra Waheed

CMPT 471 Networking II

Best Practices for Optimizing Your Linux VPS and Cloud Server Infrastructure

Cloud and Mobile Security Seminar

Veeam Cloud Connect. Version 8.0. Administrator Guide

Security Issues On Cloud Computing

High-speed cryptography and DNSCurve. D. J. Bernstein University of Illinois at Chicago

Performance Analysis: Benchmarking Public Clouds

Performance test report

Improving Hard Disk Contention-based Covert Channel in Cloud Computing Environment

Cloud Performance Benchmark Series

Denial of Service Attacks

Radware s Behavioral Server Cracking Protection

SURVEY ON VIRTUALIZATION VULNERABILITIES

SECURITY CONCERNS AND SOLUTIONS FOR CLOUD COMPUTING

Security and Privacy in Cloud Computing

DNS REBINDING DENIS BARANOV, POSITIVE TECHNOLOGIES

Fundamentals of Information Systems Security Unit 1 Information Systems Security Fundamentals

Cloud Server as IaaS Pricing

Security and Privacy in Public Clouds. David Lie Department of Electrical and Computer Engineering University of Toronto

Cloud Computing. Benefits and Risks. Bill Wells, CISSP, CISM, CISA, CRISC, CIPP/IT

Multimedia Communication in the Internet. SIP Security Threads. Dorgham Sisalem, Sven Ehlert Mobile Integrated Services FhG FOKUS 1

Threat Modeling. Frank Piessens ) KATHOLIEKE UNIVERSITEIT LEUVEN

International Journal of Advance Research in Computer Science and Management Studies

Implementing Microsoft Windows Server Failover Clustering (WSFC) and SQL Server 2012 AlwaysOn Availability Groups in the AWS Cloud

Trend Micro Worry- Free Business Security st time setup Tips & Tricks

Virtual Switching Without a Hypervisor for a More Secure Cloud

Plexxi Control Installation Guide Release 2.1.0

Designing Apps for Amazon Web Services

Cloud Computing. What is Cloud Computing? Computing As A Utility. Resource Provisioning Problem 4/29/2014. Kai Shen

Deploy XenApp 7.5 and 7.6 and XenDesktop 7.5 and 7.6 with Amazon VPC

SECURING APACHE : DOS & DDOS ATTACKS - I

Cloud Models and Platforms

Virtualization System Security

A Generic Auto-Provisioning Framework for Cloud Databases

F-Secure Internet Gatekeeper Virtual Appliance

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures

Detecting Computer Worms in the Cloud

Taxonomic Modeling of Security Threats in Software Defined Networking

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?

Transcription:

Hey, You, Get Off of My Cloud! Exploring Information Leakage in Third-Party Clouds Thomas Ristenpart, Eran Tromer, Hovav Shacham, Stefan Savage UCSD MIT UCSD UCSD

Today s talk in one slide Third-party clouds: cloud cartography get malicious VM side-channels might to map internal on same physical leak confidential data infrastructure server as victim of victim Exploiting a placement vulnerability: only use cloud-provided functionality

A simplified model of third-party cloud computing Users run Virtual Machines (VMs) on cloud provider s infrastructure User A virtual machines (VMs) Owned/operated by cloud provider User B virtual machines (VMs) Multitenancy(users share physical resources) Virtual Machine Manager (VMM) manages physical server resources for VMs To the VM should look like dedicated server Virtual Machine Manager

Trust models in cloud computing User A User B Users must trust third-party provider to not spy on running VMs / data secure infrastructure from external attackers secure infrastructure from internal attackers

Trust models in cloud computing User A Bad User guy B Users must trust third-party provider to not spy on running VMs / data secure infrastructure from external attackers secure infrastructure from internal attackers Threats due to sharing of physical infrastructure? Your business competitor Script kiddies Criminals

We explore a new threat model: User A Bad guy Attacker identifies one or more victims VMs in cloud 1) Achieve advantageous placement Attacker launches VMs VMs each check for co-residence on same server as victim 2) Launch attacks using physical proximity Exploit VMM vulnerability DoS Side-channel attack

Using Amazon EC2 as a case study: 1) Cloud cartography map internal infrastructure of cloud map used to locate targets in cloud 2) Checking for co-residence check that VM is on same server as target - network-based co-residence checks - efficacy confirmed by covert channels 3) Achieving co-residence brute forcing placement instance flooding after target launches Placement vulnerability: attackers can knowingly achieve co-residence with target 4) Side-channel information leakage coarse-grained cache-contention channels might leak confidential information

What our results mean is that 1) given no insider information 2) restricted by (the spirit of) Amazon s acceptable use policy (AUP) we can: (using only Amazon s customer APIs and very restricted network probing) Pick target(s) Choose launch parameters for malicious VMs Each VM checks for co-residence Given successful placement, spy on victim web server s traffic patterns via side channels

Before we get into details of case study: Should I panic? No. We didn t show how to extract cryptographic keys But: We exhibit side-channels to measure load across VMs in EC2 Coarser versions of channels used to extract cryptographic keys Other clouds? We haven t investigated other clouds Problems only in EC2? EC2 network configuration made cartography and co-residence checking easy But: These don t seem critical to success Placement vulnerabilities seem inherent issue when using multitenancy

1 or more targets in the cloud and we want to achieve co-resident placement with any of them Suppose we have an oracle for checking co-residence (we ll realize it later) Launch lots of instances (over time), each asking oracle if successful If target set large enough or adversarial resources (time & money) sufficient, this might already work In practice, we can do much better than this

Some info about EC2 service (at time of study) Linux-based VMs available Uses Xen-based VM manager launch parameters User account 3 availability zones (Zone 1, Zone 2, Zone 3) 5 instance types (various combinations of virtualized resources) Type gigs of RAM EC2 Compute Units (ECU) m1.small (default) 1.7 1 m1.large 7.5 4 m1.xlarge 15 8 c1.medium 1.7 5 c1.xlarge 7 20 1 ECU = 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor Limit of 20 instances at a time per account. Essentially unlimited accounts with credit card.

(Simplified) EC2 instance networking External domain name External DNS Internal DNS External domain name or IP Internal IP External IP Internal routers Internal IP Dom0 Our experiments indicate that internal IPs are statically assignedto physical servers Co-residence checking via Dom0: only hop on traceroute to co-resident target IP address shows up in traceroutes Xen VMM

Cloud cartography Map internal cloud structure to locate targets Target VM Launch parameters to achieve co-residence Towards generating a map, we want to understand affects of launch parameters: Availability zone Instance type Account From Account A : launch 20 instances of each type in each availability zone 20 x 15 = 300 instances launched Clean partition of internal IP address space among availability zones

Cloud cartography From Account A : launch 20 instances of each type in each availability zone 20 x 15 = 300 instances launched From Account B : launch 20 instances of each type in Zone 3 20 x 5 = 100 instances launched 39 hours apart 55 of 100 Account B instances had IP address assigned to Account A instance Seems that user account doesn t impact placement Most/24 associated to single instance type and zone Associate each /24 with Zone & Type

10.251.238.0 zone1 m1.large (ip) 10.251.239.0 zone1 m1.large (scan) 10.251.241.0 zone1 m1.xlarge (scan) 10.251.242.0 zone1 m1.xlarge (ip) 10.251.243.0 zone1 m1.xlarge (scan) 10.252.5.0 zone3 m1.large m1.xlarge (scan) 10.252.6.0 zone3 m1.large m1.xlarge (ip) 10.252.7.0 zone3 m1.large m1.xlarge (scan) 10.252.9.0 zone3 m1.large (ip) 10.252.10.0 zone3 m1.large (ip) 10.252.11.0 zone3 m1.large (scan) 10.252.13.0 zone3 m1.large m1.xlarge (scan) 10.252.14.0 zone3 m1.large (ip) 10.252.15.0 zone3 m1.xlarge (ip) 10.252.21.0 zone3 m1.large (scan) 10.252.22.0 zone3 m1.large (ip) 10.252.23.0 zone3 m1.large (ip) 10.252.25.0 zone3 m1.large (scan) 10.252.26.0 zone3 m1.large (ip) 10.252.27.0 zone3 m1.large (ip) 10.252.29.0 zone3 m1.large (scan) 10.252.30.0 zone3 m1.large (scan) 10.252.31.0 zone3 m1.large (ip) 10.252.33.0 zone3 m1.large (scan) 10.252.34.0 zone3 m1.large (ip) 10.252.35.0 zone3 m1.large (ip) 10.252.37.0 zone3 m1.small (ip) 10.252.38.0 zone3 m1.small (ip) 10.252.39.0 zone3 m1.small (ip) Data from 977 instances with unique internal IPs + simple heuristics based on EC2 network configuration = Ability to label /24 s with zone & instance type(s) To locate a target in the cloud: 1) DNS lookup maps External IP to Internal IP 2) Check /24 to see what zone & instance type Our map provides sufficiently precise estimate to use for mounting attacks. Mapping might have other applications, as well (inferring types of instances used by a company)

Achieving co-residence Brute-forcing co-residence Experiment: Attacker launches many VMs over a relatively long period of time in target s zone and of target type 1,686 public HTTP servers as stand-in targets running m1.small and in Zone 3 (via our map) 1,785 attacker instances launched over 18 days Results: Each checked co-residence against all targets 78unique Dom0 IPs 141 / 1,686(8.4%) had attacker co-resident Sequential placement locality lowers success Lower bound on true success rate

Achieving co-residence Can an attacker do better? Launch many instances in parallel near time of target launch Exploits parallel placement locality Dynamic nature of cloud helps attacker: Auto-scaling services (Amazon, RightScale, ) Cause target VM to crash, relaunch Wait for maintenance cycles

Achieving co-residence Can an attacker do better? Experiment: Repeat for 10 trials: Launch many instances in parallel near time of target launch Exploits parallel placement locality 1) Launch 1 targetvm (Account A) 2) 5 minutes later, launch 20 attack VMs (alternate using Account B or C) 3) Determine if any co-resident with target 4 / 10 trials succeeded In paper: parallel placement locality good for >56 hours success against commercial accounts

Attacker has uncomfortably good chance at achieving co-residence with your VM What can the attacker then do?

Side-channel information leakage Cache contention yields cross-vm load measurement in EC2 Attacker VM Measure read times Victim VM Load-correlated memory reads Cache system Main memory Attacker measures time to retrieve memory data Read times increase with Victim s load Measurements via Prime+Trigger+Probe : Extends [OST05] Prime+Probe technique 1) Read an array to ensure cache used by attacker VM (Prime) 2) Busy loop until CPU s cycle counter jumps by large value (Trigger) 3) Measure time to read array (Probe)

Load measurement uses coarse-grained side channel Simpler to mount More robust to noise Extract less information coarse side channels could be damaging in hands of clever attackers

Cache-based load measurement to determine co-residence Repeated HTTP get requests Running Apache server Performs cache load measurements 3 pairs of instances, 2 pairs co-resident and 1 not 100 cache load measurements during HTTP gets (1024 byte page)and with no HTTP gets Instances co-resident Instances co-resident Instances NOT co-resident

Cache-based load measurement of traffic rates Running Apache server Varying rates of web traffic Performs cache load measurements 3 trials with 1 pair of co-resident instances: 1000 cache load measurements during 0, 50, 100, or 200 HTTP gets (3 Mbyte page) per minute for ~1.5 mins

More on cache-based physical channels Prime+Trigger+Probe combined with differential encoding technique gives high bandwidth cross-vm covert channel on EC2 Keystroke timing in experimental testbed similar to EC2 m1.small instances AMD Opterons CPU 1 Core 1 Core 2 CPU 2 Core 1 Core 2

More on cache-based physical channels Prime+Trigger+Probe combined with differential encoding technique gives high bandwidth cross-vm covert channel on EC2 Keystroke timing in experimental testbed similar to EC2 m1.small instances AMD Opterons CPU 1 Core 1 Core 2 CPU 2 Core 1 Core 2

More on cache-based physical channels Prime+Trigger+Probe combined with differential encoding technique gives high bandwidth cross-vm covert channel on EC2 Keystroke timing in experimental testbed similar to EC2 m1.small instances AMD Opterons CPU 1 Core 1 Core 2 CPU 2 Core 1 Core 2

More on cache-based physical channels Prime+Trigger+Probe combined with differential encoding technique gives high bandwidth cross-vm covert channel on EC2 Keystroke timing in experimental testbed similar to EC2 m1.small instances AMD Opterons VMs pinned to core CPU 1 Core 1 Core 2 CPU 2 Core 1 Core 2 We show that cache-load measurements enable cross-vm keystroke detection Keystroke timing of this form might be sufficient for the password recovery attacks of [Song, Wagner, Tian 01]

What can cloud providers do? 1) Cloud cartography 2) Checking Customers for can pay the (slight) extra co-residence operational costs to avoid multitenancy Possible counter-measures: - Random Internal IP assignment -Isolate each user s view of internal address space - Hide Dom0 from traceroutes - Random Internal IP assignment 3) Achieving co-residence -Allow users to opt out of multitenancy 4) Side-channel information leakage -Hardware or software countermeasures to stop leakage [Ber05,OST05,Page02,Page03, Page05,Per05]

Cloud cartography Instance flooding w/ co-residence checks Exploit physical side-channels Placement vulnerability: attackers can knowingly achieve co-residence with target Load measurement via side channels Security threat seems inherent to any third-party cloud with multitenancy More demands on virtual isolation due to multitenancy Coarse-grained side channels already of use to some attackers