threat modeling cloud applications - owasp2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 ·...

36
Software Confidence. Achieved. Saturday, September 10, 2011 1 Threat Modeling Cloud Applications What You Don’t Know Will Hurt You www.cigital.com [email protected] +1.703.404.9293 Scott Matsumoto Principal Consultant [email protected]

Upload: others

Post on 03-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

Software Confidence. Achieved.

Saturday, September 10, 2011 1

Threat Modeling Cloud

Applications What You Don’t Know Will Hurt You

www.cigital.com

[email protected] +1.703.404.9293

Scott Matsumoto Principal Consultant

[email protected]

Page 2: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Agenda

Cloud Terminology and Background

Threat Modeling Basics

Threat Modeling a Hybrid, IaaS Application

Canonical use case for S3

AWS Security Credentials

EC2 Security Groups

S3 Security Controls

Cloud Doomsday Scenarios and Attackers

2 Saturday, September 10, 2011

Page 3: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

CLOUD COMPUTING

Terminology and Concepts

3 Saturday, September 10, 2011

Page 4: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential. 4 Saturday, September 10, 2011

NIST Cloud Definition Framework

Page 5: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Cloud Applications Are Subtly Different

Cloud platforms (PaaS and IaaS) change application

design as designers leverage platform strengths

Security for applications written on these platforms

requires understanding the application architectures

emerging from these designs and identifying their

inherent weakness

Threat Modeling is an effective method for

understanding how/where/what security implications

arise from cloud-based applications

5 Saturday, September 10, 2011

Page 6: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

THREAT MODELING BASICS

Security Design Analysis

6 Saturday, September 10, 2011

Page 7: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

What is a Threat Model

A model of the a software system that depicts

The system structure: its components and the flow of control relationships

The assets (data and function) in the system

The security controls protecting the assets

This model of the system is juxtaposed against

A list of potential "Doomsday Scenarios"

A list of potential attackers

Page 8: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Use Threat Modeling to Identify…

Where potential attackers exist relative to the architecture

How attackers escalate privilege

…become more formidable

Specific vectors of attack

Components and assets needing additional protection

… Ties technical risk & business

assets to application design;

…Ties attacks to role, privilege,

and capability;

…Drives security analysis, testing.

Page 9: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Elements of a Threat Model

System Structure

Assets

Security Controls

Doomsday scenarios

Attackers

9

Page 10: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Threat Modeling – High-level process

1 Diagram the System Structure

2 Identify Assets and Security Controls

3 Enumerate Doomsday Scenarios

4 Identify Attackers

5 Derive misuse/abuse cases

6 Integrate with Risk Management

7 Iterate

Page 11: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

A HYBRID, IAAS THREAT MODEL

Use Case: Leveraging S3 Storage

11 Saturday, September 10, 2011

Page 12: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Using S3 Storage Use Case

Use Case:

Use S3 Storage for long term storage rather than

self hosted storage

Data items are large and unstructured

Require immediate access

S3 Advantages:

No up-front capital expenditure

Disaster Recovery is built into the S3 service

Examples:

Medical Images

Large media files

12 Saturday, September 10, 2011

Page 13: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Classic Architecture: Primary with DR Site

The traditional solution is having a Disaster Recovery

site that is a mirror of the primary site

Data replication is needed for persistent data

Pay for un-used capacity even for DR

13 Saturday, September 10, 2011

Primary DR Site

Replication

Application

Components

Application

Components

nnn TB nnn TB

Page 14: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Cloud Architecture: Augment DR with AWS

Provide immediate, limited DR capabilities

Maintain data needing 99.99 availability in S3

Pay only for the storage that's needed

14 Saturday, September 10, 2011

Primary DR Site

Application

Components

Application

Components

nnn TB

During DR

Components

AWS DR

Page 15: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

It's Really a New Application

Original App

Traditional enterprise

application (assume n-

Tier for this example)

New App

Multiple applications

interacting across two

network zones

15 Saturday, September 10, 2011

Primary

Application

Components

nnn TB

Primary

Application

Components

nnn TB

During DR

Components

Page 16: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Threat Modeling – High-level process

1 Diagram the System Structure

2 Identify Assets and Security Controls

3 Enumerate Doomsday Scenarios

4 Identify Attackers

5 Derive Misuse/Abuse Cases

6 Integrate with Risk Management

7 Iterate

Page 17: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

What Does Cloud Do to Our Threat Model?

For an n-Tier application, the canonical OWASP-ish

threat model applies

17 Saturday, September 10, 2011

Internet

Thin Client

Hosting LAN

Host Host

App Server

User

Servlets Business

Components

Admin

Servlets

Malicious

Client

Network

Attacker

Malicious

Admin

DBMS

SiteMinder

Filesystem ACL

DB RBAC

Page 18: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

AWS

To the Cloud – New Application Structure

System structure reflects the AWS framework

18 Saturday, September 10, 2011

Internet

Thin Client

Hosting LAN

Host Host

App Server

User

Servlets Application

Components

Admin

Servlets

SiteMinder

Malicious

Client

Malicious

Admin

DBMS

DB RBAC

EC2 Instance

App Server

Network

Attacker

EC2 Instance

DBMS

EBS Volume

S3 Bucket

Servlets During DR

Components

Page 19: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Who, What, When, Where, Why, How…

The Threat Modeling Process Builds a sparse matrix

Start with the obvious and derive the interesting

Postulate what bad things can happen without

knowing "How".

Postulate “Hows” without knowing “Whats”

19

Who What How Impact Risk

<external> Web-application …

<external> Multi-tenant res,…

<internal> &

<external>

Disclosure of PCI data from the database

<external> Gaining access to administrative functions

Page 20: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Threat Modeling – High-level process

1 Diagram the System Structure

2 Identify Assets and Security Controls

3 Enumerate Doomsday Scenarios

4 Identify Attackers

5 Derive Misuse/Abuse Cases

6 Integrate with Risk Management

7 Iterate

Page 21: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Identify the Assets and Security Controls

Data assets move with the new design

Additional functional assets exist with new features

The AWS Security Controls are different

21 Saturday, September 10, 2011

AWS

Internet

Thin Client

Hosting LAN

Host Host

App Server

Malicious

Client

Malicious

Admin

EC2 Instance

App Server

Network

Attacker

EC2 Instance

DBMS

EBS Volume

S3 Bucket

Servlets During DR

Components

Page 22: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

AWS Security Control Differences

AWS and the Internet are equivalent network zones;

user AWS Security Groups

Enterprise infrastructure, e.g. SiteMinder, probably

won't extend into AWS. What is the replacement?

22 Saturday, September 10, 2011

AWS

Internet

Thin Client

Hosting LAN

Host Host

App Server

Malicious

Client

Malicious

Admin

EC2 Instance

App Server

Network

Attacker

EC2 Instance

DBMS

EBS Volume

S3 Bucket

Servlets During DR

Components

DB RBAC

AuthN/AuthZ

Security Group Security Group

Page 23: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

EC2 Security Groups

An EC2 Security Group is a set of ACCEPT firewall

rules

Protocol: tcp, udp, icmp

Port Range

From:

Set of IP addresses (generally external hosts)

Security Group

An EC2 instance can reside in one or more Security

Groups

Use a Security Group is a "role"

Associate permissions with the Security Group

("role")

23 Saturday, September 10, 2011

Page 24: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Integration with Enterprise Authentication

Stand alone application mechanism means that the

user store must be provisioned

Integration with the enterprise user store implies

Connection from AWS back into the data center

Federated Identity mechanism

The Threat Model depends on the actual control

For this particular example, assume a SAML assertion

passed through the browser

24 Saturday, September 10, 2011

Page 25: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

AWS

EC2 Instance

App Server

Servlets During DR

Components

AuthN/AuthZ

Security Group

Elasticity Drives Change

Will the During DR site be up 100% of the time and

costing the company for CPU time? No.

An EC2 Key Pair is required to launch an instance

AWS Access Keys are required to access S3

25 Saturday, September 10, 2011

Internet

Thin Client

Hosting LAN

Host Host

App Server

Malicious

Client

Malicious

Admin

Network

Attacker

EC2 Instance

DBMS

EBS Volume

S3 Bucket

DB RBAC

Host

Security Group

Page 26: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Most Common AWS Security Credentials

Authorization is handled through the Access Policy

Language

26 Saturday, September 10, 2011

Type Usage Purpose

Sign-In Credentials Enter email-address and

password to access secure

pages

Access AWS Security Credentials

Page

User Use AWS IAM API or interface Authentication and Authorization

for AWS Management Console

and AWS Credentials

Access Keys

* Access Key ID

* Secret Access Key

Access Key ID identifies your

AWS Account

Secret Access Key is used to

digitally sign the request

AWS SOAP and REST API

requests

Key Pairs

* Key pair name

* Private Key

* Public Key

The Key pair name is specified

when an instance is launched.

The Public-Private key is used for

SSH root access.

Admin access to the running

instance

Page 27: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

S3 ACLs and Bucket Policies

Buckets and Objects have separate ACLs or Policies

User identity is an Amazon S3 user/account

Policies are more flexible and expressive

Define access rules for sets of object

Restrict by IP address, date, etc. 27 Saturday, September 10, 2011

AWS

Internet

Thin Client

Hosting LAN

Host Host

App Server

Malicious

Client

Malicious

Admin

EC2 Instance

App Server

Network

Attacker

EC2 Instance

DBMS

EBS Volume

S3 Bucket

Servlets During DR

Components

DB RBAC

AuthN/AuthZ

SAML

S3 ACL or Bucket Policy

Security Group Security Group

Page 28: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Using S3 Drives Design Changes

Deliver content directly from S3 to the user

More efficient bandwidth usage

How do you handle S3 ACL or Bucket Policy?

S3 provides for "query string authentication"

A time limited URL signed with your Access Key 28 Saturday, September 10, 2011

AWS

Internet

Thin Client

Hosting LAN

Host Host

App Server

Malicious

Client

Malicious

Admin

EC2 Instance

App Server

Network

Attacker

EC2 Instance

DBMS

EBS Volume

S3 Bucket

Servlets During DR

Components

SAML

DB RBAC

AuthN/AuthZ

S3 ACL or Bucket Policy

Security Group Security Group

Query String Auth

Page 29: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Threat Modeling – High-level process

1 Diagram the System Structure

2 Identify Assets and Security Controls

3 Enumerate Doomsday Scenarios

4 Identify Attackers

5 Derive Misuse/Abuse Cases

6 Integrate with Risk Management

7 Iterate

Page 30: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Cloud "Doomsday" Scenarios to Consider

Reprioritized or Changed

by Cloud

Malicious Insider

Data In Transit

Management interface

compromise

Infrastructure supply

chain stability

DDoS - direct attacks and

attacks against other

tenants

Unique to Cloud

Cloud termination

Changes in jurisdiction

Subpoena and e-

Discovery of another

tenant

Multi-tenant violation of

isolation

30 Saturday, September 10, 2011

Page 31: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Threat Modeling – High-level process

1 Diagram the System Structure

2 Identify Assets and Security Controls

3 Enumerate Doomsday Scenarios

4 Identify Attackers

5 Derive Misuse/Abuse Cases

6 Integrate with Risk Management

7 Iterate

Page 32: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Additional Attackers

Additional attackers are network, AWS Admin and

malicious instances

The multi-document shape indicates multi-tenant

32 Saturday, September 10, 2011

AWS

Internet

Thin Client

Hosting LAN

Host Host

App Server

Malicious

Client

Malicious

Admin

EC2 Instance

App Server

Network

Attacker

EC2 Instance

DBMS

EBS Volume

S3 Bucket

Servlets During DR

Components

SAML

Network

Attacker

Malicious

AWS Admin

Malicious

Instance

DB RBAC

AuthN/AuthZ

S3 ACL or Bucket Policy

Security Group Security Group

Is the AWS Admin

someone to worry about?

Page 33: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Threat Modeling – High-level process

1 Diagram the System Structure

2 Identify Assets and Security Controls

3 Enumerate Doomsday Scenarios

4 Identify Attackers

5 Derive Misuse/Abuse Cases

6 Integrate with Risk Management

7 Iterate

Page 34: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Enumeration and Risk Management

Risk management must be done in conjunction with the

business

34 Saturday, September 10, 2011

Who What How Impact Risk

Hacker Read all stored data

Access a patients …

Web-application … Failure to certify with HIPAA audit

Failure to certify with PCI audit

Hacker Cause system to .. Known Tomcat,… Failure to comply with customer SLA

Admin & Hacker Disclosure of PCI … Access DB cred… Failure to certify with PCI audit

Hacker Gaining access to… Intercept AWS cred Breach of all application assets

Admin, Staff &

Hacker

Viewing patient inf… Direct access to… Failure to certify with HIPAA audit

Failure to comply with customer SLA

Failure to certify with PCI audit

Failure to certify with HIPAA audit

Page 35: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

© 2010 Cigital Inc. All Rights Reserved. Proprietary and Confidential.

Conclusion

Cloud application security is platform specific

Application design will exploit platform features and

constraints

Platform security controls are an important

consideration in the threat model

Threat Modeling is an effective way to move from cloud

security FUD to a specific set of technical security

requirements for applications

35 Saturday, September 10, 2011

Page 36: Threat Modeling Cloud Applications - OWASP2011.appsecusa.org/p/tmcloud.pdf · 2011-09-26 · Security for applications written on these platforms requires understanding the application

Software Confidence. Achieved.

Thank you for your time

Questions?

Scott Matsumoto

[email protected]