Devmind.
Menu

Apprendre, à votre rythme

Tous les cursus sont accessibles sans compte.

Chapitre 9 / Notion

Threat modeling en pratique

Le cours 1.1 donne le vocabulaire ; ici la méthode pas à pas, sur TON app, en une heure.

◷ 12 minutesTravail sur votre machine

Prérequis : cours précédent.

Pourquoi

Le cours 1.1 donne le vocabulaire ; ici la méthode pas à pas, sur TON app, en une heure. Un threat model écrit vaut tous les scanners du monde pour les failles de conception (qu'aucun outil ne trouve).

Concepts

  • STRIDE (Microsoft) : par composant, chercher Spoofing (usurpation), Tampering (modification), Repudiation (déni — « c'est pas moi »), Info disclosure (fuite), DoS, Elevation (montée de privilèges). Une grille, pas de l'inspiration.
  • Diagramme de flux : dessiner users → front → API → base → tiers, avec les frontières de confiance (internet / DMZ / interne). Les attaques vivent aux frontières.
  • Cotation : impact × probabilité (ou DREAD simplifié). Tout ne se traite pas : on traite le rouge, on assume le vert par écrit.

Exemple : login en STRIDE express

Spoofing : brute-force → rate-limit + alertes (cf. 1.1)
Tampering : reset token devinable → token aléatoire 256 bits + expiry 15 min
Repudiation : qui s'est connecté quand ? → logs auth horodatés
Info disclosure : énumération (403 vs 404 !) → messages génériques
Elevation : rôle modifiable par l'user ? → jamais depuis le client

Cas réel

Reset password par token incrémental (/reset?token=1042) : énuméré en 10 minutes, 300 comptes pris. STRIDE de 20 minutes l'aurait vu (« Tampering : token devinable ? »). Coût du fix après : 3 jours + communication + rotation forcée.

Pièges

  • Modéliser une fois puis oublier : chaque feature (upload ! SSO ! export !) rouvre la question. Rituel par feature sensible.
  • Tout classer rouge : sans priorités, rien n'est fait. Assumer du vert par écrit, c'est aussi de la sécu.
  • Oublier les logs comme asset ET comme risque (données dedans !) : les deux côtés du triangle.

À retenir

STRIDE par composant, frontières sur le schéma, rouge traité, vert assumé par écrit.

Pas de correction en ligneConfrontez votre code aux résultats attendus du cours.