Threat Modeling Flashcards

1
Q

What are the basic steps to threat modeling?

A
  1. Identify objects in the system under consideration
  2. Identify flows between objects
  3. Identify assets of interest
  4. Identify system weaknesses and vulnerabilities
  5. Identify threats
  6. Determine exploitability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

During threat modeling what is expected when identifying objects in the system under consideration?

A
  • Elements, data stores, external entities of the system
  • Actors present and associated with the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

When identifying flows between objects in system under consideration what is expected?

A
  • Flows between elements, data stores, external entities of the system
  • Meta data about the flows e.g., protocols, directionality, data classification and sensitivity
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

When identifying ‘assets of interest’ what is expected?

A
  • Relevant or interesting assets that are held by objects or communicated by flows between objects
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

When are some examples of assets held by objects or communicated between objects?

A
  • Data internal or external to the application such as control flags or configuration settings
  • Data related to the function of the application such as user data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

When identifying identifying system weaknesses and vulnerabilities in system under consideration, when threat modeling, what is expected?

A
  • Understand how assets of interest may be impacted based on characteristics of system objects and flows
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are examples of how ‘assets of interest’ may be impacted based on characteristics of objects and flows?

A
  • Confidentiality of assets
  • Integrity of assets
  • Availability of assets
  • Privacy of assets
  • Safety of assets
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

When threat modeling what is expected when identifying threats?

A
  • associate vulnerabilities against the systems assets with threat actors to determine how likely each vulnerability is going to be exploited
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

When threat modeling what is expected when determining ‘exploitability’?

A
  • Identify paths through the system an attacker may use to cause an impact against one or more assets
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

When threat modeling what are you looking for in a System Model?

A
  • Means and opportunities available to attackers of the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

When threat modeling what are you looking for in a System Model?

A
  • Means and opportunities available to attackers of the system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are common areas of concerned to be aware of in system models?

A
  • any non secure protocol
  • any process or data store without authentication
  • any process that fails to authorize access to critical functionality or assets
  • any process with missing logging
  • sensitive assets in plan text
  • sensitive data assets without integrity controls
  • incorrect use of cryptography
  • communication paths transiting a trust boundary
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is meant by a ‘trust boundary’?

A
  • it’s a collection of components where each component is considered trustworthy within the collection
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What steps should be taken with data that moves across a ‘trust boundary’?

A
  • Measures must be taken to ensure trustworthiness, integrity, and confidentiality of the data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Regarding the use of Hashing - What are key indicators of security problems?

A
  • Hashing information that needs to be read in it’s original form
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Regarding the use of symmetric encryption algorithms - What is a key indicator of security concern?

A
  • The encryption key resides on the same component as the data
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Regarding the use of random number generators - What is a key indicator of security concern?

A
  • Using random number generators that aren’t cryptographically secure
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Regarding the choice of an encryption algorithm - What is a key indicator of security concern?

A
  • Using your own homegrown cryptographic algorithm
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is important to ensure integrity controls for sensitive assets?

A
  • Have tamper evidence or resistance for the assets
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What is typical example of tamper evidence?

A
  • Have sufficient logging when modifications are made to assets or data
21
Q

What are techniques to verify the integrity of data?

A
  • Generate digital signatures and cryptographic hashing algorithms to preform integrity checks against the data to determine if it’s been changed
22
Q

Why is logging an important security consideration?

A
  • Logging provides traceability so attempts by adversaries to take advantage of vulnerabilities can be identified
  • Also proper behavior can be audited at a later time.
23
Q

What shouldn’t you expect from a System Model?

A
  • To be able to detect flaws in implementation, developer choice, language
24
Q

What constitutes a good threat model?

A
  • One that produces valid findings
25
Q

What constitutes a valid finding in a threat model?

A
  • It is a conclusion, an observation, or a deduction about the security state of your system
26
Q

What are positive characteristics of a valid finding in a threat model?

A
  • Timely and relevant and translates into actions that can allow you to mitigate vulnerabilities
27
Q

What questions should a thread modeling methodology help you answer?

A
  • What are we working on?
  • What could go wrong?
  • What are we going to do about it?
  • Did we do a good job?
28
Q

In thread modeling what are 3 approaches that clearly highlight threats that may be in the system?

A
  • System-centric approach
  • Attacker-centric approach
  • Asset-centric approach
29
Q

Describe the system-centric approach for thread modeling?

A
  • Considers the system and it’s decomposition into it’s functional parts together with how they interact.
  • Also includes external actors and elements that interface with the system and it’s components
30
Q

When using the system-centric approach for thread modeling what is the output?

A
  • data flow diagrams(dfd’s) that show how data goes through the system during it’s operation
31
Q

What are other ways a ‘system-centric approach’ for thread modeling is referred to?

A
  • architecture or design centric approach
32
Q

Describe the attacker-centric approach for thread modeling?

A
  • Modeler adopts the point of view of the attacker to act on their motivation to reach their goals
33
Q

What modeling approach is used when using the attacker-centric approach for threat modeling?

A
  • Attack trees, threat catalogs and lists to identify entry points in the system
34
Q

Describe the asset-centric approach for thread modeling?

A
  • Focuses on important assets that should be defended by understanding threats that may be relevant
35
Q

When using the system-centric approach for thread modeling what is the output?

A
  • data flow diagrams(dfd’s) that show how data goes through the system during it’s operation
36
Q

When using the system-centric approach for thread modeling what is the output?

A
  • data flow diagrams(dfd’s) that show how data goes through the system during it’s operation
37
Q

What does STRIDE stand for?

A
  • (S)poofing
  • (T)ampering
  • (R)epudiation
  • (I)nformation disclosure
  • (D)enial of service
  • (E)levation of priviledge
38
Q

In the STRIDE model what is spoofing?

A
  • Implies an attacker can mimic the identity of an element(e.g., another process, system or user) of the system
39
Q

In the STRIDE model what is tampering?

A
  • impact of integrity by causing changes to the data or functionality of the system
40
Q

In the STRIDE model what is repudiation?

A
  • An aspect of trust imparted by the system that asserts with full confidence that an operation was performed by the actor who declares having performed it.
41
Q

How does an attacker make use of repudiation?

A
  • The attacker negates that certain operations took place and/or were initiated by the actor in question
42
Q

In the STRIDE model what is information disclosure?

A
  • Restricted information is leaked outside it’s assigned trust boundaries threatening the systems confidentiality
43
Q

In the STRIDE model what is denial of service?

A
  • Use of the system is affected due to its availability being compromised or it’s performance is degraded
44
Q

In the STRIDE model what is ‘elevation of privilege’?

A
  • an attacker gains a higher level of privilege then they normally would be granted
45
Q

What is the purpose of STRIDE per element?

A
  • It adds structure to address the lack of constraints by observing that some elements are more susceptible to specific threats than others
46
Q

What is STRIDE per element?

A
  • It is less open ended then STRIDE and focuses the analysis of possible threats by limiting the set of attacks that target specific classes of elements
47
Q

What are the disadvantages of STRIDE per element?

A
  • It is less open ended then STRIDE
  • Threat models aren’t additive
48
Q

What is STRIDE per interaction?

A
  • Focuses on identifying threats as a function of the interaction between two elements in a model
49
Q

What is STRIDE per interaction?

A
  • Focuses on identifying threats as a function of the interaction between two elements in a model