Threat Modeling Flashcards
What are the basic steps to threat modeling?
- Identify objects in the system under consideration
- Identify flows between objects
- Identify assets of interest
- Identify system weaknesses and vulnerabilities
- Identify threats
- Determine exploitability
During threat modeling what is expected when identifying objects in the system under consideration?
- Elements, data stores, external entities of the system
- Actors present and associated with the system
When identifying flows between objects in system under consideration what is expected?
- Flows between elements, data stores, external entities of the system
- Meta data about the flows e.g., protocols, directionality, data classification and sensitivity
When identifying ‘assets of interest’ what is expected?
- Relevant or interesting assets that are held by objects or communicated by flows between objects
When are some examples of assets held by objects or communicated between objects?
- 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
When identifying identifying system weaknesses and vulnerabilities in system under consideration, when threat modeling, what is expected?
- Understand how assets of interest may be impacted based on characteristics of system objects and flows
What are examples of how ‘assets of interest’ may be impacted based on characteristics of objects and flows?
- Confidentiality of assets
- Integrity of assets
- Availability of assets
- Privacy of assets
- Safety of assets
When threat modeling what is expected when identifying threats?
- associate vulnerabilities against the systems assets with threat actors to determine how likely each vulnerability is going to be exploited
When threat modeling what is expected when determining ‘exploitability’?
- Identify paths through the system an attacker may use to cause an impact against one or more assets
When threat modeling what are you looking for in a System Model?
- Means and opportunities available to attackers of the system
When threat modeling what are you looking for in a System Model?
- Means and opportunities available to attackers of the system
What are common areas of concerned to be aware of in system models?
- 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
What is meant by a ‘trust boundary’?
- it’s a collection of components where each component is considered trustworthy within the collection
What steps should be taken with data that moves across a ‘trust boundary’?
- Measures must be taken to ensure trustworthiness, integrity, and confidentiality of the data
Regarding the use of Hashing - What are key indicators of security problems?
- Hashing information that needs to be read in it’s original form
Regarding the use of symmetric encryption algorithms - What is a key indicator of security concern?
- The encryption key resides on the same component as the data
Regarding the use of random number generators - What is a key indicator of security concern?
- Using random number generators that aren’t cryptographically secure
Regarding the choice of an encryption algorithm - What is a key indicator of security concern?
- Using your own homegrown cryptographic algorithm
What is important to ensure integrity controls for sensitive assets?
- Have tamper evidence or resistance for the assets