Modèle de menace

Un article de Wikipédia, l'encyclopédie libre.

Dans le domaine de la sécurité informatique, le modèle de menace est un processus par lequel des menaces potentielles, telles que les vulnérabilités structurelles peuvent être identifiées, énumérées et classées par ordre de priorité - du point de vue de l’hypothétique agresseur[1]. C’est-à-dire que ce processus d'identification, de dénombrement et de priorisation des menaces potentielles pèsent sur un défenseur et sur ses actifs (données, systèmes, etc).

Théoriquement, la plupart des personnes incorporent une certaine forme de modèle de menace dans leur vie de tous les jours et ne s’en rendent pas compte. Les usagers utilisent la modélisation de la menace pour examiner ce qui pourrait mal se passer sur le chemin du travail le matin afin de prendre des mesures préventives pour éviter certains accidents. Les enfants sont engagés dans la modélisation des menaces quand il s’agit de déterminer la meilleure façon d’atteindre un objectif tout en évitant l’intimidateur de la cour de récréation. Plus formellement, la modélisation de la menace est utilisée pour donner priorité à la préparation de la défense militaire depuis l’Antiquité.

Par ailleurs, un modèle de menace est toujours ad hoc et jamais définitif, ses paramètres évoluent en permanence, que ce soit au niveau de l’exposition et de la vulnérabilité des actifs du défenseurs ou de la nature et des moyens de ses adversaires potentiels[2].

L’idée de modélisation des menaces, rejoint le principe de la gestion des risques.

Évolution de la modélisation des menaces informatiques[modifier | modifier le code]

Peu de temps après les débuts de l’informatique partagée au début des années 1960, des personnes ont cherché des moyens pour exploiter la vulnérabilité de la sécurité pour des fins personnelles[3]. Cela a amené les ingénieurs et les scientifiques informatiques à rapidement développer des concepts de modélisation de menaces pour les systèmes informatiques.

Les premières méthodes de modélisation des menaces sont basées sur le concept des modèles architecturaux[4] présentés pour la première fois par Christopher Alexander en 1977. En 1988, Robert Banard développe et applique avec succès le premier profil pour un attaquant de système informatique.

En 1994, Edward Amoroso a mis de l’avant le concept d’arbre de menace dans son livre “Les fondamentaux de la sécurité technologique des ordinateurs”[5]. Le concept de l’arbre de menace était basé sur les diagrammes des arbres de décisions. Les arbres de menace sont représentés graphiquement comme une menace potentielle sur un système informatique qui peut être exploité.

La NSA et la DARPA ont mené indépendamment des travaux similaires sur une représentation graphique structurée de la manière dont les attaques spécifiques contre les systèmes informatiques peuvent être exécutées. La représentation finale était appelée “arbres d’attaque”. En 1998, Bruce Schneier publie son analyse sur les cyber-risques qui utilisent les arbres d’attaque dans son écrit intitulé “Vers une méthodologie d'ingénierie des systèmes sécurisés”[6]. Ce document s’est avéré être une contribution déterminante dans l’évolution de la modélisation des menaces pour les systèmes informatiques. Dans l’analyse de Schneier, le but de l’attaquant est représenté comme un “nœud racine” avec le moyen potentiel d’atteindre le but représenté comme un “nœud de feuilles”. Utiliser l’arbre de menace de cette façon a permis aux professionnels de la sécurité d’envisager systématiquement plusieurs vecteurs d’attaques contre une cible définie.

En 1999, Loren Kohnfelder et Praerit Gard, professionnels de la sécurité chez Microsoft, ont appliqué l’analyse de l’arbre de menace de Schneier pour développer un moyen méthodique qui a pour but de considérer les attaques potentielles pertinentes pour le développement de l’environnement de Microsoft Windows. Le modèle de menace STRIDE[7] en a résulté : STRIDE est un acronyme pour usurpation d’identité, falsification de données, répudiation, divulgation d’informations, déni de service, élévation du privilège. Ce modèle a obligé les professionnels de la sécurité à systématiquement déterminer comment un potentiel attaquant peut utiliser toute menace classée STRIDE à chaque nœud d’un arbre de type Schneier.

En 2003, la méthode OCTAVE[8] ( Operationally Critical Threat, Asset, and Vulnerability Evaluation), une méthode de modélisation des menaces fondées sur l’évaluation des risques, a été introduite pour la première fois avec un accent particulier sur la gestion des risques organisationnels. En 2004, Frank Swiderski et Window Snyder ont écrit “La modélisation des menaces"[9] : ils y ont développé le concept de l'utilisation de modèles de menaces pour créer des applications sécurisées.

En 2014, Ryan Stillions exprime l’idée que les cyber menaces peuvent être exprimées avec différents niveaux sémantiques, il a proposé le modèle DML[10] (Detection Maturity Level). Une attaque est une instanciation d’un scénario de menace causé par un attaquant spécifique avec un objectif spécifique en tête et une stratégie pour atteindre cet objectif. Le but et la stratégie représentent des niveaux sémantiques les plus élevés du modèle DML. Viennent ensuite les TPP (Tactics, Techniques and Procedures) qui représentent les niveaux sémantiques intermédiaires. Le niveau sémantique le plus faible du modèle DML est les outils utilisés par l’attaquant, l’hôte et les artefact réseau observés comme les adresses IP au niveau sémantique le plus bas. Les outils SIEM actuels ne fournissent généralement que des indicateurs aux niveaux sémantiques les plus bas. Il est donc nécessaire de développer des outils SIEM capables de fournir des indicateurs de menace à des niveaux sémantiques plus élevés[11].

Les méthodes de modélisation des menaces[modifier | modifier le code]

Théoriquement, la mise en pratique du modèle de menace découle de l’application d’une méthode. Il existe de nombreuses méthodes de modélisation pour cette mise en œuvre. Ci-dessous, quelques méthodes parmi les plus connues.

La méthode STRIDE[modifier | modifier le code]

L’approche STRIDE pour la modélisation des menaces a été introduite en 1999 chez Microsoft, ce qui a permis aux développeurs de trouver des « menaces sur nos produits »[12]. Le modèle de menace développé et publié par Microsoft et plus spécifiquement concernant la méthode STRIDE, comprend les sujets des modes et pratiques, des ressources et des points de départ. Par ailleurs, lorsque l’on fait référence à la méthode Microsoft, il s’agit généralement de STRIDE.

P.A.S.T.A (Process for Attack Simulation and Threat Analysis)[modifier | modifier le code]

Le processus de simulation d’attaque et d’analyse des menaces est une méthode axée sur le risque qui est divisée en sept étapes[13]. Cette méthode permet d’aligner les objectifs opérationnels et les exigences techniques tout en tenant compte des questions de conformité et des analyses opérationnelles. L'objectif de la méthode est de fournir un processus dynamique d'identification, de dénombrement et de notation des menaces. Lorsque le modèle de menace est terminé, les experts en matière de sécurité peuvent élaborer une analyse détaillée des menaces identifiées puis énumèrent les contrôles de sécurité appropriés. Cette méthode est destinée à fournir une vue centrée sur l'attaquant de l'application et de l'infrastructure à partir de laquelle les défenseurs peuvent développer une stratégie d'atténuation centrée sur les actifs.

TRIKE[modifier | modifier le code]

La méthode TRIKE[14] met l’accent sur l’utilisation des modèles de menace comme outil de gestion des risques. Dans ce cas, les modèles de menaces sont basés sur un « modèle d’exigence ». Le modèle d'exigences établit le niveau de risque « acceptable », défini par les parties prenantes ce qui est attribué à chaque catégorie d'actifs. À la suite de l'analyse du modèle d'exigences en découle un modèle de menace dans lequel les menaces sont énumérées et des valeurs de risque sont attribuées. Le modèle de menace achevé est utilisé pour construire un modèle de risque basé sur l'actif, les rôles, les actions et l'exposition au risque calculée.

ISO/CEI 27005[modifier | modifier le code]

La norme ISO 27005 est une norme internationale traitant spécifiquement de la gestion des risques dans le contexte de la sécurité des systèmes d'information. Cette méthode se décline en six étapes : l’établissement du contexte, l’appréciation des risques, le traitement du risque, l’acceptation du risque, la communication du risque puis la surveillance et réexamen du risque.

Processus de modélisation des menaces informatiques généralement acceptés[modifier | modifier le code]

Tous les processus de modélisation des menaces informatiques commencent par la création d'une représentation visuelle de l'application ou de l'infrastructure analysée. L'application ou l’infrastructure est décomposée en différents éléments pour faciliter l'analyse. Une fois complétée, la représentation visuelle est utilisée pour identifier et énumérer les menaces potentielles. Une analyse plus poussée du modèle en ce qui concerne les risques associés aux menaces identifiées, la priorisation des menaces et l'énumération des mesures d'atténuation appropriées dépend du fondement méthodologique du processus utilisé pour le modèle de menace.

Représentations visuelles basées sur des diagrammes de flux de données[modifier | modifier le code]

La méthode Microsoft, PASTA et Trike développent chacun une représentation visuelle de l'infrastructure de l'application en utilisant des diagrammes de flux de données (DFD). Les DFD ont été développés dans les années 1970 en tant qu’outil permettant aux ingénieurs de communiquer, à un niveau élevé, sur la manière dont une application faisait circuler, était stockée et manipulée par l’infrastructure sur laquelle elle était exécutée. Traditionnellement, les DFD n'utilisent que quatre symboles uniques : les flux de données, les mémoires de données, les processus et les interactions. Au début des années 2000, un symbole supplémentaire, les limites des fiducies, a été ajouté pour permettre l'utilisation des DFD pour la modélisation des menaces.

Une fois que le système d'infrastructure d'application est décomposé en cinq éléments, les experts en sécurité examinent chaque point d'entrée de menace identifié en fonction de toutes les catégories de menace connues. Une fois les menaces potentielles identifiées, il est possible d'énumérer les mesures d'atténuation des contrôles de sécurité ou d'effectuer des analyses supplémentaires.

Représentations visuelles basées sur des diagrammes de flux de processus[modifier | modifier le code]

La méthode VAST distingue les modèles de menaces applicatives (ATM) des modèles de menaces opérationnelles ou d’infrastructure (OTM)[15].

Les ATM sont construits avec des diagrammes de flux de processus. Ces diagrammes ont été développés en 2011 en tant qu'outil permettant aux équipes de développement du logiciel Agile de créer des modèles de menace basés sur le processus de conception d'applications. Les applications sont décomposées en leurs différentes caractéristiques ou cas d'utilisation. Chaque fonctionnalité est décrite en termes de widgets ou de blocs de construction de code nécessaires à la construction de cette fonctionnalité. Les fonctionnalités sont ensuite connectées par des protocoles de communication. La visualisation qui en résulte est une carte de la façon dont un utilisateur se déplace à travers les différentes caractéristiques d'une application.

Les OTM sont construits avec des diagrammes de flux de données de bout en bout très similaires aux DFD traditionnels. Les diagrammes de flux de données de bout en bout décomposent un système informatique en ses différents composants indépendants, groupés et partagés.

Une fois l'ATM ou l'OTM construit, la méthode spécifie comment les menaces potentielles sont identifiées, énumérées, classées par ordre de priorité et associées à leurs risques pertinents et à l'atténuation des contrôles de sûreté.

Outils de modélisation des menaces[modifier | modifier le code]

Il existe actuellement cinq outils de modélisation des menaces organisationnelles :

  • L'outil gratuit de modélisation des menaces de Microsoft, le Threat Modeling Tool (anciennement SDL Threat Modeling Tool)[16], utilise également la méthode de modélisation des menaces de Microsoft, est basé sur DFD et identifie les menaces sur la base du système de classification des menaces STRIDE. Il est principalement destiné à un usage général.
  • IriusRisk offre à la fois une version communautaire et une version commerciale de l'outil. Cet outil met l'accent sur la création et la maintenance d'un modèle de menace vivant dans l'ensemble du SDLC. Il pilote le processus en utilisant des questionnaires entièrement personnalisables et des bibliothèques de modèles de risques, et se connecte à plusieurs autres outils différents (OWASP ZAP, BDD-Security, Threadfix...) pour permettre une automatisation[17].
  • securiCAD est un outil de modélisation des menaces et de gestion des risques de la société scandinave foreseeti[18]. Il est destiné à la gestion de la cybersécurité d'entreprise, du RSSI à l'ingénieur en sécurité, en passant par le technicien. securiCAD réalise des simulations automatisées d'attaques sur les architectures informatiques actuelles et futures, identifie et quantifie les risques de manière globale, y compris les vulnérabilités structurelles, et fournit un support décisionnel basé sur les résultats. securiCAD est disponible dans les éditions commerciales et communautaires[19].
  • SD Elements by Security Compass est une plate-forme de gestion des exigences de sécurité logicielle qui inclut des capacités de modélisation automatisée des menaces. Un ensemble de menaces est généré en remplissant un court questionnaire sur les détails techniques et les facteurs de conformité de l'application. Les contre-mesures sont incluses sous la forme de tâches réalisables pour les développeurs qui peuvent être suivies et gérées dans l'ensemble du SDLC[20].

Autres domaines d'application[modifier | modifier le code]

La modélisation des menaces s'applique non seulement à l'informatique mais aussi à d'autres domaines tels que l'automobile[21], le bâtiment et la domotique[22] ; dans ce contexte, les menaces à la sécurité et à la vie privée[23] telles que les informations sur les profils de déplacement, les temps de travail et les situations sanitaires des habitants, ainsi que les attaques physiques ou sur réseau sont modélisées. Ces derniers pourraient utiliser de plus en plus d'éléments de construction intelligents, de capteurs (par exemple, pour espionner l'habitant) et d'actionneurs (p. ex., pour déverrouiller les portes) disponibles[24].

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. Snyder, Window., Threat modeling, Microsoft Press, (ISBN 0735619913, OCLC 54974565, lire en ligne)
  2. Electronic Frontier Foundation, « Une Introduction au Modèle de Menace », Autoprotection Digitale Contre la Surveillance,‎ (lire en ligne, consulté le )
  3. (en) McMillan, Robert, « "The World's First Computer Password? It Was Useless Too" », Wired Business,‎ (lire en ligne)
  4. Shostack, Adam (2014). "Threat Modeling: Designing for Security". John Wiley & Sons Inc: Indianapolis.
  5. Amoroso, Edward G (1994). "Fundamentals of Computer Security Technology". AT&T Bell Labs. Prentice-Hall: Upper Saddle River.
  6. Schneier, Bruce; et al. (1998). "Toward A Secure System Engineering Methodology" (PDF). National Security Agency: Washington.
  7. (en-US) Archiveddocs, « The STRIDE Threat Model », sur docs.microsoft.com (consulté le )
  8. Alberts, Christopher (2003). "Introduction to the OCTAVE® Approach" (PDF). Software Engineering Institute, Carnegie Mellon: Pitsburg.
  9. Swiderski, Frank. et Window Snyder, Threat modeling : Includes index, Microsoft Press, (ISBN 0-7356-1991-3 et 978-0-7356-1991-3)
  10. Stillions, Ryan (2014). "The DML Model". Ryan Stillions security blog. Ryan Stillions.
  11. Bromander, Siri (2016). "Semantic Cyberthreat Modelling"(PDF). Semantic Technology for Intelligence, Defence and Security (STIDS 2016).
  12. Kohnfelder, Loren; Garg, Praerit. "Threats to Our Products". Microsoft. Retrieved 20 September 2016.
  13. Ucedavélez, Tony and Marco M. Morana (2015). "Risk Centric Threat Modeling: Process for Attack Simulation and Threat Analysis". John Wiley & Sons: Hobekin.
  14. Eddington, Michael, Brenda Larcom, and Eleanor Saitta (2005). "Trike v1 Methodology Document". Octotrike.org.
  15. Agarwal, Anurag "Archie" (2016). "Application Threat Modeling vs Operational Threat Modeling". ThreatModeler.com.
  16. "What's New with Microsoft Threat Modeling Tool 2016". Microsoft Secure Blog. Microsoft. 2015.
  17. "Irius Risk Risk Management Tool". Continuum Security. 2016.
  18. « foreseeti - securiCAD », sur foreseeti.com (consulté le )
  19. "Cyber Threat Modelling and Risk Management - securiCAD by foreseeti". foreseeti.
  20. "SD Elements by Security Compass". www.securitycompass.com. Retrieved 2017-03-24.
  21. http://publications.lib.chalmers.se/records/fulltext/252083/local_252083.pdf
  22. « Évaluer votre degré de risques », sur ssd.eff.org (consulté le )
  23. https://www.djan-gicquel.fr/IMG/pdf/modele_menaces.pdf "Introduction aux modèles de menaces", DJAN Gicquel (consulté le 27 Novembre 2018)
  24. Meyer, D.; Haase, J.; Eckert, M.; Klauer, B. (2016-07-01). "A threat-model for building and home automation". 2016