Ce sujet méritait une page dédiée tant il est important et, semble-t-il, à la mode. Nous avons vu que dans certains cas il peut être intéressant, voir souhaitable, de modéliser les attaques qui ont un certain niveau de complexité pour en évaluer les risques. D’abord nous déconseillons de modéliser les attaques par défaut et de manière détaillée dans une analyse de risque pour la raison simple que plus le nombre de variables est grand dans une évaluation, moins la certitude est élevée. On va devoir gérer de multiples combinaisons et étapes possibles dont la seule garantie de pertinence est l’expertise que l’on s’attribue soi-même ou qui nous a été naïvement attribuée par la direction. Nous lisons et entendons souvent le contraire, et les analystes tentent en vain de fournir un niveau de détail le plus élevé possible en pensant être plus précis, et avec la précision obtenir une plus grande prédictibilité des événements étudiés. Il n’en est rien, l’art d’analyser correctement les risques revient souvent à définir un périmètre d’étude gérable et à émettre des hypothèses qui soient les plus pertinentes et factuelles possible. Attention, par modélisation de menaces on ne parle pas d’un outil de modélisation comme celui conçu par Microsoft qui, sur la base d’un schéma des différents composants avec les liens de communication existants, énumère toutes les combinaisons possibles des menaces basiques STRIDE. Ces événements de menace simples (parfois appelés impacts techniques ou conséquences de sécurité de l’information), font partie des outils basiques lors d’une analyse de risque traditionnelle qui étudie ces événements de menace un par un avec un focus sur l’actif étudié. Chaque scénario est unique et son seul point commun est l’actif étudié. Dans ce type d’approche, on obtint pour chaque scénario unitaire son propre niveau de risque inhérent et résiduel. Le choix des événements de menace ne suit pas une logique d’attaque complexe par un seul acteur mais des événements isolés possiblement déclenchés par des acteurs distincts et si on voulait les associer artificiellement il faudrait les agréger de manière superficielle et probablement erronée. Dans la modélisation des attaques, on évalue le risque relatif à chaque technique d’attaque d’abord prise isolément puis on les agrège pour constituer un unique macro-scénario logique qui articule bien toutes les tactiques, techniques et procédures (TTP) pouvant être utilisées ensemble par un seul acteur dans le but de porter atteinte à l’organisation.
On l’a vu, modéliser les menaces pour décrire une attaque ne nécessite pas tant l’exhaustivité que la pertinence des phases, tactiques et techniques sélectionnées utilisables par un certain type d’adversaire. On construit des scénarios relativement complexes qui ont été bien documentés afin d’identifier les risques dont la vraisemblance est souvent plutôt faible mais l’impact serait très élevé, ceux qui représenteraient les fameux 20% du ratio 80/20 symbolique qui aide à faire comprendre le rapport entre le nombre élevé d’attaques opportunistes, dont la fréquence est élevée (ramenée à 80%) mais dont l’impact serait la plupart du temps faible à modéré, et le nombre plutôt faible d’attaques ciblées, dont la fréquence est donc faible, (ramenée à 20%), mais dont l’impact serait la plupart du temps élevé à très élevé. Dans notre métier, on passe le plus clair de notre temps à évaluer les 80% d’impact plus faible plutôt que de nous concentrer sur les 20% dont l’impact est plus important. Ce qui ne veut pas dire qu’il faut arrêter de le faire, mais il faut le faire sur des périmètres plus restreints et sur les actifs qui méritent d’y passer un certain temps. En toute logique, on devrait utiliser une méthode outillée pour rendre le processus traditionnel le plus reproductible et rapide possible pour nous laisser le temps nécessaire au travail d’analyse des scénarios plus complexes.
Lorsqu’on travaille sur la modélisation des attaques, on se rend vite compte que nous faisons un travail similaire qu’un pentester, mais de manière fonctionnelle et théorique plutôt que technique, sur la base des renseignements obtenus sur les attaques passées par les grands groupes de pirates. Une fois modélisé une attaque, ses vecteurs et ses techniques, on est mieux armé pour en discuter avec les équipes de gestion des incidents qui devra probablement définir des cas d’usage spécifiques s’il s’avère que le risque évalué est élevé. C’est un exercice indispensable pour créer des ponts souvent inexistants entre la gestion des incidents ou les testeurs de sécurité et la gestion des risques en parlant un langage compris par tous; et pour démontrer à la haute direction que l’organisation est parée face aux attaques rares mais complexes qu’on appelle les APT (Advanced Persistent Threats) ou Menaces Persistantes Avancées.
L’objectif de cet exercice est de détailler les étapes couramment utilisées par un groupe d’attaquants, d’identifier les mesures de sécurité qui permettraient de contrer l’attaque et vérifier non seulement qu’elles sont en place dans l’organisation mais surtout qu’elles sont efficaces.
Pour ce faire, nous avons des référentiels de tactiques et de techniques qui peuvent nous aider, le plus connu et utilisé étant MITRE Att&ck. La base proposée est faiblement séquentielle, si bien qu’il est parfois difficile de naviguer pour recréer le cheminement d’une attaque de manière un peu normée. On peut aussi emprunter les « cheminements ou enchaînements d’attaques cyber », dont le plus connu est le Cybersecurity Kill Chain (CKC) décrit par Lockheed Martin. Celui-ci a l’avantage d’être séquentiel, mais il a l’inconvénient d’être très simpliste et focalisé sur les attaques périmétriques à base de maliciels qui peuvent être considérées comme de portée limitée et un peu désuètes.
Le CKC comporte 7 étapes pour décrire les attaques avec un focus périmétrie et code malveillant :
- Reconnaissance (découverte de l’organisation cible et de sa surface d’attaque externe)
- Militarisation (création de code malveillant et acquisition de toute ressource utile)
- Distribution (du code malveillant créé ou personnalisé à la cible)
- Exploitation (des faiblesses du système d’information cible)
- Installation (du programme malveillant notamment pour le propager plus profondément dans le système d’information, mais aussi pour s’y maintenir en toute discrétion)
- Commande et Contrôle (C2, pour établir un canal de communication dissimulé permettant de télécharger des outils additionnels et d’exfiltrer toute donnée ayant pu être rassemblée)
- Actions sur les objectifs (l’impact sur le système d’information et l’organisation, qui est la finalité de l’attaque)
Outre les inconvénients cités plus tôt, le modèle identifie la militarisation (weaponization) comme une étape sans que celle-ci ne soit réellement structurante pour la défense qui est le point de vue qu’un analyste devrait toujours prendre (c’est la différence notable avec un pentester). L’autre défaut de ce modèle simpliste est qu’il identifie l’exploitation de vulnérabilités comme une étape distincte alors qu’on la retrouve à différentes phases et tactiques d’une attaque. Cela obligerait à répéter l’étape d’exploitation autant de fis que nécessaire, ce qui est d’ailleurs le parti pris du deuxième modèle que nous allons présenter après.
Unified Kill Chain (UKC, « Enchaînement d’Attaques Unifié »)
Il existe peu d’alternatives au CKC, mais on peut saluer la tentative appelée Unified Kill Chain (UKC), proposé par Paul Pols, qui prend en charge les attaques plus complexes, spécialement par rançongiciel. Le modèle reconnaît que des techniques sont utilisées à des moments et pour des objectifs différents et elle est donc conçue comme 3 boucles : Entrer – Traverser – Sortir.
On passe maintenant à 18 étapes (entre parenthèses se trouvent mes remarques et non la description qui en est faite par l’auteur) :
- Reconnaissance
- Développement de ressources (équivalent à la Militarisation du CKC, n’a que peu d’intérêt en termes de défense)
- Distribution (identique au CKC, valable surtout pour une pénétration par maliciel qui est certes très fréquente, mais elle n’est pas incontournable)
- Ingénierie sociale (c’est une technique, utilisable lors de phases différentes comme la reconnaissance et la découverte)
- Exploitation (identique au CKC, la plupart des phases contiennent une exploitation de failles et certaines techniques sont clairement décrites comme une exploitation particulière de failles spécifiques)
- Persistance (une fois qu’une première « tête de pont », emprise a été établie, il est possible de gérer les communications (C2) et la progression dans le système d’information)
- Évasion des défenses (comprend des techniques d’évitement, de contournement et de dissimulation)
- Commande et Contrôle (identique au CKC, établir un canal de communication permettant de transférer données et outils dans un sens comme dans l’autre)
- Pivot (ici différencié du mouvement latéral, mis ils représentent la progression consécutive à une première brèche et à l’établissement d’un premier point d’ancrage à partir desquels l’attaquant progresse)
- Découverte (interne)
- Élévation de privilège (c’est un moyen et pas un but recherché dans tous les cas. L’étape suivante d’exécution peut donner lieu à une élévation de privilèges, à une persistance ou à un contournement de défenses)
- Exécution
- Accès aux authentifiants (c’est à la fois un moyen et un but en soi, et selon le cas mérite d’être mentionné comme une tactique ou non)
- Mouvement latéral (cf. Pivot. Le mouvement latéral ne permet pas de penser que l’attaquant soit capable de pénétrer plus profondément dans le système d’information. Cette progression n’est pas linéaire, elle est une suite incessante de pivot et de progression à travers les points de moindre résistance, bref l’attaquant est capable de gagner du terrain dans toutes les directions possibles)
- Collecte (rassembler les données avant exfiltration)
- Exfiltration (non seulement l’exfiltration est typique d’une attaque par rançongiciel, mais elle fait partie, en affectant directement la confidentialité des données, un des impacts qui viennent ensuite)
- Impact
- Objectifs (identique au CKC, mais ma vision est que l’impact et les objectifs sont une seule et même chose. On pourrait décrire la phase d’Impacts comme affectant surtout le système d’information tandis que les Objectifs sont de nature plus stratégique pour l’attaquant)
Ce modèle est bien plus intéressant (et plus complexe) que le précédent et intègre la plupart des techniques contenues dans MITRE Att&ck et en ajoute d’autres parfois discutables. Il a le défaut de tout modèle séquentiel qui, pour rattraper la réalité, est obligé de créer des boucles dans un sens déterminé qui ne respecte pas toujours la réalité de tous les types d’attaque. Mais il est de loin le plus utile dont on dispose actuellement.
Ce modèle a néanmoins un certain nombre de problèmes :
- Les 3 grandes phases Entrer – Traverser – Sortir malgré le bénéfice indiscutable de leur simplicité, est de portée limitée. Il laisse penser que toutes les attaques prévoient une sortie du système d’exploitation compromis, et il me semble que ce n’est pas toujours le cas. D’ailleurs une attaque assez simple par déni distribué de service n’a pas besoin de pénétrer un système d’information pur réussir, son objectif étant fréquemment d’affecter les systèmes et services dans le périmètre. Aucune profondeur de compromission n’est requise.
- La clarté de la représentation : la représentation en boucle pour répéter des tactiques qui sont utilisées à différentes phases d’attaque différentes créée une redondance inutile dans le cas où l’on voudrait de manière claire illustrer le processus graphiquement.
- La confusion entre des notions différentes : on confond parfois ce qui appartient à un objectif tactique ou à la tactique (art de coordonner plusieurs techniques afin de remplir un objectif tactique) avec le moyen d’y parvenir qui est en fait une « technique ». Par exemple, l’ingénierie sociale est un type de technique, tandis que la « persistance » est un objectif tactique. On ne s’attend donc pas à les placer sur un même niveau d’abstraction.
- Les étapes qui ne sont ni réellement séquentielles, ni suffisamment spécifiques : comme pour la Kill Chain traditionnelle, on suppose que l’exploitation des vulnérabilités est une étape particulière alors qu’elle est une condition fréquente dans presque toutes les tactiques utilisées. L’attaquant se repose essentiellement sur la succession de faiblesses de conception, d’implémentation ou de configuration d’un système d’information pour progresser en direction de la réalisation de ses objectifs.
- La distinction entre « pivot » et le « mouvement latéral » : la différence est à notre avis plutôt anecdotique si elle existe, même après avoir lu certains articles qui tentaient de l’expliquer.
- Les limites du terme de « mouvement latéral : bien que consacré aujourd’hui, il ne véhicule qu’une partie des informations relatives aux modalités de progression au sein du système d’information cible, dont les directions sont improvisées et multifocales selon le principe de moindre résistance.
Cheminement des attaques de EBIOS RM
On en profite de souligner l’existence du cheminement des attaques dans la méthode de l’ANSSI appelée EBIOS RM (pour les français principalement) qui propose 4 grandes étapes : Connaître – Rentrer – Trouver – Exploiter. Pour les mêmes raisons que les autres modèles, une étape « Exploiter » (des failles) me paraît bien trop générique et bien trop fréquente dans chaque phase pour la retenir comme tactique ou phase. Un cheminement avec ces 4 étapes et se terminant par Exploiter laisse penser à une boucle censée se répéter au fur et à mesure de la progression dans le système d’information. Mais une fois identifiée la cible ou la faille, il existe de nombreux objectifs pour l’attaquant, c’est ce que l’étape dite « Impacts » (Att&ck, UKC) ou « Actions sur Objectifs » (CKC) apporte d’intéressant. Par ailleurs, les attaques par déni de service sont fréquentes et ne nécessitent pas de pénétrer dans le système d’information et l’exploitation de vulnérabilités n’est pas un passage obligé. C’est la raison pour laquelle dans des exemples d’usage, l’étape Exploiter est utilisée pour les impacts sur les propriétés de la sécurité de l’information. Pourquoi ne pas avoir nommé cette étape Impacts comme tant d’autres modèles ?
Aucun modèle n’est parfait, il est le fruit de biais cognitifs des auteurs qui souhaitent se concentrer sur les attaques de maliciels ou celles plus complexes de rançongiciels. Je doute qu’il soit possible de trouver un modèle universel, peut-être qu’il faudra recourir à une catégorisation plus fine des attaques pour définir et y appliquer un modèle spécifique. Mais pour la beauté de l’exercice, nous nous sommes amusés à proposer le notre qui intègre pas mal de bonnes idées et corrige quelques failles. Nous l’avons appelé « Modélisation Uniforme des Attaques Cyber » (ou Combined Cyber Attack Modeling).
Modélisation Uniforme des Attaques Cyber (MUAC)
Nous avons décidé de sélectionner 6 grandes phases ou étapes comportant une ou plusieurs tactiques de Att&ck, parfois renommées de manière plus détaillée pour être plus explicatives. Les techniques associées à chacune de ces étapes sont presque identiques à celles de MITRE Att&ck. Au lieu de boucles, nous avons remarqué, en étudiant des attaques, que certaines d’entre elles pouvaient être réalisées dans un ordre différent mais que certaines autres restent logiquement identiques et en plus séquentielles. La distribution linéaire désigne les techniques séquentielles, la distribution groupée désigne les techniques dont l’ordre peut varier mais de finalité similaire. Des flèches connectent les techniques pertinentes pour décrire chaque attaque et permettent aussi de sauter celles qui ne sont pas utilisées qui sont d’ailleurs grisées.
- Phase 1 : Préparer (reconnaissance pour cibler la victime, développement ou acquisition de ressources nécessaires pour mener à bien l’attaque)
- Phase 2 : Pénétrer (accès initial, toute attaque nécessite un premier point d’entrée (un vecteur d’accès)
- Phase 3 : Contrôler ou Rester (établir un point d’ancrage à partir duquel il sera possible de maintenir et dissimuler sa présence, établir un canal de communication vers l’extérieur, et, plus tard, pivoter notamment après exécution de code, de commandes ou en déployant une image. Il s’agit pour l’attaquant de contrôler son environnement avant d’étendre son emprise.)
- Phase 4 : Progresser (explorer l’interne, compromettre ou exploiter des authentifiants, identifier les systèmes distants, les services, processus, les comptes, progresser plus profondément dans le système d’information)
- Phase 5 : Impacter ou finaliser (réaliser la finalité derrière l’attaque, c’est-à-dire atteindre les objectifs tactiques et stratégiques)
Le modèle que nous proposons n’est pas parfait non plus, mais il a certains avantages que les autres n’ont pas forcément :
- Les phases pouvant être considérées comme séquentielles sont gardées le plus haut niveau possible et la plupart des tactiques à l’intérieur peuvent se suivre dans un ordre différent selon l’attaque et les circonstances. Ce qui donne forme à une attaque complexe, c’est l’ensemble des décisions d’ajustement aux défenses rencontrées (le degré de résistance fourni par la cible) ainsi que la complexité du système d’information cible. Plus le système d’information cible est important, plus les cycles de découverte interne, de pivot, d’exploitation d’authentifiants sont nombreux.
- Les grandes phases sont logiques pour tout type d’attaque, même physiques et l’inspiration provient, une fois n’est pas coutume, du domaine militaire.
- On distingue les deux premières grandes phases ne requièrent pas forcément de privilèges étendus ou élevés pour réussir, mais la phase de progression oui.
- Même si les grandes phases décrites en détail ci-dessous sont souvent séquentielles, la progression n’est pas linéaire. comme dans un théâtre d’opérations militaires, il y a des phases de progression et parfois de recul pour mieux s’ajuster à l’intensité de la résistance.
- Dans le cas d’attaque plus simples sans intrusion, comme le déni distribué de services (DDoS), il est possible de relier directement la phase préparatoire à la phase d’impacts, sans autre étape ou phase intermédiaire.
- Il est possible d’utiliser aussi bien le référentiel Att&ck que CAPEC, avec l’avantage du second est qu’il donne une première estimation de la vraisemblance d’attaque et de sa sévérité.
Pour plus de clarté, Nous avons essayé de regrouper des techniques similaires à l’intérieur d’une catégorie plus générique qui sera plus facile à manipuler et ne surchargera pas la représentation graphique. Par ailleurs, la catégorie intermédiaire reste utilisable lorsqu’une modélisation d’attaque se base sur une documentation insuffisante manquant de détails, rendant difficile l’association avec une technique Att&ck.
Ci-dessous la liste des grandes étapes logiques qui paraissent souvent séquentielles avec les tactiques et techniques associées :
- 1. Préparer (ou Cibler) : reconnaissance et le de développement ou l’acquisition de ressources nécessaires pour mener à bien l’attaque
- 2. Pénétrer (ou Entrer) : obtenir les premières informations, intrusion initiale dans le système d’information
- 3. Contrôler (ou Rester): exécuter du code, des commandes, déployer une image, abuser d’un service, établir un canal de contrôle, maintenir et cacher sa présence)
- Exécuter du code ou des commandes (Exécution TA0002), 14 techniques
- EX01- Abuser de communications inter-processus (T1559)
- EX02- Abuser de modules partagés comme des bibliothèques (T1129)
- EX03 – Abuser de services et autres outils (T1072, T1106, T1569)
- EX04 – Abuser de tâche planifiée (T1053)
- EX05 – Déployer un conteneur (T1610)
- EX06 – Exécuter des commandes ou des scripts (T1047, T1651, T1059, T1609)
- EX07 – Exécuter du code malveillant (T1648, T1204)
- EX08 – Exploiter des vulnérabilités côté client (T1203)
- Établir et utiliser un canal de communication/contrôle dissimulé (Commande & contrôle, TA0011), 17 techniques
- CC01 – Abuser d’une fonctionnalité ou d’un service (T1095, T1102, T1205, T1219)
- CC02 – Encapsuler du trafic (T1572)
- CC03 – Injecter du contenu et du trafic (T1659, T1071)
- CC04 – Obfusquer des communications (T1001, T1132, T1573)
- CC05 – Modifier un protocole ou un port de communication (T1571)
- CC06 – Rediriger le trafic (T1090)
- CC07 – Redonder les canaux de communication (T1008, T1104)
- CC08 – Répliquer par support amovible (T1092)
- CC09 – Transférer des outils (T1105)
- Maintenir sa présence (suite à l’exécution d’un code, Persistance, TA0003)
- MP01 – Abuser de privilèges (T1078)
- MP02 – Abuser d’une fonctionnalité ou d’un service (T1053, T1037, T1133, T1176, T1197, T1574)
- MP03 – Ajouter ou modifier un processus ou un composant (T1505, T1543)
- MP04 – Déclenchement programmé (T1546)
- MP05 – Injecter du code malveillant (T1525)
- MP06 – Lancer au démarrage (T1137, T1542)
- MP07 – Modifier des comptes et leurs permissions (T1098, T1136)
- MP08 – Modifier des paramètres de configuration (T1547, T1653)
- MP09 – Modifier des programmes (T1554)
- Dissimuler sa présence (Évasion des défenses, TA0005)
- DP01 – Abuser un mécanisme de contrôle d’accès (T1134, T1222, T1484, T1548)
- DP02 – Altérer ou supprimer des artéfacts (T1027, T1070, T1112, T1140, T1564, T1647)
- DP03 – Altérer un composant ou la configuration d’un système (T1542, T1578, T1599, T1601)
- DP04 – Détourner ou éviter un mécanisme de contrôle d’accès (T1006, T1078, T1127, T1202, T1216, T1218, T1497*, T1550, T1553, T1556, T1562, T1574, T1600, T1622*)
- DP05 – Exploiter des faiblesses ou des vulnérabilités (T1211)
- DP06 – Injecter ou ajouter un composant (T1014, T1055, T1207, T1220, T1221, T1535, T1610, T1620)
- DP07 – Usurper une autre identité (T1036, T1656)
- Exécuter du code ou des commandes (Exécution TA0002), 14 techniques
- 4. Progresser (ou Pivoter): traversée du système d’information après la compromission initiale, explorer l’interne, compromettre ou exploiter des authentifiants, identifier les systèmes distants, les services, processus, les comptes, progresser plus profondément dans le système d’information). La progression peut être verticale (par un mouvement vertical, on évolue dans le même système en compromettant les autres couches, par exemple de l’OS aux applications) ou bien horizontale (par un mouvement latéral, on évolue d’un système à l’autre jusqu’à atteindre la cible finale correspondant aux objectifs initiaux).
- Récolter les authentifiants (Accès aux authentifiants TA0006)
- RA01 – Abuser un mécanisme d’authentification (T1556, T1621)
- RA02 – Capturer les authentifiants (T1056)
- RA03 – Découvrir les authentifiants (T1110)
- RA04 – Exploiter des faiblesses ou des vulnérabilités (T1212)
- RA05 – Intercepter dans les communications (T1040, T1111, T1187, T1539, T1557, T1558)
- RA06 – Récupérer ou voler localement les authentifiants (T1003, T1528, T1552, T1555, T1659)
- Élever ou falsifier les privilèges (Élévation de privilège TA0004)
- EP01 – Abuser de privilèges (T1078)
- EP02 – Abuser d’une fonctionnalité ou d’un service (T1037, T1574)
- EP03 – Abuser d’un mécanisme de contrôle d’accès (T1134, T1222, T1484, T1548)
- EP04 – Ajouter ou modifier un processus ou un composant (T1543)
- EP05 – Déclencher de manière programmée (T1053, T1546)
- EP06 – Exploiter des faiblesses ou vulnérabilités (T1068)
- EP07 – Falsifier des authentifiants (T1606, T1558, T1649)
- EP08 – Injecter ou ajouter un composant (T1055)
- EP09 – Modifier des comptes et leurs permissions (T1098, T1136)
- EP10 – Modifier des paramètres de configuration (T1484, T1547)
- EP11 – S’échapper d’un conteneur ou système virtualisé (T1611)
- Explorer ou découvrir l’interne (Découverte TA007), 32 techniques
- DC01 – Rechercher les comptes et les privilèges (T1069, T1033, T1087, T1201, T1615)
- DC02 – Découvrir les composants présents et leurs paramètres (T1010, T1217, T1518)
- DC03 – Découvrir la configuration et la localisation des systèmes (T1012, T1016, T1049, T1082, T1124, T1514, T1614)
- DC04 – Découvrir les dépôts de données (T1135, T1619, T1654)
- DC05 – Découvrir les périphériques et les systèmes (T1018, T1120, T1613)
- DC06 – Découvrir l’arborescence de fichiers (T1083)
- DC07 – Découvrir l’infrastructure (T1482, T1580)
- DC08 – Découvrir les processus (T1057)
- DC09 – Écouter les communications (T1040)
- DC10 – Identifier les services (T1007, T1046, T1526, T1538, T1652)
- Pivoter (Mouvement latéral TA0008), 9 techniques
- PV01 – Abuser d’une fonctionnalité ou d’un service (T1021, T1072, T1563)
- PV02 – Altérer des contenus partagés (T1080)
- PV03 – Détourner ou éviter un mécanisme de contrôle d’accès (T1550)
- PV04 – Exploiter des faiblesses ou vulnérabilités dans les services d’accès distant (T1210)
- PV05 – Manipuler des utilisateurs (T1534)
- PV06 – Répliquer par un support amovible (T1091)
- PV07 – Utiliser des outils servant au mouvement latéral (T1570)
- Rassembler les données (Collecte TA0009), 17 techniques
- Récolter les authentifiants (Accès aux authentifiants TA0006)
- 5. Finaliser (ou Impacter) : réalisation des objectifs tactiques et stratégiques
- Réaliser les objectifs tactiques (affecter la confidentialité, l’intégrité ou la disponibilité)
- OT01.1 – Divulguer les données (Exfiltration, TA0010) – Confidentialité
- OT01.2 – Exfiltrer via un canal dissimulé (Exfiltration, T1011, T1020, T1029, T1030, T1041, T1048, T1052, T1537, T1567) – Confidentialité
- OT02.1 – Manipuler des données (Impacts TA0040, T1565) – Intégrité
- OT02.2 – Défacer un serveur web (Impacts TA0040, T1491) – intégrité
- OT02.3 – Manipuler des données (Impacts TA0040, T1565) – Intégrité
- OT02.4 – Corrompre le microgiciel (Impacts TA0040, T1495) – Intégrité
- OT03.1 – Supprimer des comptes (Impacts TA0040, T1531) – Disponibilité
- OT03.2 – Détruire les données (Impacts TA0040, T1485) – Disponibilité
- OT03.3 – Chiffrer les données (Impacts TA0040, T1486) – Disponibilité
- OT03.4 – Effacer le contenu de disques (Impacts TA0040, T1561) – Disponibilité
- OT03.5 – Épuiser les ressources système (Impacts TA0040, T1499) – Disponibilité
- OT03.6 – Épuiser la bande passante réseau (Impacts TA0040, T1498) – Disponibilité
- OT3.8 – Détourner des ressources (Impacts TA0040, T1496) – Disponibilité
- OT3.9 – Interrompre ou empêcher un service (Impacts TA0040, T1489, T1490) – Disponibilité
- OT3.10 – Redémarrer un système (Impacts TA0040, T1529) – Disponibilité
- Réaliser les objectifs stratégiques (finalité réelle de l’attaque en affectant les objectifs de l’organisation)
- OS01 – Affecter la conformité d’une organisation
- OS02 – Affecter la réputation de l’organisation
- OS03 – Altérer des transactions financières (frauder)
- OS04 – Compromettre la chaîne d’approvisionnement
- OS05 – Dégrader les opérations de l’organisation
- OS06 – Espionner (propriété intellectuelle)
- OS07 – Extorquer de l’argent (p. ex. chantage)
- OS08 – Saboter (destruction d’équipements physiques, de données)
- OS09 – Voler de l’argent (Impacts TA0040. T1657)
- OS10 – Voler et revendre des renseignements personnels
- Réaliser les objectifs tactiques (affecter la confidentialité, l’intégrité ou la disponibilité)
La liste des tactiques du référentiel Att&ck a été réarrangé et certaines tactiques ont été soit supprimées, soit déplacée au niveau supérieur. Les techniques suivies d’une étoile ou astérisque ont été soit déplacées de tactique, soit j’ai arbitré sur une tactique alors qu’elle faisait originellement partie de plusieurs. Par exemple, la tactique Exécution de code ou de commandes (TA0002) contient des techniques qui sont utilisées dans des phases variées comme c’est le cas de l’exploitation de vulnérabilités. On peut exécuter du code pour la compromission initiale, pour maintenir une emprise, pour explorer le réseau ou voler des données. On retrouve donc les techniques sous-jacentes dans chacune des phases existantes. De la même manière, la technique d’utilisation des comptes valides précédemment compromis peut être utilisée dans des phases très variées. La technique Outils de déploiement logiciel (T1072) faisait partie de la tactique Exécution, elle a été déplacée dans la phase Parcourir car elle permet un déplacement latéral ou une propagation de code plus qu’une exécution.
Les objectifs tactiques sont arrangés selon que les techniques affectent un des objectifs de la sécurité de l’information (C, I, D). Les objectifs stratégiques n’ont que peu de correspondances avec le référentiel Att&ck.
La modélisation des attaques est utilisé dans le cadre d’une analyse de risque formelle plus technique axée autour d’un seul scénario. Le processus correspondant ressemble à qui suit :
- Dans un premier temps, il est possible de sélectionner les tactiques et de les relier entre elles (les boîtes colorées, p. ex. Élever les privilèges)
- Dans un deuxième temps, on peut descendre d’un niveau et associer les catégories de techniques (p. ex. PC01 – Injecter du contenu via du trafic réseau)
- Dans un troisième temps, on peut associer de manière plus granulaire, la ou les techniques de MITRE Att&ck (p. ex. Injection de contenu, T1659)
- Enfin, on rassemble les techniques de mitigation (mesures préventives) et de détection (mesures réactives) mentionnées pour chaque technique envisagée afin d’obtenir les mesures de sécurité attendues qui affecteront la probabilité et l’impact. On peut utiliser des référentiels de mesures de sécurité tels que CIS18 ou NIST SP800-53r5 pour s’assurer que l’on dispose de l’ensemble des informations relatives à la bonne implémentation des mesures
- En vérifiant fonctionnellement ou techniquement que l’ensemble des mesures attendues sont en place, on estime l’écart éventuel pour évaluer le niveau de risque résiduel ainsi que préciser le plan de mitigation qui revient à mettre complétement et efficacement en place les mesures attendues mentionnées plus tôt.
Voici une vue complémentaire du référentiel MUAC/CCAM (les techniques ne sont pas complètes, elles ont été choisises pour illustration)
Modélisation Uniforme des Attaques Cyber (Combined Cyber Attack Modeling) © 2023-2025 by Igor Scerbo is licensed under CC BY-NC-SA 4.0