lecture 2 threat modeling - uni paderborn

48
Lecture 2 Threat Modeling Dr. Lotfi ben Othmane 23 October 2015

Upload: others

Post on 17-Feb-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 2 Threat Modeling - Uni Paderborn

Lecture 2

Threat Modeling

Dr. Lotfi ben Othmane

23 October 2015

Page 2: Lecture 2 Threat Modeling - Uni Paderborn

1. Vulnerabilities in the news: Adobe flash player vulnerability by Manjiri

Birajdar

2. SSD Labs by Lisa

3. Lecture by Sven Türpe and Andreas Poller from Fraunhofer SIT

Agenda

2

Page 3: Lecture 2 Threat Modeling - Uni Paderborn

Thanks to the students who took the survey (even incomplete).

Survey

3

Page 4: Lecture 2 Threat Modeling - Uni Paderborn

SVN

The SVN for the course is now available

https://repository.st.informatik.tu-darmstadt.de/sse/secdev/2015/

Accessible from the TU network VPN information: http://www.hrz.tu-

darmstadt.de/netz/netz_datennetz_internet_1/netz_datennetz_internet_vpn_1/netz_vpn_

downloads_1/index.de.jsp

4

Page 5: Lecture 2 Threat Modeling - Uni Paderborn

Labs

Only the groups who have registered through the form (not the spreadsheet) will

be registered for the labs

The registered groups are considered final

Group numbers will be communicated via the students‘ TU emails

Groups with at least one member not registered in TUCaN will not be registered

Groups not submitting on time will not be graded

5

Page 6: Lecture 2 Threat Modeling - Uni Paderborn

When finding vulnerabilities:

No disclosure

Limited disclosure

Full disclosure

Responsible disclosure

Balance between

Informing the public

Giving the vendor‘s time to respond properly

Responsible Disclosure

6

Page 7: Lecture 2 Threat Modeling - Uni Paderborn

It is tempting to gloat …

Responsible Disclosure

Look at me! I did it! The vulnerability

in the powerplant‘s

control system

is right here!

7

Page 8: Lecture 2 Threat Modeling - Uni Paderborn

… but it is also dangerous to the public …

Responsible Disclosure

Page 9: Lecture 2 Threat Modeling - Uni Paderborn

… and to yourself

Responsible Disclosure

Page 10: Lecture 2 Threat Modeling - Uni Paderborn

Responsible Disclosure

Keep silent Inform vendors Wait

- Short term anonymous buzz + Long lasting reputation

Gloat moderately

What is responsible disclosure?

10

Page 11: Lecture 2 Threat Modeling - Uni Paderborn

Responsible disclosure

Is encouraged, and sometimes rewarded

Responsible Disclosure

11

Page 12: Lecture 2 Threat Modeling - Uni Paderborn

Responsible disclosure

Is encouraged, and sometimes rewarded

Responsible Disclosure

12

Page 13: Lecture 2 Threat Modeling - Uni Paderborn

Responsible disclosure

Is encouraged, and sometimes rewarded

Responsible Disclosure

13

Page 14: Lecture 2 Threat Modeling - Uni Paderborn

769 Google Security Reward recipients between 2010 and 2015

519 people additionally reported confirmed vulnerabilities

155 GitHub bounty hunters since June 2013

And many more, especially in research groups

Examples of Responsible Disclosure

https://www.google.com/about/appsecurity/

https://bounty.github.com/

14

Page 15: Lecture 2 Threat Modeling - Uni Paderborn

Why is this an irresponsible disclosure?

What should the bug finder have done?

Example of Irresponsible Disclosure

15

Page 16: Lecture 2 Threat Modeling - Uni Paderborn

We encourage you to find flaws

BUT do it ethically.

From now on in this course:

Responsible disclosure will be rewarded

Irresponsible disclosure will be sanctioned

Responsible Disclosure

16

Page 17: Lecture 2 Threat Modeling - Uni Paderborn

Students will choose one of two subjects:

Set-UID

Web same-origin policy

Available on TUCAN and the course‘s webpage

Due: Thursday, Nov 5th, 23:59

Lab 1

17

Page 18: Lecture 2 Threat Modeling - Uni Paderborn

Secure Software Development Course Threat Modeling

Sven Türpe, Andreas Poller

Page 19: Lecture 2 Threat Modeling - Uni Paderborn

Introduction to Threat Modeling

2

Page 20: Lecture 2 Threat Modeling - Uni Paderborn

Lets talk about threats!

3

Page 21: Lecture 2 Threat Modeling - Uni Paderborn

What is a threat?

• "A threat is an intent to inflict damage on a system.” (Landwehr 2001)

• "A threat consists of an adverse action performed by a threat agent on an asset." (Common Criteria)

• "Who might attack against what assets, using what resources, with what goal in mind, when/where/why, and with what probability.” (Johnston 2010)

• "Threats remain ideas until practical examples have been demonstrated.“ (Schäfer 2009)

• "A threat is a potential cause of an unwanted incident.” (Lund 2011)

4

Page 22: Lecture 2 Threat Modeling - Uni Paderborn

What is a threat?

• “A threat is an entity that wants to do harm to you or something you care about” (http://www.bitsmasherpress.com/?p=67)

• “intended cause” (Pieters 2011)

• "A potential for harm of an asset.“ (Yoshioka 2008)

• “Threats are the likelihood of, or potential for, hazardous events occurring.” (Schumacher 2006)

• "A threat is the potential for abuse of an asset that will cause harm in the context of the problem“ (Haley 2004)

• “Threat is a general condition, situation, or state ([…]) that may result in one or more related attacks” (Firesmith 2004)

5

Page 23: Lecture 2 Threat Modeling - Uni Paderborn

The concept of „threats“ is ….

• … ambiguous

• … approached from various perspectives

• … subjective dependent on who talks about threats

• … often used inappropriately (e.g. as synonym for vulnerabilities)

• … but crucial to understand security problem at hand.

6

Page 24: Lecture 2 Threat Modeling - Uni Paderborn

Components of a Security Problem

7

Vulnerabilities Assets

Threats

Secrets System integrity Hardware value

Petty criminals Organized crime Law enforcement

No encryption Software defects Mobile gadget

Page 25: Lecture 2 Threat Modeling - Uni Paderborn

Components of a Security Problem

8

Vulnerabilities Assets

Threats

Attacks

Secrets System integrity Hardware value

Petty criminals Organized crime Law enforcement

No encryption Software defects Mobile gadget

Page 26: Lecture 2 Threat Modeling - Uni Paderborn

Approaches to Threat Modeling

9

Software-Centric Asset-Centric

Attacker-Centric

What’s there to protect? What would hurt me?

Who are my opponents? How will they act?

How am I vulnerable? What can attacks achieve?

Page 27: Lecture 2 Threat Modeling - Uni Paderborn

Threat Modeling as a Development Activity

10

Page 28: Lecture 2 Threat Modeling - Uni Paderborn

Threat Modeling in Software Development

11

Regulatory System

Evaluating

GoalSetting

Sensing

Acting

Secure Software Engineering

Security ProblemAnalysis

ThreatModeling

SecurityDesign

Modeling

RiskAssessment

etc.

Implemen-tation

Testingand

Review

Evaluationand

Certification

Documen-tation

Security Design

SecurityConcept

SecurityFunctions

DesignTrust

Model

etc.

Make decisions

Inform decisions

Feedback

Page 29: Lecture 2 Threat Modeling - Uni Paderborn

Threat Modeling Techniques

12

0

200

400

600

800

1000

1200

Number of references

Page 30: Lecture 2 Threat Modeling - Uni Paderborn

User,Browser

Web Server

ApplicationServer

DB Server

CustomerDatabase

MS SDL Threat Modeling

13

2. Create checklist

1. Describe system

3. Assess impact and find countermeasures for each item

Spoofing Tampering Repudiation Information disclosure Denial of service Elevation of privilege

Page 31: Lecture 2 Threat Modeling - Uni Paderborn

STRIDE, Data Flow Diagrams

DFD entity S T R I D E

External Entity X X

Data Flow X X X

Data Store X (X) X X

Process X X X X X X

14

ProcessComplex Process

External Entity

Data Store

Data Flow

Trust Boundaries

Page 32: Lecture 2 Threat Modeling - Uni Paderborn

Demo: MS Threat Modeling Tool

15

Page 33: Lecture 2 Threat Modeling - Uni Paderborn

Example: The famous web shop

16

Page 34: Lecture 2 Threat Modeling - Uni Paderborn

17

Page 35: Lecture 2 Threat Modeling - Uni Paderborn

18

Page 36: Lecture 2 Threat Modeling - Uni Paderborn

Summary: Challenges for Using MS SDL Threat Modeling

19

Page 37: Lecture 2 Threat Modeling - Uni Paderborn

When Three Engineers Interpret a Threat Model …

20

Subject 2

Subject 1

Subject 3

Page 38: Lecture 2 Threat Modeling - Uni Paderborn

SDL Threat Modeling in the Wild: Research Setting

21

Data Archive Staff

IT Services

Social Scientist

Computer Scientist

Page 39: Lecture 2 Threat Modeling - Uni Paderborn

22

SDC client @Gesis

Remote Desktop

OS @User

User

Data Server

SDC Staff

Remote Computer

User

SDC Staff?Prepare data

I6: Big Picture

I5: Solution Proposal

Individual Perspectives

Page 40: Lecture 2 Threat Modeling - Uni Paderborn

23

What can you build?

What do you need?

Page 41: Lecture 2 Threat Modeling - Uni Paderborn

Wrap-up

24

Page 42: Lecture 2 Threat Modeling - Uni Paderborn

Where Is the Sweet Spot?

25

Design Freedom

Formal Rigor

Abstraction Detail

Hygiene High

Assurance

• Little empirical evidence

• Moving targets – security designs evolve

• Tacit knowledge – documentation is always outdated

Page 43: Lecture 2 Threat Modeling - Uni Paderborn

Tools

27 Source: http://worrydream.com/#!/ABriefRantOnTheFutureOfInteractionDesign

Developer Team Process Organization

Problem: Identify security concerns

Page 44: Lecture 2 Threat Modeling - Uni Paderborn

Back to Laptop Scenario

28

Page 45: Lecture 2 Threat Modeling - Uni Paderborn

When is HDD Encryption required?

29

Page 46: Lecture 2 Threat Modeling - Uni Paderborn

When is HDD Encryption not required?

30

Page 47: Lecture 2 Threat Modeling - Uni Paderborn

Is there a reasonable threat for this bug?

31

Page 48: Lecture 2 Threat Modeling - Uni Paderborn

32

@ sit.fraunhofer.de

@ sit.fraunhofer.de

andreas.poller

sven.tuerpe

http://testlab.sit.fraunhofer.de