• No results found

Module: Cloud Computing Security

N/A
N/A
Protected

Academic year: 2021

Share "Module: Cloud Computing Security"

Copied!
40
0
0

Loading.... (view fulltext now)

Full text

(1)

3YSTEMSAND)NTERNET

)NFRASTRUCTURE3ECURITY

I

I

.ETWORKAND3ECURITY2ESEARCH#ENTER $EPARTMENTOF#OMPUTER3CIENCEAND%NGINEERING 0ENNSYLVANIA3TATE5NIVERSITY5NIVERSITY0ARK0!

Systems and Internet Infrastructure Security Laboratory (SIIS) Page

Module:

Cloud Computing

Security

Professor Trent Jaeger

Penn State University

(2)

Cloud Computing Is Here

(3)

Systems and Internet Infrastructure Security (SIIS) Laboratory Page

What’s Happening in There?

(4)

Overview

Cloud computing

replaces physical infrastructure

(5)

Systems and Internet Infrastructure Security (SIIS) Laboratory Page

From Data Center to Cloud

(6)

Reasons to Doubt

History has shown they are

vulnerable to attack

SLAs, audits, and armed guards offer few guarantees

Insiders

can subvert even hardened systems

‘06 ‘07 ‘08 ‘09 ‘10 ‘11

903 678 695 986 770 641

Data Loss Incidents

External

54%

Unknown 7% Insider 16% Accidental 23%

(7)

Systems and Internet Infrastructure Security (SIIS) Laboratory Page

Cloudy Future

New problem or new solution?

New

challenges

brought on by the cloud (plus old ones)

Utility could provide a

foundation for solving

such challenges

(8)

Cloudy Future

Improve on data centers? On home computing?

(9)

Systems and Internet Infrastructure Security Laboratory (SIIS) Page

What is Cloud Computing?

Cloud vendor provides

managed computing

resources

for rent by customers

What do you want to rent?

(Virtualized) Hosts

(Infrastructure as a Service)

Rent cycles:

Amazon EC2, Rackspace Cloud Servers, OpenStack

Environment

(Platform as a Service)

Rent instances:

Microsoft Azure, Google App Engine

Programs

(Software as a Service)

Rent services:

Salesforce, Google Docs

Other variations can be rented

(10)
(11)

Systems and Internet Infrastructure Security (SIIS) Laboratory Page

IaaS Platform: OpenStack

11 Client Scheduler Network Controller Cloud Database Message Queue Volume Store Image Store Cloud API Cloud Customer

Cloud

Node

Instances Cloud Vendor

(12)

PaaS Platform: Google App

Platform for deploying language-specific apps

Java, Python, PHP, etc.

Vendor

provides OS and middleware

E.g., Web server, interpreters

Customers

deploy their customized apps

You focus on custom code

Clients

use these apps

(13)

Systems and Internet Infrastructure Security Laboratory (SIIS) Page

How to Build an IaaS Cloud?

Vendors

obtain

hardware resources

for

Various

cloud services

: API, Messages, Storage, Network, ...

Compute nodes

for running customer workloads

Install

your hardware

Need to choose software configurations specific for services

and compute nodes

Start

your hosts

Join the cloud - services and available compute nodes

Now your

cloud is running

Have fun!

Customers are ready to use your services and nodes

(14)

How to Use an IaaS Cloud?

Customers

choose

an

OS distribution

These are published by the cloud vendor and others

Obtain cloud storage necessary to store these and your data

Configure

your

instance (VM)

Prior to starting - enable you to login and others to access the

instance’s services

Start

your instance

Boots the chosen OS distribution with the configurations

Now your

instance is running

(15)

Systems and Internet Infrastructure Security (SIIS) Laboratory Page

Multiple Stakeholders

15

Cloud Node

Cloud

Instance (VM)

Client Data

Clients Service Providers Cloud Administrators

Is my platform secure?

Are my services

running correctly?

Are my data protected?

(16)

VM

Cloud Complexity

Cloud environment challenges

Opaque, Complex, Dynamic

Insiders, Instances, Co-hosting

Client Service Cloud Node Cloud Node Cloud Node Cloud Node VM VM VM

Cloud

Platform

(17)

Systems and Internet Infrastructure Security Laboratory (SIIS) Page

What Could Go Wrong?

What do customers depend on from the cloud?

Trust Model

Are those parties worthy of our trust?

Who are potential adversaries in the cloud?

Threat Model

Are customers protected from their threats?

What would be

ideal

from a security standpoint?

Ideal

Security Model

How many trusted parties and how many threats?

(18)

Systems and Internet Infrastructure Security (SIIS) Laboratory Page

Published Instances

18

our case, operates the IaaS cloud infrastructure, authenti-cates users and bills them for the resources they consumed. ThePublisher creates and publicly o↵ers cloud apps, called

Amazon Machine Images (AMIs). For this, he selects an ex-isting AMI (AMI-1 in Fig. 1), instantiates it (Instance-1AMI-1),

logs into the running instance to configure it, and finally publishes a snapshot as a new AMI (AMI-2).

The Consumer selects this AMI from a list of available AMIs, instantiates it (Instance-2AMI-2), and uses it for her

purposes. Optionally, a Publisher can declare an AMI as

paid AMI to earn money from Consumers invoking it.

!"#$%&'((& )*#+,& -.&/#012$+,& 3.&405*6076*,& 8.&$5,& 9.&($:"45;& <.&405*6076*,& !"#$%&'()* +,-&".()* !),/%0()* =05*60/,>3'?=>3& =05*60/,>-'?=>-& '?=>3& '?=>-&

Figure 1: Basic System Model of Cloud App Store

The Cloud App Store poses security challenges for both, Consumers and Publishers (see also [48, 17]).

Security of Consumer. The Consumer must trust the Publisher not to include any malware into the AMI. Such a malicious AMI could contain a Trojan horse that spies on or modifies the Consumer’s data, or a backdoor for mali-cious remote login. Even though full protection against such malicious AMIs is almost impossible, filters, virus scanners, and rootkit detectors could provide at least some level of protection [48].1

Security of Publisher. The Publisher on the other hand might accidentally publish AMIs that contain highly sensi-tive information. Examples include keys, credentials, pass-words, command history/log files, or source code.

Although Amazon’s user guide recommends to ensure that all confidential information is removed before publishing an AMI [12, Sharing AMIs Safely], many users seem to be un-aware of the crucial consequences of ignoring these recom-mendations, do not have the appropriate tools at hand, or simply forgot private data in their AMIs.

The Gap between Theory and Practice. The Pro-vider could filter AMIs for Trojans, backdoors, or confiden-tial information to reduce the chance of malicious or sen-sitive data within AMIs. This was proposed in [48], but although the automated filtering system presented in that paper seems to be used already within the IBM Smart-Cloud [32], the explicit filtering rules are not available to the public.

In contrast, Amazon currently does not provide automated scanning of public AMIs as they are not responsible/liable for what users do with their own data. Though Amazon quickly reacts on incidents reported to their security hotline

1

In principle, this is similar to mobile app stores where downloaded apps must be trusted as well. Recently, Google’s mobile app store withdrew 25 Android apps that were infected with malware [13]. As such attacks also harm the reputation of the mobile app store provider, some providers already review new apps submitted to the store to ensure that they perform as expected [9, 31].

and informs a↵ected customers, e.g., those running an AMI in which a backdoor was found [15].2

In this paper we show that these previously reported inci-dents are only the tip of the iceberg and many of the publicly available AMIs have severe security vulnerabilities leaking highly sensitive data.

Our Contribution and Outline.

After summarizing related work in §2 and giving back-ground information on the Amazon Web Services (AWS) in §3 we present the following contributions.

Extraction of Sensitive Information from Public AMIs (cf. §4). Through an extensive analysis we were able to extract highly sensitive information from several publicly available EC2 AMIs. To make the analysis cost and time e↵ective we developed an automated tool that uses di↵erent search strategies and exploits technology specific aspects of the Amazon cloud. The costs for running our attack were less than $20 while the information we extracted from the AMIs would allow an attacker to cause financial damage of several $10,000 per day and could severely harm the reputa-tion of several companies that operate services in the cloud. After testing overall 1225 AMIs we got hold of the source code repositories, administrator passwords and other types of credentials of various web service providers.

SSH Vulnerabilities in AMIs (cf. §5). We discovered several vulnerabilities in AMIs that are introduced by incor-rect usage and configuration of SSH. About one third of the tested 1100 public AMIs in Europe and the US-East region contain an SSH backdoor, i.e., a (forgotten) public key that allows remote login for the Publisher. We identified multi-ple instances that use the same SSH host key which allows an external attacker to correlate these instances running the same or a similar AMI, identify candidates for corresponding public AMIs, and mount several attacks, e.g., host imper-sonation.

Countermeasures (cf. §6). We provide several mech-anisms to protect against our attacks on public AMIs. Be-sides organizational measures we propose to use our tools to enhance the security of the interfaces for publishing AMIs and also extensions to the interface of the Cloud App Store.

2. RELATED WORK

In this section we briefly revisit previous work on the se-curity challenges of publicly sharing Virtual Machine (VM) images (AMIs in our terminology) on which we build our practical attacks. Afterwards we review the main related work on general cloud security, security aspects specific to the Amazon cloud, and methods for searching private data.

VM Image Analysis.

As summarized in §1, security and privacy risks for the Consumer and Publisher when sharing VM images have been identified in [48]. Shared VM images may contain ei-ther malware that was intentionally or unintentionally in-cluded by the Publisher. To protect against these threats, the authors propose filtering of VM images by the Provider which has been implemented in the Mirage image

manage-2

“For security reasons, we (Amazon) recommend that any instance based on a publicly available AMI that is dis-tributed with an included SSH public key should be con-sidered compromised and immediately terminated.” [14]

Consumers use published instances

(19)

Systems and Internet Infrastructure Security Laboratory (SIIS) Page

SSH Study

[AmazonIA]

19

Publisher left an SSH user authentication key in

their AMI

Fortunately, Amazon agreed that this is a violation

Unfortunately, it was not an isolated problem

30% of 1100 AMIs checked contained such a key

Also, pre-configured AMIs had SSH host keys

Thus, all instances use the

same host key pair

(20)

Security Configuration

Zillions of

security-relevant configurations

for instances

Do you have the right code and data installed?

Are you running the expected code?

Discretionary access control

Firewalls

Mandatory access control

SELinux, AppArmor, TrustedBSD, Trusted Solaris, MIC

Application policies (e.g., Database, Apache)

Pluggable Authentication Modules (PAM)

Application configuration files

(21)

Systems and Internet Infrastructure Security (SIIS) Laboratory Page

Cloud Service Vulnerabilities

Vulnerabilities

have been found in

cloud services

E.g., OpenStack identity service, web interface, and API service

Adversaries who compromise such services may launch

a variety of attacks

E.g., Key Injection Attack

21

Response Modification.

Compromised cloud services

can tamper with responses returned by compute the

ser-vice, causing the client to see attacker crafted responses

instead of the legitimate compute service reponse (i.e.

Console Output Attack).

In next few sections, we exemplify and analyze each

category.

A. Snapshot Attack

In this attack, attacker can obtain sensitive data

saved on instance’s filesystem through taking a snapshot

of it.

Background.

The cloud supports a quick and easy way

to create new instance image by taking a snapshot of a

running instance. The new instance image will contain

all files on the running instances filesystem at the time

of snapshot creation. This is useful as for backup and

image building purposes. The detailed procedure to take

a snapshot is shown as follows: Client makes a request

to cloud API service to take a snapshot. Cloud API

service invokes the

snapshot_instance

method of

the compute service that hosts the instance. Compute

service will interface with local virtualization driver

(e.g. Libvirt Driver) to take a snapshot of the instance.

Attack.

A malicious cloud API service under control

of attacker can obtain sensitive data from a client’s

instance by directly making snapshot request to compute

service. This request is not on behalf of the client.

Nevertheless, compute service will still serve it as it

performs no authentication and authorization (the cloud

identity service only authenticates and authorizes the

client’s initial request)

Launching this attack requires the attacker to invoke

the The difficulty for the attacker to launch

Snap-shot Attack relies on attackers ability to invoke the

snapshot_instance

method of the compute

ser-vice. Unfortunately, this is fairly straightforward. Since

OpenStack cloud services are interconnected through

the message queue, any service can publish messages on

the queue to the compute service. The compute service

neither verifies nor authorizes the message as it believes

the request is already authenticated and authorized.

Therefore, attacker only needs to compromise one single

cloud service that is connected to the message queue.

There are many similar security sensitive

meth-ods supported by compute service. For example, the

set_admin_password

method of compute service

allows resetting the admin password of an instance

and

inject_file

allows injecting arbitrary files into

a running instance. These security sensitive methods

are open to attackers once they compromise any cloud

service connected to the message queue.

Attack Analysis.

The root cause of the Snapshot Attack

is the lack of authorization of incoming requests to

API Service Compute Service Database API Service nova keypair-add mykey

nova boot --key-name mykey

mykey : ssh-rsa ABC

mykey : ssh-rsa ABC

ssh-rsa ABC

ssh-rsa DEF

Step 1

Step 2

Fig. 3: Key Injection Attack

the compute service. The compute service serves any

request from any service without verifying that the

request is on behalf of the client.

B. Key Injection Attack

Even if the request is verified to be on behalf of

clients, services can still modify the request in malicious

ways. An example is the key injection attack. In this

attack, attackers can gain privileged access to client’s

instance by modifying the SSH connection key injected

into instance.

Background.

When client starts up an instance, it is

often based on a clean image retrieved from the cloud

image service that contains no user-specific credentials.

To enable client login, the cloud provides a mechanism

to dynamically inject SSH connection key (a public

key belonging to client) into the instance. The client

can later can use his private key to authenticate and

log in to the instance. The detailed procedure is shown

in Figure 3. First, the client makes a request to cloud

API service to create a key pair. The keypair is named

“mykey” in this case. While client keeps the private key,

the public key will be uploaded to cloud and saved in

cloud database. In the second step, client starts up a

new instance with “mykey”. Cloud API services query

the database to retrieve the actual public key that maps

to “mykey” and sends it to the compute service. The

compute service injects the public key into the instance

image and boots up the instance. The client can then

login to her instance by establishing an SSH connection

using her private key.

Attack.

We now consider a malicious cloud API service

controlled by an attacker. A malicious API service can

modify the public key during either step 1) saving it to

database or step 2) retrieving it from database. With a

modified public key (a public key belongs to attacker)

injected into client’s instance, attacker can thus log in to

clients instance as privileged user. Attacker can increase

the subtlety of the attack through appending a public

key instead of modifying it. Therefore both client and

(22)

Systems and Internet Infrastructure Security (SIIS) Laboratory Page

Insiders

Although the vendor may have a good reputation, not every

employee may

22

Embracing the cloud

Trust me with your

code & data

Cloud Provider

Client

You have to trust us as well

Cloud operators

(23)

Systems and Internet Infrastructure Security Laboratory (SIIS) Page

Insider Threats

May trust the cloud vendor company

But, do you trust all its employees?

Insiders can

control platform

Determine what software runs consumers’ code

Insiders can

monitor execution

Log instance operation from remote

Insiders may have

physical access

Can monitor hardware, access physical memory, and

tamper secure co-processors

(24)

Co-Hosting Threats

An instance

co-hosted on the same physical

platform

could launch attacks against your instance

Co-hosted instances share resources

Computer

CPU, Cache, Memory, Network, etc.

Shared resources may be used as

side channels

to

learn information about resource or impact its

behavior

(25)

Systems and Internet Infrastructure Security Laboratory (SIIS) Page

Resource Freeing Attacks

Setup

Victims

One or more VMs with public interface

Beneficiary

VM whose performance we want to

improve (

contend over target resource

)

Helper

Mounts attack using public interface

25 Helper& VM# VM# Vic&m# Beneficiary#

(26)

Resource Freeing Attacks

Resource contention over the

CPU

Schedule beneficiary more frequently

Attack: shift resource usage via public interface

Normally, victim is scheduled and pollutes the cache

Approach lower

scheduling priority

Make victim appear

CPU-bound

RFA$intensi*es$–$*me$in$ms$per&second& 196%$slowdown$ 86%$slowdown$ 60%$ Performance$ Improvement$

(27)

Systems and Internet Infrastructure Security Laboratory (SIIS) Page

Preventing Vulnerabilities

How would you prevent these threats?

Misconfigured instances

Untrusted cloud services

Insiders

Side channels

(Attacks to cloud platform also)

(28)

Verifiable Computation

Your

services are black boxes

- to the cloud!

Send a program and encrypted data

Program

computes over encrypted data

Scheme:

KeyGen (for Program), Compute (Program), Verify

Service

Data

Client

(29)

Systems and Internet Infrastructure Security Laboratory (SIIS) Page

Pinocchio [Oakland 2013]

New cryptographic protocol for

general-purpose public verifiable

computation

with support for zero-knowledge arguments

Big advance:

Performance

History: PCP (2007) = 72 trillion years, GGP (2010) = 37

centuries, Pepper/Ginger (2012) = 6 oom improvement,

Pinocchio = 7 oom improvement (often ~10ms)

Encoding in “

quadratic programs

”; signature depends only on

security constant

Idea behind quadratic arithmetic programs: each multiplication

gate is a “small expression”. Construct polynomials that encode

the equations, such that if the evaluation is correct, then D(z) /

P(z). Then the protocol just checks divisibility randomly

Beats local C execution (for verification)

(30)

Service

Integrity Monitor Concept

Integrity monitor

similar to a reference monitor

Mediate

access to service based on integrity criteria

Challenges

Where do we measure

integrity-relevant events?

How do we

verify ongoing integrity

?

How can we deploy this in a

cloud environment

?

Integrity Monitor

(31)

Systems and Internet Infrastructure Security (SIIS) Laboratory Page

Excalibur

Policy-sealed data

[USENIX Sec 2012b]

Do not release my data to the cloud until that cloud satisfies

my requirements

Customer-chosen policy

How to ensure that only nodes that satisfy

customer-chosen policy get data?

Attribute-based encryption

Encrypt data using ABE description of load-time configuration

A verifiable monitor is trusted to delegate correct credentials

to nodes (using hardware-based attestations - e.g., via TPM)

(32)

Excalibur Approach

4/19/13 Nuno Santos

Excalibur Architecture

!

13 ! 

Check node

configurations

!  Monitor attests nodes in background ! 

Scalable policy

enforcement

!  CP-ABE operations at client-side lib Monitor

Customer Policy-Sealed Data

+

seal unseal attest & send credential Datacenter

(33)

Systems and Internet Infrastructure Security (SIIS) Laboratory Page

Runtime Monitoring

Excalibur does not address

runtime issues

with instance

Customers may want to ensure that clients of their services

only receive communications from satisfactory instances

Customer may want to take remediative actions

(34)

Client

Cloud Node

VM

Channel Mediator

Integrity Verification Proxy

(1) Register criteria (2) Verify Monitor / Node (3) Verify VM (4) Connect (5) Report Violation Measure Framework Modules Monitor VM

Integrity Verification Proxy

Clients specify criteria to be enforced by a channel

mediator

[TRUST 2012]

Set of measurement modules verifies the criteria

Loadtime modules measure VM components

VM Introspection to examine runtime criteria

E.g., Binaries/data loaded, enforcement disabled, policy changes,

(35)

Systems and Internet Infrastructure Security (SIIS) Laboratory Page

Cloud Verifier Overview

35 Node Client Cloud Instance Node Cloud Instance

Cloud

Verifier

IVP

Client

Client monitors CV and cloud criteria

IVP monitors cloud instance Client provides criteria Client criteria sent to IVP CV monitors cloud node

Block connection

at the Cloud

Node

Disable

Cloud Node

Client stops

using Cloud

Cloud Anchor

[CCSW 2010, TrustCom 2012]

(36)

Customer-Driven Monitoring

CV/IVP Limitation

IVP must be trusted by cloud vendor

Part of management VM

What if you need to perform monitoring that the cloud

vendors will not support?

(37)

Systems and Internet Infrastructure Security (SIIS) Laboratory Page

Self-Service Clouds

Customizable cloud platform stack

[CCS 2012]

37

Why do these problems arise?

Hardware

Hypervisor

Management$

VM$(dom0)$

Work"

VM"

Work"

VM"

Work"

VM"

14"

(38)

Self-Service Clouds

Customizable cloud platform stack

Our solution

[CCS 2012]

Hardware

Hypervisor

Management$

VM$

Client’s$VMs$

19"

(39)

Systems and Internet Infrastructure Security (SIIS) Laboratory Page

Self-Service Clouds

Customizable cloud platform stack

[CCS 2012]

UDom0 boots customer-defined Service VMs

39

An SSC platform

Hardware

SSC Hypervisor

25"

SDom0$

Work$

VM$

Work$

VM$

UDom0$

Client’s$metaBdomain$

Service$

VM$

Equipped$with$a$Trusted$Plaiorm$Module$(TPM)$chip$

(40)

Take Away

Cloud computing is here to stay

In some form

May be a solution or a problem or both

Introduces new types of vulnerabilities into systems we

ran on data centers - which had vulnerabilities to begin

with

Ultimately, have to improve service providers’ jobs

Make it easy to ensure that systems perform as expected

Two possible methods

References

Related documents

Security threats in cloud computing are important issue for cloud service providers and cloud service customers.. Threats usually are related information security

The set of genes (blue lines consisting of yellow pixels in Figure 2-a) is generated inside the building footprint (Red rectangle in Figure 2-a) using the DDA (Digital

risk neutral).. overall number of workers is normalized to unity, we always have m=1/Q. It is clear that, in such a model, the question of whether or not experience rating may have

The research examine the effect of debt to equity ratio, return on assets, return on equity, earning per share, market value added on stock prices in manufacturing companies

Whilst there are fears about the security of data held by cloud computing providers the use of appropriate (for the individual College) Service Level Agreements (SLA) with

• Please submit service requests for next biennium cost estimates. • We will use a blended rate of $125/hr on the estimates to

Environmental factors were not considered when the quality coefficient was calculated in the previous section, and this weakens the measure as a determinant of its efficacy within the

Net Consulting’s Cloud Infrastructure Security Management Service analyses your server, client, network and security infrastructure across the cloud; correlating vulnerability