0% found this document useful (0 votes)
46 views19 pages

10-Security-Threat-Modeling (Noppa)

This document discusses threat modeling and analyzing security threats and risks for systems. It covers different approaches to threat modeling, including checklists, engineering analysis, and asset-based approaches. Basic security goals like confidentiality, integrity and availability are discussed. The STRIDE framework for categorizing threats is explained, including spoofing, tampering, repudiation, information disclosure, denial of service, and elevation of privilege threats. Risk assessment and the Saltzer and Schroeder design principles are also summarized. Case studies and exercises are proposed to apply these threat modeling techniques.

Uploaded by

dont4get
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views19 pages

10-Security-Threat-Modeling (Noppa)

This document discusses threat modeling and analyzing security threats and risks for systems. It covers different approaches to threat modeling, including checklists, engineering analysis, and asset-based approaches. Basic security goals like confidentiality, integrity and availability are discussed. The STRIDE framework for categorizing threats is explained, including spoofing, tampering, repudiation, information disclosure, denial of service, and elevation of privilege threats. Risk assessment and the Saltzer and Schroeder design principles are also summarized. Case studies and exercises are proposed to apply these threat modeling techniques.

Uploaded by

dont4get
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Threat modeling

Tuomas Aura
T-110.4206 Information security technology

Aalto University, autumn 2011


Threats
 Threat = something bad that can happen
 Given an system or product
– what are the threats against it?
– how serious are the threats i.e. what is the risk?

2
Threat modeling approaches
 Different angles to threat modeling:
– Checklists: what have we learned from the past?
– Engineering: what parts are there in the system
and how could they be caused to fail?
– Attackers and their motivations: who would want
to do something bad and why?
– Assets: where is the value in the system and how
could it be lost?
– Defenses: what could still be done to prevent or
mitigate attacks?

3
Basic security goals
 Consider first the well-known security goals:
– Confidentiality
– Integrity
– Availability
– Authentication
– Authorization
– Non-repudiation
 Which goals apply to the system? How could
they be violated?

4
STRIDE
 STRIDE model used at Microsoft:
– Spoofing vs. authentication
– Tampering vs. integrity
– Repudiation vs. non-repudiation
– Information disclosure vs. confidentiality
– Denial of service vs. availability
– Elevation of privilege vs. authorization
 Idea: divide the system into components and
analyze each component for these threats
– Note: security of components is necessary but not
sufficient for the security of the system

5
STRIDE
 Model the system as a data flow diagram (DFD)
– Data flows: network connections, RPC
– Data stores: files, databases
– Processes: programs, services
– Interactors: users, clients, services etc. connected to the system
 Also mark the trust boundaries in the DFD
 Consider the following threats:

Spoofing Tampering Repudiation Information Denial of Elevation of


disclosure service privilege
Data flow x x x
Data store x x x
Process x x x x x x
Interactor x x

6
7
Threat trees

[Microsoft]
8
Risk assessment
 Risk assessment is very subjective
– Risk = probability of attack × damage in euros
– 0 < Risk < 1
– Risk = low / medium / high
 Numerical risk values tend to be meaningless:
– What does risk level 0.4 mean in practice?
 Usually difficult to assess absolute risk but easier to
prioritize threats
 Risk assessment models, e.g. DREAD
– Damage: how much does the attack cost to defender?
– Reproducibility: how reliable is the attack
– Exploitability: how much work to implement the attack?
– Affected users: how many people impacted?
– Discoverability: how likely are the attackers to discover the
vulnerability?
9
Saltzer and Schroeder
 Saltzer and Schroeder design principles [CACM 1974]:
– Economy of mechanism: keep the design simple
– Fail-safe defaults: fail towards denying access
– Complete mediation: check authorization of every access
request
– Open design: assume attacker knows the system internals
– Separation of privilege: require two separate keys or
checks whenever possible
– Least privilege: give only the necessary access rights
– Least common mechanisms: ensure failures stay local
– Psychological acceptability: design security mechanism
that are easy to use correctly
 Violations of these principles usually indicate
vulnerabilities
10
Security “pixie dust”
 Security mechanism are often applied without
particular reason
– Cryptography, especially encryption
 If there is no explanation why some security
mechanism is used, ask questions:
– What threats does it protect against?
– What if we just remove it?
– Is there something simpler or more suitable for
the purpose?

11
Case studies
 GPS-based road tolls
 Public transportation tickets
 Library card with bar code

12
GPS-based road toll: system

13
Data-flow diagram, STRIDE

14
Threats 1

15
Threats 2

16
What next?
 After identifying threats, we should assess the
risk, prioritize the threats and choose
countermeasures
 The process is iterative i.e. new analysis should
be done after designing the system with
countermeasures
 More detailed threat models can be done for
each system component
 Threat analysis should be done during system
design but can also be done on exisiting systems
17
Reading material
 Dieter Gollmann: Computer Security, 2nd ed., chapter
1.4.3
 Ross Anderson: Security Engineering, 2nd ed., chapter
25

 Online resources:
– OWASP, Threat Risk Modeling,
https://www.owasp.org/index.php/Threat_Risk_Modeling
– MSDN, Uncover Security Design Flaws Using The STRIDE
Approach,
http://msdn.microsoft.com/fi-fi/magazine/cc163519(en-us).aspx
– MSDN, Improving Web Application Security: Threats and
Countermeasures, Chapter 3
http://msdn.microsoft.com/en-us/library/ff648644.aspx

18
Exercises
 Analyze the threats in the following systems:
– Oodi student register, https://oodi.aalto.fi/
– Noppa
– Remote read electric meter
– University card keys
– Traffic light priority control for public
transportation
– Lyyra student card, https://www.lyyra.fi/ (based
on Sony FeliCa contactless ICC)
 Apply the STRIDE model or threat trees
19

You might also like