DEV Community

sachindra@work
sachindra@work

Posted on

STRIDE

STRIDE is a threat-modeling framework used to systematically identify security threats in an application, API, or cloud architecture. Each letter represents a type of threat and the security property it can violate.

Threat Meaning Example Typical controls
S — Spoofing Pretending to be another user, service, or system An attacker uses a stolen OAuth token to impersonate a user MFA, strong authentication, token validation, certificate-based identity
T — Tampering Unauthorized modification of data or code Changing an API request, database record, or message in transit TLS, digital signatures, integrity checks, authorization, immutable logs
R — Repudiation Denying an action when there is insufficient evidence to prove who performed it A user denies approving a financial transaction Centralized audit logs, timestamps, correlation IDs, signed events
I — Information Disclosure Exposing information to an unauthorized party An API returns another tenant’s customer records Encryption, access control, tenant isolation, data masking, least privilege
D — Denial of Service Making a system or resource unavailable Flooding an API until legitimate requests fail Rate limiting, WAF, autoscaling, caching, DDoS protection, circuit breakers
E — Elevation of Privilege Gaining permissions beyond those authorized A normal user accesses an admin endpoint by changing a role claim RBAC/ABAC, server-side authorization, least privilege, privilege separation

Security-property mapping
A useful way to remember the model is:

  • Spoofing → Authentication
  • Tampering → Integrity
  • Repudiation → Non-repudiation
  • Information disclosure → Confidentiality
  • Denial of service → Availability
  • Elevation of privilege → Authorization

Example: API threat model
For a multi-tenant API:

  • Spoofing: a forged or stolen JWT is accepted.
  • Tampering: a client changes tenantId in the request body.
  • Repudiation: administrative actions are not recorded with the actor’s identity.
  • Information disclosure: a user queries records belonging to another tenant.
  • Denial of service: one tenant consumes all API capacity.
  • Elevation of privilege: a regular user sets role=admin in a request.

STRIDE is normally applied to a data-flow diagram by examining processes, data stores, data flows, external entities, and trust boundaries, then asking which STRIDE categories apply to each component.

Top comments (0)