Six Categories of System Threats
STRIDE, developed by Microsoft, is a threat modeling framework that categorizes risks into six lenses: Spoofing identity (faking who you are), Tampering with data (modifying information), Repudiation (denying you did something), Information disclosure (leaking secrets), Denial of service (blocking access), and Elevation of privilege (gaining unauthorized authority).
For each component in a system (a service, database, API endpoint, user), a STRIDE analysis asks: can someone spoof this? Tamper with it? Repudiate their actions? Disclose its data? Deny service to it? Elevate their privilege through it? This systematic inquiry forces teams to think like attackers and surface assumptions about trust.
Prioritizing by Severity
Not all threats carry equal weight. Information disclosure of a public dataset is low-severity; elevation of privilege to database admin is critical. STRIDE provides a common vocabulary for security teams, architects, and developers to assess risk together. A threat is only a problem if it's both plausible in your architecture and consequential to your users.
STRIDE is usually applied after drawing a data flow diagram: services, data stores, external actors, and trust boundaries. A single undefended boundary (e.g., a user-controlled HTTP header reaching a trusted service) can imply spoofing and tampering threats. The exercise trains teams to reason about threat surface early in design.