Be Software Architecture Wise
Be Wise Apps

Read in English · Leer en español · Auf Deutsch lesen

Section 8.2 sur 8.8 · Intermédiaire · 22 min de lecture

Modélisation des menaces : STRIDE, arbres d’attaque et diagrammes de flux de données

Leçon vidéo

5 min · narré en anglais, avec sous-titres
Écouter seulement (audio)
Lire la transcription

La modélisation des menaces est le moyen par lequel les principes de sécurité deviennent des décisions de conception concrètes. Dans cette leçon, vous verrez comment une équipe examine une conception, trouve ce qui pourrait mal tourner et décide quoi faire.

Avant le départ d’une famille en vacances, quelqu’un fait généralement le tour de la maison en se demandant ce qui pourrait mal tourner. La porte de derrière est-elle fermée à clé ? La clé de secours est-elle sous le pot de fleurs ? Le courrier va-t-il s’entasser et montrer qu’il n’y a personne ? Puis on décide quoi faire pour chaque point. La modélisation des menaces, c’est ce même tour appliqué à une conception logicielle : dessiner comment les données circulent, se demander ce qu’un attaquant pourrait faire à chaque étape, et décider.

Adam Shostack, qui a dirigé les travaux de modélisation des menaces chez Microsoft, la ramène à quatre questions. Premièrement, sur quoi travaillons-nous ? C’est-à-dire un modèle du système, généralement un diagramme. Deuxièmement, qu’est-ce qui peut mal tourner ? On trouve les menaces de façon systématique, pas en devinant. Troisièmement, qu’allons-nous faire à ce sujet ? Chaque menace reçoit une décision. Quatrièmement, avons-nous fait un travail suffisant ? On revoit le modèle et le suivi. Toute méthode qui répond à ces quatre questions est de la modélisation des menaces.

Le modèle habituel est un diagramme de flux de données. Les rectangles sont les entités externes, les ellipses les processus, les lignes parallèles les stockages de données, les flèches les flux de données, et les cadres en pointillés les frontières de confiance. Celui-ci montre une nouvelle étape de paiement. L’app client est à l’extérieur de la frontière de confiance de la plateforme. Le flux un, la commande et un token, franchit cette frontière pour atteindre l’API gateway. À l’intérieur, le service des commandes demande à Tarification de calculer le prix du panier, et écrit la commande dans sa base de données. Une seconde zone, strictement restreinte, entoure Paiements et sa base de données, qui ne détiennent que des tokens et des références de paiement. Paiements demande au prestataire de paiement d’encaisser l’argent, et le prestataire renvoie le résultat par webhook. Ces deux flux franchissent une frontière, et les attaques suivent les données à travers les frontières. Et remarquez le flux neuf, tout en bas. Les données de carte vont des champs hébergés dans l’app directement au prestataire, si bien qu’elles n’entrent jamais dans la plateforme.

Pour trouver les menaces, la plupart des équipes utilisent STRIDE, créé chez Microsoft en 1999. Chaque lettre nomme une menace qui porte atteinte à une propriété. L’usurpation d’identité, le spoofing, porte atteinte à l’authenticité, par exemple un processus malveillant qui se fait passer pour le service des commandes. La falsification, le tampering, porte atteinte à l’intégrité : un client envoie un total de panier modifié. La répudiation : quelqu’un nie une action, et rien ne prouve le contraire. La divulgation d’informations porte atteinte à la confidentialité, par exemple des adresses montrées aux mauvais livreurs. Le déni de service porte atteinte à la disponibilité. Et l’élévation de privilèges porte atteinte à l’autorisation. Une façon pratique de l’utiliser est de parcourir chaque élément du diagramme, en consacrant l’essentiel de l’attention aux flux qui franchissent des frontières de confiance.

Les arbres d’attaque regardent le système du côté de l’attaquant. La racine est un objectif : ici, obtenir des repas sans payer. Chaque enfant est un moyen de l’atteindre. Ces trois-là sont des alternatives, et n’importe laquelle suffit : abuser des bons, modifier le prix ou payer avec une carte volée. Payer avec une carte volée exige ses deux étapes ensemble. L’attaquant doit acheter des numéros de carte et aussi passer les contrôles antifraude, ce qui est coûteux. Mais modifier le total dans la requête du client est trivial, si le serveur lui fait confiance. Le chemin le moins coûteux détermine le risque. Recalculer chaque prix sur le serveur vaut donc davantage que n’importe quel réglage de la lutte contre la fraude à la carte.

Voici ce qui est ressorti d’une séance de quatre-vingt-dix minutes sur cette étape de paiement. Un prix modifié est atténué en recalculant chaque total sur le serveur. Un faux appelant qui demande des remboursements à Paiements est arrêté par le TLS mutuel et l’identité de charge de travail. Un faux webhook « paiement réussi » est arrêté en vérifiant la signature du prestataire et en confirmant le statut. Deviner les numéros de commande d’autres clients est empêché par un contrôle de propriété à chaque requête. Et les numéros de carte ne sont pas du tout atténués. Ils sont éliminés. Le moyen le moins coûteux de les protéger est de ne pas les détenir.

Évaluez chaque menace selon sa probabilité et son impact, sur une échelle simple. La justification écrite compte plus que le chiffre. Ensuite, chaque menace se conclut par l’une de quatre décisions : atténuer, éliminer, transférer à quelqu’un de mieux placé, ou accepter. L’échec le plus courant est l’acceptation non consignée : la menace a été trouvée, personne ne l’a corrigée, et personne n’a décidé de ne pas le faire. Modélisez les menaces lors de la conception, quand le changement coûte le moins, puis à nouveau chaque fois que les frontières de confiance, les données sensibles ou l’authentification changent.

La section complète contient le tableau complet des menaces de l’étape de paiement et les erreurs courantes à éviter. Ensuite, dans la section huit point trois, nous aborderons l’identité et l’accès : qui appelle, et qu’a-t-il le droit de faire ? À très vite.

Ce qu’il faut savoir

Ce qu’est la modélisation des menaces

La modélisation des menaces est l’activité qui consiste à examiner une conception pour trouver ce qui pourrait mal tourner du point de vue de la sécurité, et à décider quoi faire, avant que des attaquants ou des incidents ne le trouvent pour vous. C’est le principal moyen par lequel les principes de sécurité deviennent des décisions concrètes, et la réponse la plus directe à la catégorie OWASP de la conception non sécurisée : des failles qu’aucun codage correct, si soigné soit-il, ne peut corriger, parce que le contrôle nécessaire n’a jamais été prévu dans la conception.

Adam Shostack, qui a dirigé les travaux de modélisation des menaces chez Microsoft et écrit le livre de référence sur le sujet, ramène l’activité à quatre questions. Sur quoi travaillons-nous ? (un modèle du système, généralement un diagramme). Qu’est-ce qui peut mal tourner ? (les menaces, trouvées de façon systématique). Qu’allons-nous faire à ce sujet ? (atténuer, éliminer, transférer ou accepter chaque menace). Avons-nous fait un travail suffisant ? (revoir le modèle, les menaces et le suivi). Toute méthode qui répond aux quatre questions est de la modélisation des menaces ; la suite de cette section décrit les techniques que la plupart des équipes utilisent pour y répondre.

En 2020, un groupe de praticiens, dont Shostack, a publié le Threat Modeling Manifesto, sur le modèle du Manifeste agile. Il privilégie une culture qui consiste à trouver et à corriger les problèmes de conception plutôt que la conformité de pure forme, les personnes et la collaboration plutôt que les processus et les outils, un cheminement de compréhension plutôt qu’un instantané de sécurité ponctuel, le fait de pratiquer la modélisation des menaces plutôt que d’en parler, et l’amélioration continue plutôt qu’une livraison unique. Son message est que la modélisation des menaces est une habitude de l’équipe qui construit le système, et non un document produit une fois par an par des personnes extérieures.

Modéliser le système : diagrammes de flux de données et frontières de confiance

La première question exige un modèle du système qui montre où vont les données et où la confiance change. Le choix traditionnel est un diagramme de flux de données (DFD) comportant cinq types d’éléments : les entités externes (des personnes ou des systèmes hors de votre contrôle, dessinés sous forme de rectangles), les processus (du code que vous exécutez, dessiné sous forme de cercles ou d’ellipses), les stockages de données (bases de données, fichiers, files et caches, dessinés entre deux lignes parallèles), les flux de données (des flèches montrant les données qui circulent entre les autres éléments) et les frontières de confiance (des lignes ou des cadres en pointillés là où le niveau de confiance change).

Les DFD conviennent à la modélisation des menaces parce que les attaques suivent les données : chaque flux qui franchit une frontière de confiance est un endroit où un attaquant peut injecter, intercepter ou rejouer quelque chose. Un diagramme de conteneurs C4 du chapitre 4 est un bon point de départ : ajoutez les frontières de confiance, faites de chaque flèche un flux de données avec un sens et une étiquette, et incluez les stockages et les files que les diagrammes de conteneurs laissent parfois implicites. Gardez le diagramme au niveau où l’on trouve les menaces : un diagramme par fonctionnalité ou par flux important est plus utile qu’un seul diagramme géant de tout le système.

Trouver les menaces avec STRIDE

STRIDE a été créé chez Microsoft en 1999 par Loren Kohnfelder et Praerit Garg, comme moyen mnémotechnique pour aider les développeurs à réfléchir aux menaces qui pèsent sur leurs produits. Chaque lettre nomme une catégorie de menaces, et chaque catégorie correspond à l’atteinte à une propriété de sécurité, ce qui en fait l’utilité : c’est une incitation systématique, pas une liste d’attaques connues.

STRIDE et la propriété à laquelle chaque menace porte atteinte

MenacePropriété atteinteExemple de livraison de repasMesures d’atténuation typiques
Spoofing (usurpation d’identité)AuthenticitéUn attaquant se connecte en tant que client grâce à un mot de passe obtenu par bourrage d’identifiants ; un processus malveillant appelle Paiements en se faisant passer pour Commandes.Authentification forte (MFA, passkeys), limites de débit, TLS mutuel et identité de charge de travail entre services.
Tampering (falsification)IntégritéUn client envoie un total de panier modifié ; quelqu’un altère un webhook de paiement ou une ligne de base de données.Recalcul côté serveur, signatures et MAC, TLS, accès en écriture au moindre privilège.
RépudiationNon-répudiation (imputabilité)Un client nie avoir passé une commande ; un agent du support nie avoir émis un remboursement, et rien ne prouve le contraire.Journaux d’audit liés à des identités authentifiées, horodatages, stockage qui révèle toute altération.
Information disclosure (divulgation d’informations)ConfidentialitéUne API renvoie les adresses de clients à des livreurs qui ne les livrent pas ; des messages d’erreur révèlent des détails internes.Autorisation sur chaque objet, minimisation des données, chiffrement, messages d’erreur génériques.
Déni de serviceDisponibilitéDes bots inondent l’étape de paiement pendant le pic du soir ; une requête de recherche coûteuse épuise la base de données.Limites de débit et quotas, délais d’expiration, cloisonnements, autoscaling, limites de coût des requêtes.
Elevation of privilege (élévation de privilèges)AutorisationUn client appelle un endpoint réservé aux gérants de restaurant ; une injection permet à un attaquant d’exécuter du code avec les droits du service.Autorisation avec refus par défaut, validation des entrées, sandboxing, moindre privilège.

Une façon pratique d’appliquer STRIDE est le STRIDE par élément : parcourir chaque élément du DFD et ne poser que les questions qui s’appliquent à son type. Les entités externes peuvent être usurpées et peuvent répudier ; les processus sont exposés aux six catégories ; les stockages de données à la falsification, à la divulgation d’informations et au déni de service (et à la répudiation lorsque le stockage est un journal) ; les flux de données à la falsification, à la divulgation d’informations et au déni de service. Consacrer l’essentiel de l’attention aux flux qui franchissent des frontières de confiance permet de garder l’exercice ciblé.

STRIDE trouve des menaces ; il ne les classe pas et ne choisit pas les mesures d’atténuation. Ses catégories se recoupent aussi en pratique (une identité usurpée mène généralement à une divulgation d’informations ou à une élévation de privilèges), ce qui n’a pas d’importance : le but est de trouver la menace, pas de la classer parfaitement. Pour les menaces pesant sur la vie privée, comme le fait de relier ou d’identifier des personnes à partir de données d’apparence anodine, la méthode LINDDUN de la KU Leuven joue le rôle que STRIDE joue pour la sécurité ; elle est présentée avec la protection de la vie privée dès la conception.

Arbres d’attaque

Un arbre d’attaque, popularisé par Bruce Schneier dans un article de 1999 du Dr. Dobb’s Journal, regarde le système du côté de l’attaquant. La racine est un objectif, comme obtenir des repas sans payer ; chaque enfant est un moyen d’atteindre son parent. Les enfants d’un nœud OU sont des alternatives ; tous les enfants d’un nœud ET sont nécessaires ensemble. Les feuilles peuvent être annotées de propriétés comme le coût, la compétence nécessaire ou le fait que l’étape soit possible ou non, et ces valeurs remontent l’arbre : le coût d’un nœud OU est celui de son enfant le moins coûteux, le coût d’un nœud ET la somme de ses enfants.

Les arbres d’attaque complètent bien STRIDE. STRIDE parcourt la conception élément par élément et assure une bonne couverture ; un arbre d’attaque suit un attaquant motivé et montre bien quel chemin est le moins coûteux, donc où une mesure d’atténuation rapporte le plus. Dans l’arbre ci-dessous, payer avec une carte volée est relativement coûteux parce qu’il faut deux choses à la fois, alors que modifier le prix dans la requête du client est trivial si le serveur lui fait confiance. Le chemin le moins coûteux détermine le risque, si bien que recalculer chaque prix sur le serveur vaut davantage que n’importe quel réglage de la lutte contre la fraude à la carte.

Arbre d’attaque pour l’objectif obtenir des repas sans payer, avec trois branches OU : abuser des bons, modifier le prix et payer avec une carte volée, qui exige à la fois d’acheter des numéros de carte et de passer 3-D Secure et l’antifraudeObtenir repas sans payerAbuser des bonsModifier le prixPayer avec carte voléeOUOUOUETMultiplier lesbons d’accueil(faux comptes)Deviner/rejouerles codes promoChanger le totalde la requêteclientRejouer unvieux panierAcheterdes n° de cartePasser 3-D Secureet l’antifraudefacile, scriptablefacile si codes courtstrivial si acceptéfacilefacilecoûteuxLe chemin le moins cher fixe le risque : le serveur doit recalculer chaque prix
Un arbre d’attaque pour un objectif d’attaquant ; la feuille la moins coûteuse montre où une mesure d’atténuation compte le plus.

Évaluer le risque

Un modèle de menaces trouve généralement plus de menaces qu’une équipe ne peut en traiter à la fois, si bien que chacune doit être évaluée. L’approche habituelle consiste à juger la probabilité (facilité, attrait, exposition) et l’impact (ce qui est perdu si la menace se réalise : argent, données à caractère personnel, disponibilité, réputation, exposition juridique) sur des échelles simples, par exemple faible, moyen et élevé, et à les combiner dans une matrice. La valeur de l’évaluation tient moins à la précision du chiffre qu’à une justification écrite que d’autres peuvent contester. Les organisations dotées d’une gestion des risques mature utilisent parfois des méthodes quantitatives comme FAIR (Factor Analysis of Information Risk) pour exprimer le risque sous forme d’une fourchette de pertes attendues.

Deux raccourcis populaires méritent d’être connus parce qu’ils sont souvent mal utilisés. DREAD (damage, reproducibility, exploitability, affected users, discoverability, soit dommages, reproductibilité, exploitabilité, utilisateurs touchés et découvrabilité), autrefois utilisé chez Microsoft, notait chaque menace sur cinq facteurs (souvent de 1 à 10) et en faisait la moyenne. Il est tombé en désuétude, y compris chez Microsoft, parce que différentes personnes notaient la même menace de façon très différente et que la moyenne donnait une fausse impression de précision ; la découvrabilité, en particulier, récompense l’obscurité, ce qui contredit la conception ouverte. CVSS, le Common Vulnerability Scoring System maintenu par le FIRST (version 4.0, 2023), est le bon outil pour une autre tâche : évaluer la gravité d’une vulnérabilité connue dans un produit, comme une faille dans une bibliothèque. Son score de base décrit la vulnérabilité, pas le risque d’une menace de conception dans votre contexte ; il ne faut donc pas l’utiliser pour classer les résultats d’un modèle de menaces.

Chaque menace se conclut par l’une de quatre décisions : atténuer (ajouter un contrôle), éliminer (supprimer la fonctionnalité ou les données, souvent la meilleure option), transférer (laisser quelqu’un de mieux placé la porter, comme un prestataire de paiement qui détient les données de carte) ou accepter (consigner qu’une personne habilitée à le faire a accepté le risque résiduel, et pourquoi). L’acceptation non consignée est l’échec le plus courant : la menace a été trouvée, personne ne l’a corrigée, et personne n’a décidé de ne pas le faire.

Exemple commenté

Exemple commenté : modéliser les menaces de l’étape de paiement

L’équipe de la plateforme de livraison de repas refond l’étape de paiement pour que les clients puissent payer dans l’app par carte ou avec un portefeuille électronique. L’architecte anime une séance de 90 minutes avec les développeurs des commandes et des paiements, un product owner et un référent sécurité. Le DFD ci-dessous répond à la première question, sur quoi travaillons-nous. Il montre deux frontières de confiance : la plateforme dans son ensemble, et une zone de paiement plus étroite et strictement restreinte (étiquetée zone PCI) autour du service des paiements et de sa base de données, qui détiennent des tokens et des références de paiement et communiquent avec le prestataire de paiement ; les isoler permet de garder réduit le périmètre PCI DSS de la plateforme. Les données de carte elles-mêmes (flux 9) vont directement des champs de paiement hébergés dans l’app au prestataire de paiement et n’entrent jamais dans la plateforme.

1. Sur quoi travaillons-nous ?Le DFD de l’étape de paiement ci-dessous : app client, API gateway, Commandes, Tarification, Paiements, deux bases de données et le prestataire de paiement, avec deux frontières de confiance (la plateforme et la zone PCI) et neuf flux numérotés.
2. Qu’est-ce qui peut mal tourner ?STRIDE par élément sur chaque flux qui franchit une frontière (1, 5, 6, 8 et 9) et sur l’API des commandes, plus l’arbre d’attaque présenté plus haut pour obtenir des repas sans payer.
3. Qu’allons-nous faire à ce sujet ?Chaque menace est évaluée et reçoit une décision (atténuer, éliminer, transférer ou accepter) et un responsable ; les plus importantes figurent dans le tableau ci-dessous.
4. Avons-nous fait un travail suffisant ?Une revue un mois plus tard compare le modèle à ce qui a été construit et vérifie que chaque risque élevé a été atténué ou accepté par écrit.

Le moyen le moins coûteux de protéger les numéros de carte est de ne pas les détenir : le flux 9 les garde entièrement hors de la plateforme, ce qui élimine des menaces au lieu de les atténuer.

DFD de l’étape de paiement de la plateforme de livraison de repas : l’app client envoie une commande à l’API gateway, dans la frontière de la plateforme ; le service des commandes calcule le prix du panier, enregistre la commande et demande au service des paiements, dans une zone PCI distincte, d’encaisser via un prestataire externe, qui renvoie le résultat par webhook ; les données de carte vont de l’app directement au prestataireFrontière de la plateformeZone PCIInternetClient(app)API gatewayCommandeTarifsBD CmdesPaiementsBD PaiementsServicepaiement123456789Flux données1 commande+token2 commander3 tarifer panier4 enregistrer5 autoriser montant6 créer paiement7 stocker référence8 webhook résultat9 données carte(champs hébergés)
Le diagramme de flux de données de l’étape de paiement, avec ses deux frontières de confiance et ses flux de données numérotés.

Menaces choisies dans le modèle de menaces de l’étape de paiement

ID et emplacementSTRIDEMenaceRisqueDécision et atténuation
T1, flux 1SLe bourrage d’identifiants permet de prendre le contrôle de comptes qui ont des cartes enregistrées.ÉlevéAtténuer : passkeys, ou MFA sur les nouveaux appareils ; limites de débit par compte et par IP ; vérification des mots de passe ayant fuité.
T2, flux 1 et 2TLe client envoie un prix, une remise ou des frais de livraison modifiés.ÉlevéAtténuer : Commandes ignore les prix du client ; Tarification recalcule à partir des cartes et des bons ; le paiement est créé pour le total calculé par le serveur.
T3, flux 5S, EUn autre service interne, ou un attaquant à l’intérieur du réseau, demande à Paiements d’autoriser ou de rembourser des montants arbitraires.ÉlevéAtténuer : TLS mutuel avec identité de charge de travail ; Paiements n’accepte les autorisations que de l’identité de Commandes, liées à un ID de commande et à un montant.
T4, flux 8S, TUn faux webhook « paiement réussi » marque comme payée une commande impayée.ÉlevéAtténuer : vérifier la signature et l’horodatage du prestataire ; confirmer le statut auprès de l’API du prestataire avant de libérer la commande ; traiter chaque événement une seule fois.
T5, GET /orders/{id}IL’énumération des ID de commande révèle les adresses d’autres clients (autorisation défaillante au niveau objet).ÉlevéAtténuer : contrôle de propriété à chaque requête ; identifiants aléatoires uniquement comme mesure secondaire.
T6, BD CommandesIDes enregistrements de commandes contenant des adresses fuient depuis une sauvegarde ou via un compte d’analyse aux droits trop larges.MoyenAtténuer : chiffrement au repos avec des clés KMS, comptes au moindre privilège, sauvegardes dans un compte distinct.
T7, flux 1DDes bots épuisent la capacité de l’étape de paiement au pic du soir.MoyenAtténuer : limites de débit et détection des bots en périphérie, capacité réservée à l’étape de paiement, file d’attente virtuelle si nécessaire.
T8, CommandesRUn client conteste avoir passé une commande, et il n’existe aucune preuve.FaibleAtténuer : événement d’audit avec ID utilisateur, appareil, heure et détails de la commande, conservé conformément à la politique.
T9, flux 9IDes numéros de carte transitant par la plateforme feraient entrer chaque composant dans le périmètre PCI DSS.ConceptionÉliminer et transférer : les champs hébergés envoient les données de carte directement au prestataire ; la plateforme ne stocke que des tokens et des références.

Les réponses aux deux dernières questions sont aussi importantes que le tableau. Chaque mesure d’atténuation devient un élément du backlog avec un responsable ; T3 et T4 deviennent aussi des scénarios de sécurité assortis de tests automatisés (un webhook avec une signature invalide doit être rejeté ; un appel à Paiements depuis toute identité autre que Commandes doit échouer). Les deux décisions architecturales, les champs de paiement hébergés et le TLS mutuel entre Commandes et Paiements, sont consignées sous forme d’ADR. Pour la quatrième question, l’équipe revoit le modèle un mois plus tard par rapport à ce qui a réellement été construit, et le référent sécurité vérifie que chaque élément à risque élevé a été soit atténué, soit explicitement accepté.

Quand et à quelle fréquence modéliser les menaces

La modélisation des menaces rapporte le plus au moment de la conception, quand changer une décision coûte un coup d’effaceur sur un tableau blanc. Elle doit ensuite être répétée chaque fois que quelque chose d’important change : une nouvelle frontière de confiance ou intégration externe, un nouveau type de données sensibles, une modification de l’authentification ou de l’autorisation, un nouvel environnement de déploiement, ou le passage d’un monolithe à des services. Une règle raisonnable consiste à faire de « ce changement modifie-t-il le modèle de menaces ? » une question des revues de conception et du modèle d’enregistrement de décision d’architecture, et à planifier une revue du modèle de chaque système au moins une fois par an et après chaque incident de sécurité.

L’effort doit être proportionné, dans l’esprit de l’approche guidée par les risques du chapitre 1. Un nouveau microservice qui traite des paiements mérite une séance d’une demi-journée avec un DFD complet ; ajouter un champ à une carte publique demande cinq minutes et un rapide coup d’œil STRIDE au flux modifié. Beaucoup d’équipes conservent leur DFD sous forme de code à côté du système (OWASP Threat Dragon et le Threat Modeling Tool de Microsoft sont des outils de diagrammes gratuits, et des bibliothèques comme OWASP pytm génèrent des diagrammes et des menaces candidates à partir du code), afin que le modèle soit relu et mis à jour avec le système qu’il décrit.

Vérifiez votre compréhension

Quelles catégories STRIDE s’appliquent à un flux de données dans le STRIDE par élément ?

La falsification, la divulgation d’informations et le déni de service : des données en transit peuvent être modifiées, lues ou bloquées.

Pourquoi CVSS n’est-il pas le bon outil pour classer les menaces trouvées dans un modèle de menaces ?

CVSS note la gravité d’une vulnérabilité connue précise dans un produit ; il ne tient pas compte de votre conception, de vos actifs ni de votre contexte, et ne mesure donc pas le risque d’une menace au niveau de la conception.

Dans un arbre d’attaque, comment le coût d’un nœud ET se calcule-t-il à partir de ses enfants, et pourquoi est-ce important ?

C’est la somme des coûts de ses enfants, car toutes les étapes sont nécessaires. Les nœuds ET sont donc généralement des chemins coûteux, tandis que l’enfant le moins coûteux d’un nœud OU fixe le risque.

Quel est l’échec le plus courant à la quatrième étape de la modélisation des menaces ?

Des menaces trouvées mais ni corrigées ni explicitement acceptées : personne n’en est responsable et personne n’a décidé de vivre avec.

Suivant · 8.3Identité et accèsAuthentification et autorisation, les règles actuelles du NIST sur les mots de passe, la MFA et les passkeys, les sessions et les JWT, OAuth 2.0 avec PKCE, OpenID Connect, RBAC, ABAC, le contrôle d’accès basé sur les relations et l’identité de charge de travail.Continuer →

Sources et lectures complémentaires

Une question sur cette section ? ArchitectBot, l’assistant d’étude IA du cours, répond d’abord à partir du cours.

Demander : « Comment animer une première séance de modélisation des menaces pour une nouvelle fonctionnalité de paiement, et que doit-il en ressortir ? »