Thomas Ristenpart , Eran Tromer, Hovav Shacham ,Stefan Savage CCS’09

Slides:



Advertisements
Similar presentations
Distributed System Lab.1 Hey, You, Get Off of My Cloud: Exploring Information Leakage in Third-Party Compute Clouds Thomas Ristenpart ¤, Eran Tromer, Hovav.
Advertisements

Rohit Kugaonkar CMSC 601 Spring 2011 May 9 th 2011
Ed Duguid with subject: MACE Cloud
Lecture 5: Cloud Security: what’s new? Xiaowei Yang (Duke University)
Lecture 4: Cloud Computing Security: a first look Xiaowei Yang (Duke University)
Ragib Hasan Johns Hopkins University en Spring 2010 Lecture 3 02/15/2010 Security and Privacy in Cloud Computing.
Hey, You, Get Off of My Cloud: Exploring Information Leakage in Third-Party Compute Clouds Yan Qiang,
Ragib Hasan Johns Hopkins University en Spring 2011 Lecture 11 04/25/2011 Security and Privacy in Cloud Computing.
Infrastructure as a Service (IaaS) Amazon EC2
Resource-Freeing Attacks: Improve Your Cloud Performance (at Your Neighbor's Expense) (Venkat)anathan Varadarajan, Thawan Kooburat, Benjamin Farley, Thomas.
Hey You, Get Off My Cloud: Exploring information Leakage in third party compute clouds T.Ristenpart, Eran Tromer, Hovav Shacham and Steven Savage ACM CCS.
Hey, You, Get Off of My Cloud
By Christopher Moran, Nicoara Talpes 1.  Solution is addressed to VMs that are web servers  Web servers should not have confidential information anyway.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
1 Internet Networking Spring 2004 Tutorial 13 LSNAT - Load Sharing NAT (RFC 2391)
1 A survey of Internet Topology Discovery. 2 Outline Motivations Internet topology IP Interface Level Router Level AS Level PoP Level.
Hey, You, Get Off of My Cloud: Exploring Information Leakage in Third-Party Compute Clouds by Thomas Ristenpart et al. defended by Ning Xia & Najim Yaqubie.
Hey, You, Get Off of My Cloud: Exploring Information Leakage in Third-Party Compute Clouds By Thomas Ristenpart Eran Tromer Hovav Shacham Stefan Savage.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #12 LSNAT - Load Sharing NAT (RFC 2391)
Authors: Thomas Ristenpart, et at.
Secure Cloud Computing with Virtualized Network Infrastructure HotCloud 10 By Xuanran Zong.
5205 – IT Service Delivery and Support
Michael Vrable, Justin Ma, Jay Chen, David Moore, Erik Vandekieft, Alex C. Snoeren, Geoffrey M. Voelker, and Stefan Savage Presenter: Martin Krogel.
Amazon EC2 Quick Start adapted from EC2_GetStarted.html.
IST 228\Ch3\IP Addressing1 TCP/IP and DoD Model (TCP/IP Model)
1 Integrating a Network IDS into an Open Source Cloud Computing Environment 1st International Workshop on Security and Performance in Emerging Distributed.
CS426Fall 2010/Lecture 361 Computer Security CS 426 Lecture 36 Perimeter Defense and Firewalls.
Hey, You, Get Off of My Cloud: Exploring Information Leakage in Third-Party Compute Clouds Written by Thomas Ristenpart Eran Tromer Hovav Shacham Stehan.
IT 210 The Internet & World Wide Web introduction.
Eliminating Fine Grained Timers in Xen Bhanu Vattikonda with Sambit Das and Hovav Shacham.
SECURITY IN CLOUD COMPUTING By Bina Bhaskar Anand Mukundan.
Towards a Safe Playground for HTTPS and Middle-Boxes with QoS2 Zhenyu Zhou CS Dept., Duke University.
Jakub Szefer, Eric Keller, Ruby B. Lee Jennifer Rexford Princeton University CCS October, 2011 報告人:張逸文.
Web Server Administration Chapter 10 Securing the Web Environment.
Computer Networks. IP Addresses Before we communicate with a computer on the network we have to be able to identify it. Every computer on a network must.
Csci5233 Computer Security1 Bishop: Chapter 27 System Security.
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
Cloud Computing & Amazon Web Services – EC2 Arpita Patel Software Engineer.
CIS 450 – Network Security Chapter 3 – Information Gathering.
Ragib Hasan University of Alabama at Birmingham CS 491/691/791 Fall 2012 Lecture 4 09/10/2013 Security and Privacy in Cloud Computing.
Implementing a Port Knocking System in C Honors Thesis Defense by Matt Doyle.
Fundamentals of Proxying. Proxy Server Fundamentals  Proxy simply means acting on someone other’s behalf  A Proxy acts on behalf of the client or user.
Thomas Ristenpart,Eran Tromer, Horav Shahcham and Stefan Savage
Network Security. 2 SECURITY REQUIREMENTS Privacy (Confidentiality) Data only be accessible by authorized parties Authenticity A host or service be able.
Cloud security Tom Ristenpart CS Software-as-a-service Infrastructure-as-a- service Cloud providers Cloud computing NIST: Cloud computing is a model.
HEY, YOU, GET OFF OF MY CLOUD: EXPLORING INFORMATION LEAKAGE IN THIRD-PARTY COMPUTE CLOUDS Eran Tromer MIT Hovav Shacham UCSD Stefan Savage UCSD ACM CCS.
Scanning & Enumeration Lab 3 Once attacker knows who to attack, and knows some of what is there (e.g. DNS servers, mail servers, etc.) the next step is.
1 Figure 4-1: Targeted System Penetration (Break-In Attacks) Host Scanning  Ping often is blocked by firewalls  Send TCP SYN/ACK to generate RST segments.
A paper by Thomas Ristenpart, Eran Tromer, Hovav Shacham, and Stefan Savage, Proceedings of the ACM Conference on Computer and Communications Security,
SECURING SELF-VIRTUALIZING ETHERNET DEVICES IGOR SMOLYAR, MULI BEN-YEHUDA, AND DAN TSAFRIR PRESENTED BY LUREN WANG.
References: “Hey, You, Get Off My Cloud: Exploring Information Leakage in Third-Party Compute Clouds” by Thomas Ristenpart, Eran Tromer – UC San Diego;
Hey, You, Get Off of My Cloud Thomas Ristenpart, Eran Tromer, Hovav Shacham, Stefan Savage Presented by Daniel De Graaf.
Launch Amazon Instance. Amazon EC2 Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity in the Amazon Web Services (AWS) cloud.
Chapter 11 – Cloud Application Development. Contents Motivation. Connecting clients to instances through firewalls. Cloud Computing: Theory and Practice.
Network Devices and Firewalls Lesson 14. It applies to our class…
© 2015 MetricStream, Inc. All Rights Reserved. AWS server provisioning © 2015 MetricStream, Inc. All Rights Reserved. By, Srikanth K & Rohit.
Chapter 7: Using Network Clients The Complete Guide To Linux System Administration.
Mapping/Topology attacks on Virtual Machines
Traffic Analysis– Wireshark Simple Example
Port Scanning James Tate II
Hey, You, Get Off of My Cloud
Alina Oprea Associate Professor, CCIS Northeastern University
Written by : Thomas Ristenpart, Eran Tromer, Hovav Shacham,
AWS COURSE DEMO BY PROFESSIONAL-GURU. Amazon History Ladder & Offering.
2017 Real Questions
AWS Cloud Computing Masaki.
Traffic Analysis– Wireshark Simple Example
Exploring Information Leakage in Third-Party Compute Clouds
Presentation transcript:

Hey, You, Get Off of My Cloud: Exploring Information Leakage in Third-Party Compute Clouds Thomas Ristenpart , Eran Tromer, Hovav Shacham ,Stefan Savage CCS’09 Speaker:Kuo

Outline Introduction THREAT MODEL EC2 service NETWORK PROBING CLOUD CARTOGRAPHY DETERMINING CORESIDENCE EXPLOITING PLACEMENT IN EC2 CROSS-VM INFORMATION LEAKAGE

introduction Cloud computing: Advantages: Drawback: cloud computing services cloud computing technologies Advantages: dynamic provisioning Low capital expenditures Drawback: risks between customer and cloud provider risks between customer and customer 雲端運算是一種概念,根據知名分析公司Gartner 第一種雲端運算,叫「雲端服務」(cloud computing services):有些網路服務,透過一個瀏覽器,透過互聯網來存取、來操作、來服務,譬如Salesforce.com的CRM工具,或是Amazon EC2的空間服務,這一類的「雲端運算」可視為Grid computing、SaaS的自然延伸,使用者完全不必去擔心成長的問題,遠端自然會幫你將該需要的伺服器或資料庫都準備好,使用者只要放心的把東西丟到網路上、丟往遠端的服務商即可。也充份善用了互聯網的便利性,讓使用者可以安全的將所有資料都存在遠端的一或多個伺服機裡,到哪裡都可以使用,服務商也可隨時作升級或更動,同時又巧妙的將龐大運算的問題丟給「雲端」解決,於是讓一隻單薄的手機或一個沒有運算能力的GPS也都可以上網幹很多奇奇怪怪的事,這一種雲端運算,主要是在形容一種新的「服務」方式。 第二種雲端運算,叫「雲端技術」(cloud computing technologies):有些提到雲端運算的,其實是「data center」的下一代產品,內部系統採用多台電腦一同運算、儲存、相互備援,譬如可以將基因圖譜定序、DNA解碼等拆成好多來演算,又譬如Skype與BitTorrent以點對點(P2P)來共同組成單一系統,這個陣營其實才是正宗的distributed computing的「分身」,它技術牽扯到「雲端」的部份,遠比第一種雲端運算還要多,這種雲端運算主要是在形容一種新的「技術」。 所謂「分散式運算」,顧名思義,就是將大型工作區分成小塊後,分別交由眾多電腦各自進行運算再彙整結果,以完成單一電腦無力勝任的工作。最著名的例子莫過於1999年啟動的「SETI@home計畫」。該計畫利用超過500萬名參與者的個人電腦的空閒時間進行分析無線電訊號的運算,以期能找出外星生物。 而「「網格運算」」則是分散式運算加以延伸的一支,其主要特點在於將各種不同平台、不同架構、不同等級的電腦透過分散式運算的方式做整合運用。所謂的「網格」指的則是以公開的基準處理分散各處的資料。 由此觀之,「雲端運算」與「網格運算」並沒有顯著的不同。的確,兩者都是分散式運算的延伸,唯獨「網格運算」著眼於整合眾多異構平台,而「雲端運算」則強調在本地端資源有限的情況下,利用網路取得遠方的運算資源。 Drawback: 因為在vm之間,實體資源是透明的被分享的 此篇paper拿amazon ec2的服務當例子 作者依據他們從ec2上所實驗得到的資料,在這種提供雲端計算服務的server上進行攻擊

2. THREAT MODEL we consider the provider and its infrastructure to be trusted. adversaries are non-provider-affiliated malicious parties. Assume: a malicious party can run and control many instances in the cloud an attacker’s instances might even run on the same physical hardware as potential victims. 也不會針對系統的弱點去做攻擊 攻擊者可以操作這些分享的實體資源來獲取機密的資料

3. EC2 service Amazon’s Elastic Compute Cloud (EC2) service: flexibly rent computational resources Amazon provides two “regions”, US and Europe Each region contains three “availability zones” provides the ability to run Linux, FreeBSD, OpenSolaris and Windows within a virtual machine (VM) provided by a version of the Xen hypervisor Domain0 : Configured to route packets for its guest images and reports itself as a hop in traceroutes. manage guest images, their physical resource provisioning, and any access control rights. The Xen® hypervisor, the powerful open source industry standard for virtualization, offers a powerful, efficient, and secure feature set for virtualization of x86, x86_64, IA64, ARM, and other CPU architectures. It supports a wide range of guest operating systems including Windows®, Linux®, Solaris®, and various versions of the BSD operating systems. 這些vm就被放置在這些實體的server上

zone1 zone2 zone3 US Europe Domain 0 VM VM VM VM

a valid account, a user creates one or more VM images Instance: one such running image instance type ‘m1.small’ ‘c1.medium’ ‘m1.large’ ‘m1.xlarge’ ‘c1.xlarge’ Each instance has external IPv4 address and domain name an internal private address and domain name a single virtual core providing one ECU combined with 1.7 GB of memory and 160 GB of local storage provides 2 virtual cores each with 2 ECUs, 7.5GB of memory and 850GB of local storage. 一個account 最多只能同時執行20個instance “small compute slot” (m1.small) is described as a single vir- tual core providing one ECU (EC2 Compute Unit, claimed to be equivalent to a 1.0–1.2 GHz 2007 Opteron or 2007 Xeon processor) combined with 1.7 GB of memory and 160 GB of local storage,

4.NETWORK PROBING utilize nmap, hping,and wget to perform network probes to determine liveness of EC2 instances nmap : perform TCP connect probes, attempt to complete a 3-way hand-shake between a source and target. hping: perform TCP SYN traceroutes, which iteratively sends TCP SYN packets with increasing time-to-lives (TTLs). wget: retrieve web pages nmap :來查出該 port 的服務為何 ,瞭解一下到底有幾部主機活在你的網路當中 ,掌握住您區域網路內每部主機的服務啟動狀況 在指定的網路區段下掃瞄主機群的網路連線,探測指定主機已開啟的通訊埠,藉由前兩項資訊可檢測出遠端主機的作業系統及網路服務為何。 Hping:網路探測, Hping –網路封包檢驗工具,產生各種 TCP/UDP/ICMP/RAW IP 封包並檢驗回應封包 Wget:擷取HTML 檔案 Both TCP connect probes and SYN traceroutes require a target port; we only targeted ports 80 or 443. 嘗試與目標instance建立連線 嘗試去找出攻擊者and目標instance的距離

two types of probes: External probes: a system outside EC2 and has destination an EC2 instance. internal probes:an EC2 instance (under our control) and has destination another EC2 instance. 因為道德與合法性的問題,所以我們只做INTERNAL PROBES

5.CLOUD CARTOGRAPHY Hypothesis: different availability zones (instance types) are likely to correspond to different internal IP address ranges using data sets: One created by launching a number of EC2 instances of varying types and surveying the resulting IP address assigned. ‘map’ the EC2 service to understand where potential targets are located and the instance creation parameters needed to attempt establishing co-residence of an adversarial instance.

5.1 Surveying public servers on EC2 Utilizing WHOIS queries, identify four distinct IP address prefixes,/16,/17,/18,/19 remain 57344 IP addresses performed a TCP connect probe on port 80 11315 responsive IPswget on port 80 9558 responded 57344 IP addressesperformed a TCP port 4438375 responsive IPs resulted in a list of 14054 unique internal IPs 用ec2裡面的DNS去轉換,會發現有….

5.2 Instance placement parameters the Amazon EC2 internal IP address space is cleanly partitioned between availability zones and instance types 首先實驗ZONE所分配的IP ADDRESS是不是分開的

availability zones assumption :internal IP addresses are statically assigned to physical machines a plot of the internal IP address assigned to each of the 300 instances, partitioned according to availability zone 不然要做IP routing時實作上會有困難 this data supports the assessment that availability zones use sep- arate physical infrastructure.

instance type and account: account A and B launched 100 instances(20 of each type) in zone3 55 of the account B IPs were repeats of those assigned to instances for account A A結束等39小時後,b才開始啟動 一個ip address是不會被分配到兩個type,也就是說一個ip只會屬於一個type Ex : 有個type m1.small 的instance拿到10.223.0.2,當這個instance被結束後,ip會被回收,有新的instance被啟動,只有在m1.small type中才有可能被分配到10.223.0.2這個ip 我們發現,在account B 所啟動的instance中,有55個ip是之前曾分配給account a 的instance 由這個實驗得知,在type中的ip是互相混在一起的,也就是說,你沒法說在type m1.small的ip是從哪個範圍到哪個範圍,只能知道,屬於type m1.small的ip 就屬於m1.small的,不會是其他type的

5.3 A fuller map of EC2

6. DETERMINING CORESIDENCE instances are likely co-resident if they have (1) matching Dom0 IP address: (2) small packet round-trip times, (3) numerically close internal IP addresses 一個instances的network traffic’s first hop 就是dom0,所以利用TCP SYN tranceroute 去trace其他的instance, 然後再看它最後一個hop Rtt:封包從傳送端到目的端傳送的來回時間,通常第一個回報的Rtt都會比較慢,所以作者座了10個probe 會把第一個去掉 作者他們去查詢亞馬遜ec2上m1.small使用的cpuid,而去知道,運作m1.small type 的實體機器,有兩個cpu 每個cpu有兩個core,而ec2上限訂每個instance只能使用50%的core usage,所以去推測只有8個instance可以同時在同一台機器上run, 因此,如果ip address 很相近,在8個以內,我們也可以推測,這兩個instance是鄰居 50%

6.1 Veracity of the co-residence checks if two instances (under our control) can successfully transmit via the hard-disk-based covert channel then they are co-resident 隱密性通道是指被電腦系統中的程序用來傳送違反系統安全政策訊息的傳輸通道

7. EXPLOITING PLACEMENT IN EC2 Goal: How an adversary launch instance that will be co-residence with target victims Observations n instances in parallel under a single account results in placement on n separate machines. No more than eight m1.small instances were ever observed to be simultaneously co-resident. placement locality Sequential placement locality Parallel placement locality 在我們能確認一個instance在哪個type和zone 以及能辨別兩個instance是不是鄰居後,我們接下來就是將攻擊者的instance啟動,並且期望這個攻擊者的instance能與被攻擊的instance能成鄰居 我們沒有觀察到 一個account同時執行兩個instance, 這兩個instance會在同一台實體機器上,所以同時執行n個instance會分布在不同n台機器上 一台實體機器最大只能同時執行八個m1.small,當機器滿了,攻擊者的instance就沒機會可以被分派到同一台上 Sequential place- ment locality exists when two instances run sequentially (the first terminated before launching the second) are often as- signed to the same machine. Parallel placement locality exists when two instances run (from distinct accounts) at roughly the same time are often assigned to the same ma- chine.

Sequential placement locality : two instances run sequentially are often assigned to the same machine. Parallel placement locality : exists when two instances run (from distinct accounts) at roughly the same time are often assigned to the same machine. 接下來後面提到的部份,都會以m1.small這個type來說明

7.1 Brute-forcing placement strategy: run numerous instances over a long period of time 步驟: Enumerates a set of potential target victims. Infers these targets belong to which zone and which instance type repeatedly runs probe instances in the target zone and of the target type. Each probe checks if it is co-resident with any of the targets. If not the instance is quickly terminated. Achieve 8.4% coverage of the target set 對於大的目標集合,這個策略成功的機率會比較大,ex 有1個目標,用此策略100個,結果只中1/100, 如果有40個目標,中的機率就是40/100

7.2 Abusing Placement Locality strategy: Assume that an attacker can launch instances relatively soon after the launch of a target victim The attacker then engages in instance flooding:running as many instances in parallel as possible find attack strategies that do better than brute-force for individual targets or small target sets. 如果我們run這個probe instance的時間短到接近目標instance的啟動時間, 那麼攻擊者可以展現parallel placement locality的特性, 這會使攻擊者與目標者的instance處在同一台機器上的機率很大 我們怎麼能夠期望,在目標instance啟動後能很快的啟動instance? 舉例,攻擊者可以監視server的狀態,當instance有在run十,server才run,反之, 當他出現新的instance,我們就從事instance flooding 另外,攻擊者也可以去觸發一個新的目標instance

Different zone does not affect co-residence rates Different account and time of day does not affect co-residence rates 看基本的成功率是多少

The effect of increased time lag. “Total co-resident” corresponds to the number of probe instances at the indicated hour offset that were co-resident with at least one of the victims. “New co-resident” is the number of victim instances that were collided with for the first time at the indicated hour offset.

8. CROSS-VM INFORMATION LEAKAGE Goal: show the ability of a malicious instance to utilize side channels to learn information about co-resident instances. 我們會在目標instance上引起一些公開存取的服務,藉由目標instance在這服務上的行為,來判別是否為共存的狀態 一般的攻擊觀察明文和密文, 並試圖找出金匙.而Side-Channel Attack則觀察其它的行為資訊來試圖回復金匙.所謂的Side-Channel就是說除了一般正常的加解密方式以外, 使用任何其它不是原來設計作為加解密的演算或方式所得到的結果)並且成功的應用在公開金匙或秘密金匙系統上 主要利用 電腦加解密運算時之時間特徵,推導出私密金鑰的一種攻擊 方法。 利用與目標共存,來蒐息目標對cache的存取行為的資料,藉由這個cache-based load measurements來做Keystroke timing attack:

8.1Measuring cache usage a high load indicates activity on co-resident instances utilize the Prime+Probe technique to measure cache activity Measurement via Prime+Probe: This measurement method tries to discover the set of memory blocks read by the encryption a posteriori, by examining the state of the cache after encryption.

Cache-based covert channel Cache load measurements create very effective covert channels between cooperating processes running in different VMs A covert channel is any communication channel that can be exploited by a process to transfer information in a manner that violates the system’s security policy cache covert-channel attack: the sender idles to transmit “0” and frantically accesses memory to transmit “1”. The receiver accesses a memory block of his own and observes the access latencies. High latencies are indicative that the sender is evicting the receiver’s data from the caches, i.e., that “1” is transmitted. This attack is applicable across VMs, though it tends to be unreliable (and thus has very low bandwidth) in a noisy setting.

8.2 Load-based co-residence detection In the second trial we used a fresh pair of instances co-resident on a different machine,

8.3 Estimating traffic rates report on initial experimentation with estimation, via side channel measurements, of HTTP traffic rates to a co-resident web server. For example, timing information, power consumption, electromagnetic leaks or even sound can provide an extra source of information which can be exploited to break the system

Keystroke timing attack: the adversary’s goal is to measure the time between keystrokes made by a victim typing a password The attacking VM is able to observe a clear signal with 5% missed keystrokes and 0.3 false triggers per second. The timing resolution is roughly 13ms. 電腦加解密運算時之時間特徵,推導出私密金鑰的一種攻擊

Thanks!