Glossaire cyber

Threat modeling : STRIDE, PASTA, LINDDUN en pratique

Méthodologies threat modeling 2026 : STRIDE, PASTA, LINDDUN, attack trees, outils OWASP Threat Dragon, IriusRisk, pytm et adaptation IA.

Naim Aouaichia
13 min de lecture
  • Threat modeling
  • STRIDE
  • DevSecOps
  • Architecture sécurisée
  • Cybersécurité
  • SDLC

Le threat modeling (modélisation de la menace) est la pratique d'identifier, énumérer et prioriser les menaces sur un système avant qu'il ne soit construit ou modifié, pas après. Microsoft mesure depuis 2014 un ROI de 1:100 : un dollar investi en threat modeling en phase de design économise 100 dollars en correction post-production. Méthodologies dominantes 2026 : STRIDE (Microsoft 1999, Praerit Garg & Loren Kohnfelder, ~80% des cas), PASTA (UcedaVélez 2012, 7 phases pour environnements réglementés), LINDDUN v3.0 (KU Leuven, décembre 2023, privacy/RGPD), Attack Trees (Bruce Schneier 1999, modélisation arborescente), VAST et Trike (niches). Le Threat Modeling Manifesto (2020) signé par Adam Shostack (auteur de « Threat Modeling: Designing for Security », 2014), Brook Schoenfield et 14 autres praticiens majeurs, pose 4 valeurs et 5 principes, « shift left and tightly bound to development », qui ont structuré la discipline. Côté outillage : OWASP Threat Dragon v2.4 (2024, gratuit), pytm (threat model as code), IriusRisk (commercial, librairie 2000+ threats), Microsoft Threat Modeling Tool 2016 (figé depuis 2022). Côté IA/LLM, MITRE ATLAS (juin 2021, MAJ 2024) et STRIDE-AI (Microsoft, novembre 2023) prennent le relais sur 70+ techniques spécifiques. Cet article documente les 5 méthodologies majeures, le workflow opérationnel, la stack outillage, et les anti-patterns persistants.

Pour les fondamentaux taxonomiques : voir CWE et CVE. Pour les TTPs adverses : TTP.

Le bon mental model : threat modeling = exercice d'imagination structuré

Le piège le plus répandu : croire que le threat modeling est un exercice de checklist. Faux. Le threat modeling est un exercice d'imagination contraint par une méthodologie qui empêche les biais cognitifs habituels (« on n'y pensera pas »). Les 4 questions canoniques du Threat Modeling Manifesto :

  1. What are we working on ?, diagramme architecture, data flow, trust boundaries.
  2. What can go wrong ?, application de la méthodologie (STRIDE, PASTA, LINDDUN…) pour énumérer les menaces.
  3. What are we going to do about it ?, mitigations, contrôles, acceptation de risque.
  4. Did we do a good job ?, review, validation, mise à jour.

Une équipe qui répond à ces 4 questions avec rigueur, même sans suivre une méthodologie précise, fait du threat modeling sérieux. Une équipe qui remplit un Excel STRIDE sans diagramme et sans data flow ne fait que du théâtre de sécurité.

STRIDE : la base à maîtriser

STRIDE (Microsoft, Praerit Garg & Loren Kohnfelder, 1999) est l'acronyme des 6 catégories canoniques de menaces. Mature, simple, rapide. Couverture : 80% des systèmes IT classiques.

LettreMenacePropriété violéeExemple concret
SSpoofing identityAuthenticationJWT volé, session fixation
TTampering with dataIntegrityModification payload en transit, replay
RRepudiationNon-repudiationSuppression de logs, non-signature transaction
IInformation disclosureConfidentialitySQL injection, IDOR, error messages verbeux
DDenial of serviceAvailabilityDDoS L7, ressource exhaustion
EElevation of privilegeAuthorizationRCE → root, IDOR vertical, JWT none algorithm

Workflow STRIDE pratique :

  1. Diagrammer le data flow (DFD, Data Flow Diagram) : entités externes, processus, data stores, flux, trust boundaries.
  2. Pour chaque élément du diagramme, appliquer le tableau STRIDE-per-element :
ÉlémentSTRIDE
External entity
Process
Data flow
Data store✓ (audit log)
  1. Pour chaque menace identifiée, scorer (DREAD ou simple H/M/L) et proposer une mitigation.
  2. Documenter dans Threat Dragon, pytm ou Confluence avec ID unique par menace.

Exemple concret sur une API REST avec base PostgreSQL :

# Extrait threat model pytm-style
threat_id: TM-001
element: Process(API REST /users)
category: STRIDE-I (Information Disclosure)
description: |
  Une SQL injection sur le param ?id=1 OR 1=1 expose tous les users.
  CWE-89, classique.
likelihood: High (input direct DB query sans ORM)
impact: Critical (PII full table users)
mitigation:
  - Préparer toutes les queries via ORM (Prisma, SQLAlchemy)
  - Validation server-side (zod, joi, pydantic)
  - WAF mode block sur patterns OWASP CRS rule 942100
  - Tests SAST avec Semgrep rule p/sql-injection
status: Mitigated
verified_by: pentest #2025-Q3

PASTA : 7 phases pour environnements réglementés

PASTA (Process for Attack Simulation and Threat Analysis) créée par Tony UcedaVélez (VerSprite) en 2012, formalisée dans le livre « Risk Centric Threat Modeling » (Wiley 2015). Adaptée aux secteurs banque, défense, santé qui ont besoin d'aligner threat model et business impact analysis (BIA). 7 phases en cascade :

#PhaseLivrables
1Define ObjectivesBusiness risks, compliance scope (PCI, HIPAA, NIS2), business impact tolerance
2Define Technical ScopeComposants, dépendances, perimeter, data classifications
3Application DecompositionDFD, use cases, trust levels, entry/exit points
4Threat AnalysisThreat agents, motivation, capability (MITRE ATT&CK, threat intel)
5Vulnerability AnalysisMapping CWE/CVE, scan SAST/DAST results, attack vectors
6Attack ModelingAttack trees, kill chains, scenarios scénarisés
7Risk & Impact AnalysisRisk score, residual risk, treatment plan, validation

PASTA produit ~2-5x plus de documentation que STRIDE pour la même app. Pertinent quand l'audit ISO 27001 ou PCI le demande. Inadapté en mode startup agile.

LINDDUN v3.0 : privacy threat modeling pour RGPD

LINDDUN (KU Leuven, Kim Wuyts et al., 2010, v3.0 décembre 2023) est l'analogue privacy de STRIDE. Catégories :

LettreMenaceExemple
LLinkabilityCross-référencement données pseudonymisées vs identifiantes
IIdentifiabilityRe-identification via fingerprint browser
NNon-repudiationTracking action user impossible à nier
DDetectabilityExistence d'une donnée révélée par side-channel
DDisclosure of informationFuite de PII (similaire STRIDE-I)
UUnawarenessUser pas informé de la collecte
NNon-complianceRGPD art. 5, 25 (privacy by design) violés

LINDDUN GO (version simplifiée 2020) propose 7 cartes-questions pour ateliers rapides 1-2h. Indispensable pour tout projet impliquant données personnelles santé, finance, mineurs, biométrie. Fortement recommandé par CNIL et EDPB en 2024-2025.

Attack trees et kill chains

Attack tree (Bruce Schneier 1999) : modèle arborescent où la racine est l'objectif adverse (« voler la base clients ») et les nœuds enfants les sous-objectifs nécessaires. Notation AND/OR. Permet de scorer le coût/probabilité de chaque branche et identifier les chemins les moins coûteux pour l'attaquant.

Voler base clients
├── (OR) SQL injection sur /api/users
│   ├── (AND) Trouver SQLi via DAST
│   ├── (AND) Bypasser WAF
│   └── (AND) Lire table users complète
├── (OR) Compromettre un employé
│   ├── (AND) Phishing email valide
│   ├── (AND) Credentials login
│   └── (AND) Pas de MFA actif
└── (OR) Exfiltrer via backup S3
    ├── (AND) Trouver bucket public
    ├── (AND) Bucket non chiffré
    └── (AND) Bucket contient backup users

Kill chain (Lockheed Martin 2011, Hutchins/Cloppert/Amin) : 7 étapes d'une intrusion APT, Reconnaissance, Weaponization, Delivery, Exploitation, Installation, Command & Control, Actions on Objectives. Utile pour mapper TTPs MITRE ATT&CK sur scénarios d'attaque.

Stack outillage threat modeling 2026

OutilModèleTarifForceFaiblesse
OWASP Threat Dragon v2.4Open Source (Apache 2.0)GratuitGUI web, GitHub native, STRIDE autoLimité aux STRIDE-DFD
pytmOpen Source (MIT)GratuitThreat model as code, CI-friendlyApprentissage Python, sans GUI
Microsoft Threat Modeling Tool 2016Closed sourceGratuit WindowsSTRIDE complet, base de threatsFigé depuis 2022, Win-only
IriusRiskCommercial~50-200€/user/moisLibrairie 2000+ threats, Jira syncCoûteux pour petites équipes
ThreatModelerCommercialSur devisAutomation cloud (AWS, Azure templates)Lourd, intégration limitée
SD ElementsCommercialSur devisConformité orienté requirementsComplexité de mise en œuvre
Tutamantic LiteCommercial~30€/user/moisLéger, webMoins mature qu'IriusRisk
LINDDUN GO cardsOpen SourceGratuitMéthode atelier privacyManuel, pas d'outil dédié
CairisOpen SourceGratuitRecherche académique, richePeu maintenu, UX vieillissante
# pytm, Hello World threat model en Python
pip install pytm
 
cat > tm.py <<'EOF'
from pytm import TM, Server, Datastore, Dataflow, Boundary, Actor
 
tm = TM("API Users")
tm.description = "API REST exposant /users avec PostgreSQL"
 
internet = Boundary("Internet")
internal = Boundary("Internal Network")
 
user = Actor("End User")
user.inBoundary = internet
 
api = Server("API REST")
api.inBoundary = internal
api.OS = "Linux Alpine"
api.controls.sanitizesInput = True
api.controls.encodesOutput = True
 
db = Datastore("PostgreSQL")
db.inBoundary = internal
db.controls.isEncryptedAtRest = True
 
req = Dataflow(user, api, "GET /users?id=X")
req.protocol = "HTTPS"
req.dstPort = 443
req.controls.authenticatesSource = True
 
q = Dataflow(api, db, "SELECT * FROM users WHERE id=0.9 €")
q.protocol = "TCP"
q.dstPort = 5432
q.controls.usesParameterizedSQL = True
 
tm.process()
EOF
 
python tm.py --report template.md > threat_model.md
python tm.py --dfd | dot -Tpng -o dfd.webp

Threat modeling adapté à l'IA/LLM

Triple approche émergente en 2026 :

  1. STRIDE-AI (Microsoft Responsible AI, novembre 2023), extension de STRIDE avec catégories spécifiques :

    • Spoofing → model spoofing, identity theft via voice cloning
    • Tampering → data poisoning training set, prompt injection runtime
    • Information disclosure → model inversion, training data extraction
    • Elevation of privilege → jailbreak, agent tool abuse
  2. MITRE ATLAS (Adversarial Threat Landscape for AI Systems, juin 2021, MAJ continue 2024-2026), catalogue 70+ techniques adverses sur ML/LLM, structure ATT&CK-like : Reconnaissance, Resource Development, Initial Access, ML Model Access, Execution, Persistence, Defense Evasion, Discovery, Collection, Exfiltration, Impact.

  3. OWASP Top 10 for LLM Applications v2.0 (octobre 2024), 10 risques majeurs : LLM01 Prompt Injection, LLM02 Insecure Output Handling, LLM03 Training Data Poisoning, LLM04 Model DoS, LLM05 Supply Chain, LLM06 Sensitive Information Disclosure, LLM07 Insecure Plugin Design, LLM08 Excessive Agency, LLM09 Overreliance, LLM10 Model Theft.

Workflow combiné : STRIDE classique sur l'app, ATLAS sur le modèle, OWASP LLM Top 10 sur les surfaces LLM-specific (prompt, RAG, agents).

Erreurs fréquentes en threat modeling

ErreurSymptômeFix
Threat modeling post-designFindings non actionables, risque accepté de factoFaire en design phase, avant code
DFD trop abstrait sans trust boundariesMenaces génériques, pas de profondeurGranularité fine, boundaries explicites
STRIDE sans data flowListe de menaces théoriques, déconnectéesDFD obligatoire avant STRIDE
Pas de mise à jour 6+ moisThreat model pourri, ne reflète plus la réalitéCadence trimestrielle ou par release
Mitigation = "à voir avec sécu"Aucune action, dette accumuléeMitigation nominative + ID ticket Jira
Threat modeling fait par sécu seulePas de buy-in dev, théoriqueWorkshop dev + architecte + sécu (Manifesto)
Outil unique sans méthodeFalse sense of completenessMéthode d'abord (STRIDE/PASTA), outil ensuite
Pas de validation par pentestThéorie pure, jamais confrontéePentest annuel valide les hypothèses
Scoring DREAD subjectifArgument bikeshed sur les chiffresPréférer H/M/L simple ou CVSS-like
Documentation Word non versionnéePas de Git, perte d'historiquepytm ou Threat Dragon en Git
Compliance-driven sans valeur tech« threat model pour cocher la case »Aligner objectifs business + tech
Surcharge de documentation PASTA200 pages, personne ne litDémarrer STRIDE, monter en maturité

Mapping framework : threat modeling dans les référentiels

FrameworkRéférenceExigence threat modeling
OWASP SAMM v2.0Threat AssessmentPratique de niveau 1 à 3
OWASP ASVS v4.0.3V1.1.2Threat model documenté à chaque release
NIST SP 800-1542016 (data-centric)Methodology guide
NIST SSDF SP 800-218PW.1.1Threat modeling SDLC requirement
ISO/IEC 27034Application securityThreat & risk identification
PCI DSS v4.06.2.3, 6.2.4Threat modeling sur changes critical
Microsoft SDLPhase 2: DesignPractice 4, Threat Modeling
BSIMM 14 (2024)AM1.2, AM1.3, AM2.5Activités attack modeling
FedRAMPSC-7, SA-15Threat modeling intégré au SDLC
NIS2 directiveart. 21 §2 (b)Risk management measures

Pour aller plus loin

Points clés à retenir

  • ROI threat modeling Microsoft 2014 : 0.9 € investi en design phase = 90 € économisés en correction post-prod. Toujours en design, pas après.
  • 5 méthodologies majeures 2026 : STRIDE (Microsoft 1999, ~80% des cas), PASTA (UcedaVélez 2012, banque/défense), LINDDUN v3.0 (KU Leuven déc. 2023, privacy/RGPD), Attack Trees (Schneier 1999), Microsoft SDL.
  • Threat Modeling Manifesto (2020, signataires : Adam Shostack, Brook Schoenfield, Izar Tarandach et 14 autres) : 4 questions, 4 valeurs, 5 principes, référence canonique.
  • STRIDE = Spoofing, Tampering, Repudiation, Information disclosure, DoS, Elevation of privilege. Mature, rapide, mapping naturel sur DFD.
  • LINDDUN v3.0 (décembre 2023) = Linkability, Identifiability, Non-repudiation, Detectability, Disclosure, Unawareness, Non-compliance. Indispensable pour RGPD / HIPAA / mineurs / biométrie.
  • Outillage : OWASP Threat Dragon v2.4 (2024, gratuit), pytm (threat model as code), Microsoft Threat Modeling Tool 2016 (figé), IriusRisk (50-200€/user/mois, 2000+ threats).
  • Threat modeling IA/LLM 2026 : combiner STRIDE-AI (Microsoft, novembre 2023), MITRE ATLAS (juin 2021, MAJ continue), OWASP Top 10 for LLM v2.0 (octobre 2024).
  • Anti-pattern n°1 : threat modeling tardif (post-design) = théâtre de sécurité, ROI s'effondre. Discipline a une fenêtre design phase.
  • Anti-pattern n°2 : threat modeling fait par l'équipe sécu seule sans dev/archi → pas de buy-in, théorique. Manifesto : workshop tripartite.
  • Cadence opérationnelle : threat model léger à chaque epic/story qui touche un trust boundary, complet par release majeure, mise à jour trimestrielle.
  • Mapping framework : OWASP SAMM v2.0 Threat Assessment, ASVS v4 V1.1.2, NIST SP 800-154, NIST SSDF SP 800-218 PW.1.1, Microsoft SDL Phase 2, BSIMM 14 AM1.2.
  • Threat modeling vs pentest vs red team : threat modeling = proactif design (5-15j/personne), pentest = réactif test (5-15k€), red team = simulation adversaire (50-300k€). Complémentaires.

Questions fréquentes

  • STRIDE, PASTA ou LINDDUN : laquelle choisir en 2026 ?
    STRIDE pour 80% des systèmes IT classiques (apps web, microservices, mobile), créée par Praerit Garg et Loren Kohnfelder chez Microsoft en 1999, simple, rapide, mature. PASTA (Process for Attack Simulation and Threat Analysis, Tony UcedaVélez 2012) si tu travailles en environnement réglementé (banque, défense) avec besoin d'aligner sur la business impact analysis, 7 phases lourdes mais rigoureuses. LINDDUN (KU Leuven 2010, v3.0 décembre 2023) pour le privacy threat modeling RGPD/HIPAA, Linkability, Identifiability, Non-repudiation, Detectability, Disclosure, Unawareness, Non-compliance. Position : démarrer sur STRIDE, ajouter LINDDUN si traitement données perso critique, basculer PASTA si gros chantier conformité.
  • Quand faire le threat modeling dans le SDLC en 2026 ?
    Le plus tôt possible, c'est la règle de Loi 1 du Threat Modeling Manifesto (2020, signataires : Shostack, Schoenfield, Tarandach, Curphey, Wuyts, Eng, Sutton). Concrètement : phase de design (avant le code), pas après. ROI mesuré chez Microsoft 2014 : 0.9 € investi en threat modeling économise 90 € en correction post-prod. Cadence agile : threat model léger à chaque epic/story qui touche un trust boundary, threat model complet par release majeure. Anti-pattern : faire le threat model une fois en année N puis l'oublier, il pourrit en 6-12 mois sur un système actif.
  • OWASP Threat Dragon, pytm ou IriusRisk : quel outil utiliser ?
    OWASP Threat Dragon (v2.4, 2024) : gratuit, open source, GUI web, génération STRIDE par data flow diagram, intégration GitHub. Idéal solo / SMB / formation. **pytm** (OWASP, Python) : threat model as code, intégrable CI/CD, output Markdown/PlantUML, niche dev senior aimant Git-driven. **IriusRisk** : commercial (~~50-200€/user/mois), automatique, librairie de threats curée 2000+, intégration Jira/ServiceNow, idéal pour > 50 développeurs. **Microsoft Threat Modeling Tool 2016** (gratuit Windows-only) : encore utilisé mais figé depuis 2022. Position : Threat Dragon pour démarrer, pytm pour ceux qui aiment le code, IriusRisk en enterprise.
  • Comment threat modeler une application IA/LLM en 2026 ?
    STRIDE classique ne suffit pas. Trois approches émergent : 1) **STRIDE-AI** (Microsoft Responsible AI, novembre 2023) qui ajoute des catégories liées au modèle : Information Disclosure → model inversion, Tampering → poisoning, Spoofing → model extraction. 2) **MITRE ATLAS** (Adversarial Threat Landscape for AI Systems, juin 2021, MAJ 2024) qui catalogue 70+ techniques d'attaque AI inspirées d'ATT&CK. 3) **OWASP Top 10 for LLMs v2.0** (octobre 2024) qui couvre prompt injection (LLM01), insecure output handling (LLM02), training data poisoning (LLM03). Combiner STRIDE pour l'app + ATLAS pour le modèle ML/LLM lui-même.
  • Threat modeling vs pentest vs red team : différence pratique ?
    Threat modeling = **proactif phase design** (avant le code), modélise des risques sur architecture théorique, estime ~5-15 jours/personne par système. Pentest = **réactif phase test/prod** (système déjà construit), exploite vulnérabilités réelles, estime 5-15 jours pour audit web complet à 5-15k€ HT en 2026. Red team = **simulation adversaire complète** (TTPs MITRE ATT&CK, persistance, exfil), 4-12 semaines, 50-300k€ HT. Les trois sont complémentaires, jamais substituts. Un threat model rigoureux fait gagner ~30-50% de findings sur le pentest qui suit (les évidents sont déjà fixés).

Écrit par

Naim Aouaichia

Cyber Security Engineer et fondateur de Zeroday Cyber Academy

Ingénieur cybersécurité avec un parcours hybride : développement, DevOps Capgemini, DevSecOps IN Groupe (sécurité des documents d'identité régaliens), audits CAC 40. Fondateur de Hash24Security et Zeroday Cyber Academy. Présence LinkedIn 43 000 abonnés, Substack Zeroday Notes 23 000 abonnés.