Lors de l’exécution d’une Threat Modeling, ou modélisation des menaces, lors de la révision de code, il est important de suivre un processus structuré. L’objectif est d’identifier, d’évaluer et de réduire les risques de sécurité associés à une application.
Ce processus peut être divisé en trois phases principales :
1. Décomposition de l’Application
La première étape consiste à comprendre l’application et ses interactions avec des entités externes. Cela implique la création de cas d’utilisation pour analyser la manière dont l’application est utilisée, l’identification des points d’entrée où un attaquant potentiel pourrait interagir avec l’application, le repérage des actifs qui pourraient intéresser un attaquant, et la définition des niveaux de confiance, qui représentent les droits d’accès accordés aux entités externes. Ces informations sont documentées dans un modèle de menace, qui inclut également des diagrammes de flux de données (DFD) montrant les chemins des données à travers le système, en mettant en évidence les frontières de privilèges.
2. Identification et Classification des Menaces
Une fois l’application décomposée, l’étape suivante consiste à déterminer et à classer les menaces. Ce processus nécessite l’utilisation d’une méthodologie de catégorisation des menaces, telle que le modèle STRIDE, qui aide à identifier systématiquement les menaces basées sur les objectifs communs des attaquants, comme l’usurpation d’identité (spoofing), la manipulation de données, le déni de service, etc. Chaque menace identifiée est ensuite analysée pour comprendre son impact potentiel et la facilité avec laquelle elle peut être exploitée, permettant ainsi de créer une liste prioritaire des menaces à atténuer.
3. Contre-mesures et Atténuation
Après avoir identifié les menaces, il est essentiel de déterminer les contre-mesures à mettre en œuvre pour atténuer les risques associés. Les contre-mesures peuvent inclure des contrôles de sécurité, des modifications de la conception de l’application, ou même la suppression de fonctionnalités présentant des risques trop élevés. Dans certains cas, il peut être acceptable d’accepter un risque si les contre-mesures sont trop coûteuses ou complexes à mettre en œuvre, à condition que le risque soit documenté et géré de manière appropriée.
La Threat Modeling permet d’aborder les menaces les plus critiques de manière efficace, en minimisant les vulnérabilités de l’application et en améliorant globalement sa sécurité.
🔙 Retour à la mini-série d’ISGroup SRL dédiée à la Code Review !
Leave a Reply