Skip to main content
7 min read Intermediate Design

Understanding Threat Modeling in SDLC

Before understanding Threat Modeling, it is important to understand where it fits in the Software Development Life Cycle (SDLC) and what happens before security testing begins.

Security is not something that starts after development i.e it starts from the very beginning of the system idea.


SDLC Flow Normally (Security Point of View)

From a product security perspective, the early phases of SDLC look like this:

StageDescription
Idea ReviewIdentify early risks at concept stage
Design ReviewCheck security in design & APIs
Architecture ReviewReview full system structure
Threat ModelingIdentify and simulate attacks
DevelopmentSecure coding implementation
TestingFind vulnerabilities in real system
DeploymentMonitor and respond to attacks

1. Idea Review (Requirement Stage)

Idea review is the earliest stage of SDLC where a product or feature is still just a concept. At this stage, the focus is on understanding what we are building, why we are building it, and what type of data will be used. The security goal is to identify basic risks before any design or development starts. For example, if a file upload feature is planned, we think about whether users can upload malicious files, where those files will be stored, and who will have access to them. At this stage, security thinking is only high-level and conceptual.

2. Design Review

Design review happens when the system design starts taking shape, including APIs, database structure, and user flows. The focus is on API structure, authentication flow, data flow between components, and external integrations. The security goal is to identify design-level flaws before coding begins. For example, missing authorization in API design can lead to IDOR risks, sensitive data may be sent without encryption, or client-side validation may be wrongly trusted. This stage is mainly about making secure design decisions before implementation.

3. Architecture Review

Architecture review is performed when the full system structure is defined, including frontend, backend, database, and external services. The focus is on understanding system components, trust boundaries, third-party integrations, and network communication between services. The security goal is to identify system-wide risks and weak trust relationships. Common issues include direct database access from multiple services, lack of network segmentation, and weak internal service security. This is a big-picture review of how the entire system is connected and protected.

4. Threat Modeling (Core Security Activity)

Threat modeling is a structured process used to identify, analyze, and reduce security risks in a system before it is built or released. It helps answer what can go wrong, how an attacker can exploit the system, what the impact would be, and how those risks can be fixed. It is important because it helps discover vulnerabilities early, reduces production security issues, supports secure development, and improves overall application security.


OWASP Threat Modeling : Official Resources

Understand system → Break system → Identify threats → Apply STRIDE → Mitigate → Review → Maintain

ResourceWhat it isDescription
OWASP Threat Modeling ProcessProcess-based guideExplains step-by-step how to perform threat modeling in SDLC (scope → threats → mitigation → review)
OWASP Threat Modeling GuideLearning + adoption guideHelps teams understand how to start threat modeling and choose the right method
OWASP Threat Modeling Community PageGeneral overviewExplains what threat modeling is and why it is important in security design
OWASP Threat Modeling Cheat SheetQuick reference guidePractical checklist for performing threat modeling in real projects

Real-World View

idea review VS design review VS architecture review VS threat modeling

StageWhat it is (in real projects)How we actually perform itWhat we do in practiceWhat we review i.e Focused Area
Idea ReviewFirst security checkpoint when a feature is still just a business ideaJoin requirement discussion, ask security questions early, understand user journey and data flow at high levelIdentify whether idea introduces sensitive data handling, abuse cases, compliance risk, or obvious attack surfaceWhat data is collected, who can access it, external dependencies, obvious abuse cases (e.g., spam, file abuse, unauthorized access)
Design ReviewReview of system design before any code is writtenAnalyze API contracts, wireframes, user flows, authentication approach, and data handling designIdentify design weaknesses early so developers don’t build insecure logicAuthentication design, authorization model, API structure, input validation strategy, encryption plan, client vs server responsibility
Architecture ReviewFull system security validation at component levelStudy architecture diagram (frontend, backend, DB, services), map data flows, identify trust boundaries and integrationsEnsure system design is secure at structural level and does not allow unsafe trust relationshipsMicroservices communication, database access patterns, third-party integrations, network exposure, trust boundaries, sensitive data movement
Threat ModelingDeep security analysis simulating attacker behavior on the designed systemBreak system into components, identify assets, apply STRIDE, build attack scenarios, rate risksConvert system design into attack paths and define how attackers could break itSpoofing, tampering, data leakage, privilege escalation, DoS, API abuse, SSRF, IDOR, injection points, abuse scenarios

Threat Modeling Practical Flow Looks like:

StepWhat you do
1. Understand systemStudy architecture, APIs, data flow
2. Break systemDivide into frontend, backend, DB, services
3. Trust boundariesIdentify where trust changes (user → server)
4. Find threatsUse STRIDE questions (spoof, tamper, steal, etc.)
5. Attack scenariosThink like attacker (SQLi, IDOR, RCE, SSRF)
6. Risk ratingMark High / Medium / Low risk
7. MitigationAdd fixes like validation, auth, encryption
8. DocumentationWrite threats, impact, and fixes

Threat Modeling Frameworks

Security Frameworks

FrameworkWhat it isDescription
DREADRisk scoring modelHelps prioritize threats based on how dangerous and easy they are to exploit
PASTAStep-by-step process modelStructured way to analyze threats from business goal to attack scenarios
LINDDUNPrivacy-focused modelIdentifies privacy risks like data leakage, tracking, and user identification issues

1. DREAD (Risk Rating Model)

Used to decide which vulnerability is most critical first.

FactorMeaning
DamageHow bad the impact is if attack succeeds
ReproducibilityHow easily attacker can repeat the attack
ExploitabilityHow easy it is to exploit
Affected UsersHow many users get impacted
DiscoverabilityHow easy it is to find the vulnerability

2. PASTA (Threat Modeling Process)

Used for deep and structured threat analysis.

StepWhat it means
1. Define objectivesUnderstand business goal
2. Technical scopeDefine system boundaries
3. Application breakdownBreak system into components
4. Threat identificationFind possible threats
5. Vulnerability analysisCheck weaknesses
6. Attack modelingSimulate attacker behavior
7. Risk analysisPrioritize risks

3. LINDDUN (Privacy Model)

Used when privacy is important (GDPR-type systems).

CategoryDescription
LinkabilityCan data be linked to a user?
IdentifiabilityCan user be identified?
Non-repudiationCan user deny actions?
DetectabilityCan presence/activity be detected?
DisclosureIs private data exposed?
UnawarenessUser unaware of data usage
Non-complianceViolates privacy laws/policies