Threat prioritization identifies ways an API could be broken into or abused, then ranks those threats so the team can decide what requires attention. It answers “What can go wrong?” within a broader threat-modeling process. section 2.2 section 2.2.2
Use STRIDE to examine threats from several angles:
- Spoofing: stealing credentials or taking over accounts. section 2.2.2
- Tampering: corrupting data or performing unintended updates. section 2.2.2
- Repudiation: losing the ability to prove who performed an action. section 2.2.2
- Information disclosure, denial of service, and elevation of privileges: exposing sensitive data, making the system unavailable, or gaining unauthorized permissions. section 2.2.2
Listing endpoint
For a GET /products endpoint, ask whether a malicious user can exploit SQL injection to bypass access controls. Similar questions can test whether attackers can steal access tokens, access another user’s data, or obtain system configuration details. Team brainstorming sessions or the Elevation of Privilege game can help generate threats when starting out. section 2.2 section 2.2.2
Figure 2.5 Each threat category in STRIDE represents a strategy for breaking into our system or stealing data from our APIs.
Use the STRIDE figure to scan for strategies attackers might use to break into the system or steal API data. section 2.2.2
