Partager via


Recommandations pour l’analyse des menaces

S’applique à cette recommandation de liste de contrôle azure Well-Architected Framework Security :

SE :02 Maintenez un cycle de vie de développement sécurisé à l’aide d’une chaîne d’approvisionnement logicielle renforcée, principalement automatisée et auditable. Incorporez une conception sécurisée à l’aide de la modélisation des menaces pour vous protéger contre les implémentations de protection contre la sécurité.

Guide connexe : Recommandations pour la sécurisation d’un cycle de vie de développement

Une analyse complète pour identifier les menaces, les attaques, les vulnérabilités et les mesures de compteur est cruciale pendant la phase de conception d’une charge de travail. La modélisation des menaces est un exercice d’ingénierie qui comprend la définition des exigences de sécurité, l’identification et l’atténuation des menaces et la validation de ces atténuations. Vous pouvez utiliser cette technique à n’importe quel stade du développement ou de la production d’applications, mais elle est la plus efficace pendant les phases de conception de nouvelles fonctionnalités.

Ce guide décrit les recommandations relatives à la modélisation des menaces afin de pouvoir identifier rapidement les lacunes de sécurité et concevoir vos défenses de sécurité.

Définitions 

Terme Définition
Cycle de vie du développement logiciel (SDLC) Processus multisétage et systématique pour le développement de systèmes logiciels.
STRIDE Taxonomie définie par Microsoft pour catégoriser les types de menaces.
Modélisation des menaces Processus permettant d’identifier les vulnérabilités de sécurité potentielles dans l’application et le système, d’atténuer les risques et de valider les contrôles de sécurité.

Stratégies de conception

La modélisation des menaces est un processus crucial qu’une organisation doit intégrer à sa SDLC. La modélisation des menaces n’est pas uniquement la tâche d’un développeur. Il s’agit d’une responsabilité partagée entre :

  • L’équipe de charge de travail, responsable des aspects techniques du système.
  • Les parties prenantes de l’entreprise, qui comprennent les résultats de l’entreprise et qui ont un intérêt particulier en matière de sécurité.

Il existe souvent une déconnexion entre la direction de l’organisation et les équipes techniques concernant les besoins liés aux charges de travail critiques. Cette déconnexion peut entraîner des résultats indésirables, en particulier pour les investissements en matière de sécurité.

Lorsque l’équipe de charge de travail effectue un exercice de modélisation des menaces, elle doit prendre en compte les exigences métier et techniques. L’équipe de charge de travail et les parties prenantes de l’entreprise doivent s’entendre sur les besoins spécifiques à la sécurité de la charge de travail afin qu’elles puissent effectuer des investissements adéquats dans les contre-mesures.

Les exigences de sécurité servent de guide pour l’ensemble du processus de modélisation des menaces. Pour en faire un exercice efficace, l’équipe de charge de travail doit avoir un état d’esprit de sécurité et être formée dans les outils de modélisation des menaces.

Comprendre l’étendue de l’exercice

Une compréhension claire de l’étendue est cruciale pour la modélisation efficace des menaces. Il aide à concentrer les efforts et les ressources sur les domaines les plus critiques. Cette stratégie implique de définir les limites du système, de prendre l’inventaire des biens qui doivent être protégés et de comprendre le niveau d’investissement requis dans les contrôles de sécurité.

Collecter des informations sur chaque composant

Un diagramme d’architecture de charge de travail est un point de départ pour collecter des informations, car il fournit une représentation visuelle du système. Le diagramme met en évidence les dimensions techniques du système. Par exemple, il montre les flux utilisateur, la façon dont les données transitent par le réseau, les niveaux de sensibilité des données et les types d’informations, ainsi que les chemins d’accès aux identités.

Cette analyse détaillée peut souvent fournir un aperçu des vulnérabilités potentielles dans la conception. Il est important de comprendre les fonctionnalités de chaque composant et de ses dépendances.

Évaluer les menaces potentielles

Analysez chaque composant d’un point de vue extérieur. Par exemple, comment un attaquant peut-il facilement accéder aux données sensibles ? Si les attaquants accèdent à l’environnement, peuvent-ils se déplacer ultérieurement et potentiellement accéder ou même manipuler d’autres ressources ? Ces questions vous aident à comprendre comment un attaquant peut exploiter les ressources de charge de travail.

Classifier les menaces à l’aide d’une méthodologie du secteur

Une méthodologie de classification des menaces est STRIDE, que le cycle de vie du développement de la sécurité Microsoft utilise. La classification des menaces vous aide à comprendre la nature de chaque menace et à utiliser les contrôles de sécurité appropriés.

Atténuer les menaces

Documentez toutes les menaces identifiées. Pour chaque menace, définissez des contrôles de sécurité et la réponse à une attaque si ces contrôles échouent. Définissez un processus et une chronologie qui réduisent l’exposition à toutes les vulnérabilités identifiées dans la charge de travail, afin que ces vulnérabilités ne puissent pas être traitées.

Utilisez l’approche de violation du principe. Il peut aider à identifier les contrôles nécessaires dans la conception pour atténuer les risques en cas d’échec d’un contrôle de sécurité principal. Évaluez la probabilité d’échec du contrôle principal. En cas d’échec, quelle est l’étendue du risque organisationnel potentiel ? En outre, quelle est l’efficacité du contrôle de compensation ? En fonction de l’évaluation, appliquez des mesures de défense en profondeur pour résoudre les défaillances potentielles des contrôles de sécurité.

Voici un exemple :

Poser cette question Pour déterminer les contrôles qui...
Les connexions sont-elles authentifiées via l’ID Microsoft Entra, le protocole TLS (Transport Layer Security) avec l’authentification mutuelle ou un autre protocole de sécurité moderne approuvé par l’équipe de sécurité :

- Entre les utilisateurs et l’application ?

- Entre les composants d’application et les services ?
Empêcher l’accès non autorisé aux composants et données de l’application.
Limitez-vous l’accès aux seuls comptes qui doivent écrire ou modifier des données dans l’application ? Empêchent la falsification ou l’altération non autorisées de données.
L’activité de l’application est-elle journalisée et transmise à un système SIEM (Security Information and Event Management) via Azure Monitor ou une solution similaire ? Détectent et examinent les attaques rapidement.
Les données critiques sont-elles protégées par le chiffrement approuvé par l’équipe de sécurité ? Empêchent la copie non autorisée de données au repos.
Le trafic réseau entrant et sortant est-il chiffré via TLS ? Empêchent la copie non autorisée de données en transit.
L’application est-elle protégée contre les attaques par déni de service distribué (DDoS) via des services tels qu’Azure DDoS Protection ? Détectent les attaques conçues pour surcharger l’application afin que celle-ci devienne inutilisable.
L’application stocke-t-elle les informations d’identification de connexion ou les clés pour accéder à d’autres applications, bases de données ou services ? Déterminent si une attaque peut utiliser votre application pour attaquer d’autres systèmes.
Les contrôles d’application vous permettent-ils de vous conformer aux exigences réglementaires ? Protégez les données privées des utilisateurs et évitez les amendes de conformité.

Suivre les résultats de la modélisation des menaces

Nous vous recommandons vivement d’utiliser un outil de modélisation des menaces. Les outils peuvent automatiser le processus d’identification des menaces et produire un rapport complet de toutes les menaces identifiées. Veillez à communiquer les résultats à toutes les équipes intéressées.

Suivez les résultats dans le cadre du backlog de l’équipe de charge de travail pour permettre la responsabilité en temps opportun. Attribuez des tâches aux personnes responsables de l’atténuation d’un risque particulier identifié par la modélisation des menaces.

Lorsque vous ajoutez de nouvelles fonctionnalités à la solution, mettez à jour le modèle de menace et intégrez-le au processus de gestion du code. Si vous trouvez un problème de sécurité, assurez-vous qu’il existe un processus de triage du problème en fonction de la gravité. Le processus doit vous aider à déterminer quand et comment corriger le problème (par exemple, dans le cycle de publication suivant ou dans une version plus rapide).

Passer en revue régulièrement les exigences de charge de travail critiques pour l’entreprise

Répondez régulièrement aux sponsors exécutifs pour définir les exigences. Ces examens offrent la possibilité d’aligner les attentes et de garantir l’allocation des ressources opérationnelles à l’initiative.

Facilitation Azure

Le cycle de vie du développement de sécurité Microsoft fournit un outil de modélisation des menaces pour faciliter le processus de modélisation des menaces. Cet outil est disponible sans coût supplémentaire. Pour plus d’informations, consultez la page Modélisation des menaces.

Exemple

Cet exemple s’appuie sur l’environnement informatique (Information Technology) établi dans la base de référence de sécurité (SE :01). Cette approche offre une compréhension générale du paysage des menaces dans différents scénarios informatiques.

Diagramme montrant un exemple de base de sécurité d’une organisation avec un paysage des menaces.

  1. Personas de cycle de vie du développement. Il existe de nombreuses personnes impliquées dans un cycle de vie de développement, notamment les développeurs, les testeurs, les utilisateurs finaux et les administrateurs. Toutes ces menaces peuvent être compromises et mettre votre environnement en danger par le biais de vulnérabilités ou de menaces créées intentionnellement.

  2. Attaquants potentiels. Les attaquants considèrent un large éventail d’outils disponibles facilement à utiliser à tout moment pour explorer vos vulnérabilités et démarrer une attaque.

  3. Contrôles de sécurité. Dans le cadre de l’analyse des menaces, identifiez les services de sécurité Azure à utiliser pour protéger votre solution et l’efficacité de ces solutions.

  4. Collection de journaux. Les journaux des ressources Azure et certains composants locaux peuvent être envoyés à Azure Log Analytics afin de comprendre le comportement de votre solution développé et essayer de capturer les vulnérabilités initiales.

  5. Solution SIEM (Security Information Event Management). Microsoft Sentinel peut être ajouté même au début de la solution afin de pouvoir créer des requêtes d’analyse pour atténuer les menaces et les vulnérabilités, anticiper votre environnement de sécurité lorsque vous êtes en production.

  6. Microsoft Defender pour le cloud pouvez formuler certaines recommandations de sécurité pour améliorer la posture de sécurité.

La communauté Open Web Application Security Project (OWASP) a documenté une approche de modélisation des menaces pour les applications.

Liste de contrôle de sécurité

Reportez-vous à l’ensemble complet de recommandations.