• No results found

Threat Modeling Cloud Applications

N/A
N/A
Protected

Academic year: 2021

Share "Threat Modeling Cloud Applications"

Copied!
36
0
0

Loading.... (view fulltext now)

Full text

(1)

Software Confidence. Achieved.

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]

(2)

© 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

(3)

CLOUD COMPUTING

(4)

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

(5)

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

(6)

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

THREAT MODELING BASICS

Security Design Analysis

6

(7)

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

(8)

© 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;

(9)

Elements of a Threat Model

System Structure

Assets

Security Controls

Doomsday scenarios

Attackers

(10)

© 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

(11)

A HYBRID, IAAS THREAT MODEL

(12)

© 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

(13)

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

Primary DR Site Replication Application Components Application Components nnn TB nnn TB

(14)

© 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

(15)

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 Primary Application Components nnn TB Primary Application Components nnn TB During DR Components

(16)

© 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

(17)

What Does Cloud Do to Our Threat Model?

 For an n-Tier application, the canonical OWASP-ish threat model applies

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

(18)

© 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

(19)

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”

Who What How Impact Risk

<external> Web-application …

<external> Multi-tenant res,…

<internal> & <external>

Disclosure of PCI data from the database

(20)

© 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

(21)

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 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

(22)

© 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

(23)

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")

(24)

© 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

(25)

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

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

(26)

© 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

(27)

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. 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

(28)

© 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

(29)

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

(30)

© 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

(31)

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

(32)

© 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?

(33)

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

(34)

© 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

(35)

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

(36)

Software Confidence. Achieved.

Thank you for your time

Questions?

Scott Matsumoto [email protected]

References

Related documents

Addition of IPTG caused a large increase in alginate lyase specific activity (Table 4), and extensive alginate degradation was observed for both IPTG-induced 8830/ pSK700 samples

In an additional specification we use a proxy measure of the real coal price level (cf. index) in each province, calculated by multiplying (1) the average coal price paid by

Preparation of Layout Design including text, photos, graphics, logos, etc.. General Specifications for POSTERS, CONFERECE BANNER, ROLL-UP

– Data contained in app server’s request, session, application scopes App Server Server-side Code (Java servlets, JSP) Browser http request html response?.

Summary In a phase 2 trial of 222 postmenopausal women with osteoporosis aged 55 to 85 years randomized to one of three different doses of abaloparatide-SC, subcutaneous

Similar to the Pareto efficient investment shares, the investment ratio between the two assets bg/bh is consistent with private preferences of each generation, so that the rule

For example, when you sign in to the cloud server as admin, then sign in to the host as root, GO-Global will automatically grant the admin cloud server user access to the host's

These inequalities have significant effects on the employability, earning potential and wellbeing (in particular health) of these children in later life. Impact investing