Lecture 4
Lecture 4
Lecture 4
Esmiralda Moradian
Learning outcomes
● Understand threats, controls, countermeasures
● Understand the threat modelling process
● Be able to model threats and define threat profiles
Threat
● Threat - a possible danger or vulnerability
– Application Name
– Application Version
– Description
– Document Owner
– Participants
– Reviewer
Identify the Entry/Exit Points
● Entry/exit points are the places where data enters or exits the application.
● The following data should be identified and collected
– Numerical ID
– Name
– Description
– Trust Levels
Identify the Assets
Assets can interact with other assets, and, because of this, they can act
as a pass-through point for an adversary
Assets
● Implementation assumptions
– created during the design phase
– contain details of features that will be developed later
● The following data should be collected
– Numerical ID
– Description
Modeling using Data Flow Diagrams (DFDs)
Look at the application through an adversary’s eyes. DFDs can be used to
model the system but also threats. DFDs focus on data and how it flows
through the system.
• The process shape represents a task that handles data within the application.
The task may process the data or perform an action based on the data.
• The multiple process shape is used to present a collection of subprocesses. The
multiple process can be broken down into its subprocesses in another DFD
• External entity - is used to represent any entity outside the application
• Data store shape is used to represent locations where data is stored.
• Data flow - represents data movement within the application
• The privilege boundary shape is used to represent the change of privilege
levels as the data flows through the application
User Login DFD for the College Library Website
Use and abuse cases can illustrate how existing protective measures could be
bypassed, or where a lack of such protection exists
Identify threats
● Identifying threats consists of
– analyzing each entry/exit point,
– determining what critical security processing occurs at the entry/exit point
– how it might be attacked
● To identify threats or goals, ask the following questions:
– How can the adversary use or manipulate the asset to
• Modify or control the system
• Retrieve and manipulate information within the system
• Cause the system to fail or become unusable
• Gain additional rights
– Can the adversary access the asset
• Without being audited
• And skip any access control checks
• And appear to be another user
Determine threats using STRIDE
● DFD is used to determine what data is supplied to a node and the goals
the adversary has for the application.
● The goals are then used within the DFD to determine
– the threat paths,
– locate the entry/exit points and
– follow the data through the system.
● The threat path is the sequence of any process nodes that perform
security-critical processing.
● All areas where there is change or action on behalf of the data, are
susceptible to threats
See the table on the next slide
Determine threats using STRIDE