Glossary
STRIDE Threat Framework
A framework for identifying and categorizing six types of security threats to help developers address vulnerabilities early in development.
What Is STRIDE?
STRIDE is a framework for detecting, categorizing, and prioritizing potential threats to and vulnerabilities of applications and IT systems. Created by two Microsoft engineers in 1999, it helps software developers remember confidentiality, integrity, and availability requirements during early development stages. Using STRIDE, developers and security teams can identify weak points in applications or systems before exploitation.
STRIDE comprises six threat categories:
- Spoofing: Impersonating another user to gain unauthorized access
- Tampering: Altering data or code without authorization
- Repudiation: Denying performed actions without proper accountability
- Information Disclosure: Exposing privileged information to unauthorized users
- Denial of Service (DoS): Disrupting availability by overloading system resources
- Elevation of Privilege: Permitting insufficiently credentialed users to perform unauthorized actions
Elements of STRIDE
Each threat category includes targeted questions for identifying weaknesses and potential countermeasures.
Spoofing involves fraudulently accessing authorization information like usernames and passwords, as well as authenticity issues from misconfigured identity management or missing mutual authentication. Key question: "How can we verify that all users are who they claim to be?"
Tampering involves malicious actors changing data or code to manipulate application or system operations, targeting data at rest or in transit. Key question: "What measures are in place to detect and prevent unauthorized changes to our data or application code?"
Repudiation occurs when actors claim legitimate transactions never happened or illegitimate ones did, denying responsibility. Systems lacking logging and monitoring are vulnerable. Key question: "Do we have sufficient logging and audit trails to prove who did what in our system and when?"
Information Disclosure refers to sensitive information shared with unauthorized entities, resulting from improper access controls, vulnerabilities, or inadequate encryption. Key question: "Is all sensitive data encrypted, and have we minimized the risk of accidental exposure?"
Denial of Service attacks flood services with excessive traffic, consuming resources and disrupting functionality for legitimate users. Key question: "What safeguards do we have in place to handle high traffic loads or block disruptive requests?"
Elevation of Privilege occurs when malicious actors gain privileged access and impersonate legitimate users, potentially modifying configurations, installing malware, and accessing private data. Key question: "How often should we review our access controls and permissions to ensure no user has more access than necessary?"
How Is STRIDE Implemented?
Implementation involves three activities:
- System Decomposition: Map system components, create data and process flow diagrams, identify trust boundaries, and identify authorization and authentication points.
- Threat Analysis: For each component, use STRIDE to identify potential threats and attack vectors, documenting and prioritizing them by likelihood and severity.
- Mitigation Planning: Propose security controls for identified threats, creating strategies including technical controls, procedural safeguards, monitoring requirements, and incident response protocols. Test controls and train stakeholders.
Other Threat Modeling Frameworks
Alternative frameworks include OCTAVE (focusing on quantitative risk weighting), PASTA (a seven-step attack simulation methodology), Trike (emphasizing stakeholder-defined risk), and VAST (providing enterprise-centric visual models designed for scalability and agile integration).
