OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for...

35
Threat Modeling A Brief History and Unified Approach at Intuit

Transcript of OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for...

Page 1: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Threat Modeling A Brief History and Unified Approach

at Intuit

Page 2: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

About Us

• Tin Zaw

– Staff Software Engineer

– Intuit, Inc

• Scott Matsumoto

– Principal Consultant

– Cigital, Inc

Page 3: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Agenda

• Background – What Threat Modeling means (to us)

– What our TM program looks like

• System Threat Modeling

• Lessons and Takeaways

• Protocol Threat Modeling

• Concluding Remarks

• Questions

3

Page 4: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

BACKGROUND

Page 5: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Threat Modeling

• Threat Modeling is a software design analysis that looks for security weaknesses by juxtaposing software design views against a set of attackers. – It identifies secure-design weaknesses

• Missing security controls

• Weak or inappropriate security controls

• Potential vulnerabilities

– Finds weaknesses that cannot be found by other techniques

– It is not a replacement for Pen-Testing or Secure Code Review

5

Page 6: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Unified Threat Modeling Program Goals at Intuit

• Create a single approach from three disparate approaches in practice: – STRIDE – Homegrown1 – Homegrown2

• Develop a common process so one security engineers can share work

• Develop a common process that would allow the business units do the threat models

• Create a shared vision of the security concerns with development early in the SDLC

Page 7: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Unified Threat Modeling Program Elements

1. Definition of the process

2. Formal training for security and the business units

3. Introduction of metrics

4. Scaling the new approach through tools and other automation

Page 8: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Unified Threat Modeling Process

• Define scope and depth of analysis • Gain understanding of what is being threat modeled

– Use existing development artifacts

• Model the threat structure – Identify Assets, Security Controls and Attackers – Juxtapose threat structure and software model

• Interpret the threat model – Produce the list of threats

• Create the threat table for reporting the threats – Rank the risk of the threat – Propose mitigations

8

Page 9: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Different Types Of Threat Models

• System Threat Model – A holistic view of an application’s

security posture – Best view the security between

the application and infrastructure

– Good for building a roadmap for additional security activities

• Protocol Threat Model

– Analysis of message structure and interaction between components

– Bridges the gap between a System Threat Model and Code Review

9

Data Center (Protected)

App Server

UI

SSO

Payments

ForumPayments

Customer

Forum

Analytics

JBDC

?

?

?

Data Center (Restricted)

Internet

User’s Machine

LAN

Partner

Credit Score

App Server

SSO

Payments

HTTPS

HTTP/HTTPS

HTTP

App Server

Forum

SSO

HTTPS

ODBC

HTTP?

A06

A07

C01

C02

C04

C03

C03

C03

C04

C07

C08

C08

C08

C05

C05

C05

C05

A05

A03

A07

A07

A01

A02

A04

C02

AP01AP01

AP02AP02

AP03AP03

AP04AP04

Client Server

Intialize (UserID)

Nonce, X.509 Cert with Pk

Authenticate(EncryptPk(Nonce, Password, K))

EncryptK(SessionKey)

A01A01

A04

AP01AP01

AP02AP02

1

2

A03

C01 C02

C03

C04

A02

AP02AP02

AP02AP02

AP02AP02

AP01AP01

Page 10: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

SYSTEM THREAT MODELING

Page 11: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Leverage Development Generated System Analysis

11

Deployment Model

Layer Model

Logical Model

DataCenter(Public)

DataCenter(Protected)

DataCenter(Restricted)

DR (Mirror of Data Center)

PaymentsSAN

PaymentsSAN

CustomersSAN

CustomersSAN

HTTP/HTTPS HTTP/HTTPS HTTPS

SSOPaymentsForum

Apache Cluster Apache Cluster Apache Cluster

Forum

HTTP HTTP HTTP

Payment

Admin

SSO

MySQL

Oracle (RAC)Hadoop Oracle (RAC)

From Corp NetworkAdmin

Internet

Page 12: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

App Server

UI

SSO

Payments

ForumPayments

Customer

Forum

Analytics

JBDC

?

?

?

Data Center (Protected)

Data Center (Restricted)

Internet

Partner

Credit Score

App Server

SSO

Payments

HTTPS

HTTP/HTTPS

HTTP

App Server

Forum

SSO

HTTPS

ODBCHTTP

?

Create a Simplified System Model

12

Components come from the Logical & Layer Models

Protocols come from the Deployment Model

Machine boundaries come from the Deployment Model

Network zones come from the Deployment Model

Forum is out of scope.

Page 13: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Modeling the Threat Structure

• We continue to analyze the information we’ve collected in our interviews and now add the threat related elements. Assets The data and functions that the system

must protect Security Controls The mechanisms currently designed and

implemented to protect the Assets Attacker Profiles The actors what want to harm the system

• Juxtaposing the Threat Structure and the System creates the actual Threat Model. Interpreting the model produces a list of potential threats.

13

Page 14: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

App Server

UI

SSO

Payments

ForumPayments

Customer

Forum

Analytics

JBDC

?

?

?

Data Center (Protected)

Data Center (Restricted)

Internet

Partner

Credit Score

App Server

SSO

Payments

HTTPS

HTTP/HTTPS

HTTP

App Server

Forum

SSO

HTTPS

ODBCHTTP

?

A06

A04

A01

A02 A03

A05

A07

A07

A07

A06

A06

A06

Model The Threat Structure - Assets

14

AssetsA01 – Member-only ContentA02 – Member-only FeaturesA03 – Payment InformationA04 – Partner Credit APIA05 – Customer ProfilesA06 – Session IDA07 – DB Access Credentials

Page 15: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

App Server

UI

SSO

Payments

ForumPayments

Customer

Forum

Analytics

JBDC

?

?

?

Data Center (Protected)

Data Center (Restricted)

Internet

Partner

Credit Score

App Server

SSO

Payments

HTTPS

HTTP/HTTPS

HTTP

App Server

Forum

SSO

HTTPS

ODBCHTTP

?A01

A02 A03

A04

A05A06

A07

A07

A07

C01

C04

C04

C02

C02

C03

C03

C03

C05

C05

C06

C06

C07

C08

C08

C08

A06

A06

A06

Model The Threat Structure – Security Controls

15

ControlsC01 – User AuthenticationC02 – Member-only AuthorizationC03 – SSL/TLSC04 – Single Sign-OnC05 – DB System UserC06 – DB Schema AuthorizationC07 – Partner Account AuthenticationC08 – File System Access Control

ControlsC01 – User AuthenticationC02 – Member-only AuthorizationC03 – SSL/TLSC04 – Single Sign-OnC05 – DB System UserC06 – DB Schema AuthorizationC07 – Partner Account AuthenticationC08 – File System Access Control

Page 16: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Data Center (Protected)

App Server

UI

SSO

Payments

ForumPayments

Customer

Forum

Analytics

JBDC

?

?

?

Data Center (Restricted)

Internet

User’s Machine

LAN

Partner

Credit Score

App Server

SSO

Payments

HTTPS

HTTP/HTTPS

HTTP

App Server

Forum

SSO

HTTPS

ODBC

HTTP?

A06

A07

C02

C02

C03

C03

C03

C08

C08

C08

C05

C05

C05

C05

A05

A03

A07

A07

A01

A02

A04

AP01AP01AP02AP02

AP03AP03

AP04AP04

A06

C04

A06

A06

C04

C01

C07

Model The Threat Structure – Attacker Profiles

16

Attacker ProfilesAP01 – External, Internet-basedAP02 – External, LAN-basedAP03 – Malicious UserAP04 – Malicious App/System Admin

Page 17: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Interpret The Threat Model

• Using the model, start with an Attacker and follow the flow-of-control paths in the system to reach an Asset

– Is there any path where Attacker can reach Asset without

going through a Control?

– For any Security Control along each of those paths: • What must the Attacker do to defeat the Control?

• Can Attacker defeat the Control?

• Record missing or weak controls in the Threat Table

17

Page 18: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Create the Threat Table

• Collect Threats into the Threat Table.

• Each entry in the threat table: – Identifies the threat – Calculates the risk based on the attacker profile and

the existing controls – Proposes mitigations to development to reduce the

risk to an acceptable level. • Mitigations should be practical and implementable • Important to create a “shared vision” with the development

team

18

Page 19: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

LESSONS AND TAKEAWAYS

Page 20: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Lessons and Experiences from the Intuit Journey

• Classroom Observations

• Threat Modeling Adoption Challenges

• Threat Modeling Program Wins

Page 21: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Classroom Observations

• Self-contained nature of the course

– Come as you are, no need to do any preparation

• In-class group exercises

– Problem solving by a group of different backgrounds – architects, Ops, testers, coders

• Mindset difference

– Developers think of Assets first, Security Engineers think of Attackers first

Page 22: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Threat Modeling Adoption Challenges

• The term “Threat Modeling” – Foreign language to some, and most have their own

interpretation of what it is

• Time commitment – Time for entire day of training (esp. when the subject does

not seem directly related to their job)

– Time required to Threat Model

• Getting Development to lead TM exercise – So far, TMs get done when Security leads. Need to change

Page 23: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Threat Model Program Wins

• Instilling the security mindset – Not just for architects and developers. Everyone benefits

from the training

• Alignment of security goals – “You agreed that it was an asset, so you need to protect

it.”

• Flaws discovered exclusively by Threat Modeling – Design flaws, logic flaws

• Consistent language, diagrams and document format – Among product teams and between product and security

teams, company wide

Page 24: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

PROTOCOL THREAT MODELING

24

Page 25: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Protocol/Sequence/API Threat Model

• Protocol is an agreed-upon sequence of interactions between two or more components – Including data/message formats in these interactions

• Why Threat Model a protocol? – Analyzing the details of the interactions between

components will reveal weaknesses that a System Threat Model will not. For example: • Interleaving threats

• Relay threats

25

Page 26: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Modeling the Protocol – Attacker Profiles

• Two types of canonical attacker profiles – Malicious Client – the component action as the client

in the interaction*

– Man-in-the-Middle – any attacker who is able to observe / tamper with the messages in the interaction

• Some protocols may involve more than two entities (e.g. OAuth)

• Role of “client” and “server” may change depending on the interaction.

26

Page 27: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Model the Protocol - Assets

27

Client Server

Intialize (UserID)

Public Key Pk

Authenticate(EncryptPk(Password))

SessionID

A01

A04

1

2

A03

AssetsA01 – User IDA02 – Public KeyA03 – PasswordA04 – Session ID

A02

Assets are the data in the messages

Page 28: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Modeling the Protocol - Controls

28

Page 29: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Modeling the Protocol – Attacker Profile

29

Client Server

Intialize (UserID)

Public Key Pk

Authenticate(EncryptPk(Password))

SessionID

A01

A04

AP01AP01

AP02AP02

1

2

A03 C01

AssetsA01 – User IDA02 – Public KeyA03 – PasswordA04 – Session ID

Attacker ProfilesAP01 – Malicious ClientAP02 – Man in the Middle

ControlsC01 – Encryption

A02

AP02AP02

AP01AP01

Page 30: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

Populate the Threat Table

30

ID Threat Description Attacker Profile

Asset Control Mitigation

1 Enumerate list of UserIDs

Call Initialize and interpret the response messages to determine valid UserIDs.

AP01 A01 Change the Initialize call to not take the UserID. Pass both the UserID and password in the same message and provide the same error message for all failures.

2

Hijack user session

AP02 eavesdrops on interaction 2, captures the SessionKey and hijacks the user’s session.

AP02 A03 Encrypt the session ID using a shared, session-specific key.

3 Login as UserID by replaying the encrypted password

Eavesdrop on the interaction 2, capture the encrypted password, and then login as UserID replaying the encrypted password.

AP02 A04 Add a randomly generated nonce that’s encrypted as part of the message.

4 Steal user passwords Interpose between the client and server passing the client the attacker’s private key.

AP02 A02 Send the public key in a CA-certified X.509 certificate.

Page 31: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

CONCLUDING REMARKS

Page 32: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

It’s a Wrap! (Tin)

• Next steps at Intuit – Develop metrics to measure return on time investment – Scale the training for different locations, product teams – Have Product teams build the system diagrams

• Threat Model is valuable – Different risk levels have different security needs – Categorize projects into low, medium or high risk levels – There are other ways to secure a project

• Training is the key to success of the program • Security team has to take the lead

Page 33: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

It’s a Wrap! (Scott)

• Protocol Threat Models – a big win

– Finer grained analysis even without code

– Great for initialization sequences and any message flow needing crypto

• Threat modeling in partnership with development helps create the shared vision for proper remediation throughout the SDLC

• Build threat models around existing development artifacts rather than re-creating the wheel

Page 34: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

QUESTIONS

Page 35: OWASP Presentation Template2014.appsec.eu/wp-content/uploads/2014/07/Scott... · –Good for building a roadmap for additional security activities • Protocol Threat Model ... Hadoop

THANK YOU FOR YOUR TIME