MITRE ATT&CK et ses sous-techniques, analyse

Barbara Louis-Sidney
Cyber Threat Intelligence par OWN
7 min readApr 27, 2020

Le 31 mars dernier, MITRE annonçait la publication des sous-techniques de la grille ATT&CK. Encore au stade beta, la release n’est pas encore officielle. Elle le deviendra dans environ 2 mois. Ce qui nous laisse le temps d’en découvrir les nouveautés, et de s’adapter. Que nous apporte cette nouvelle mouture ? Pour celles et ceux qui avaient entrepris d’intégrer et de cartographier leurs travaux avec du MITRE ATT&CK, comment migrer ?

Un nouveau visuel…

L’ajout des sub-techniques dans ATT&CK a imposé un re-design complet. Désormais à deux niveaux, les techniques et sous-techniques sont présentées en arborescence. Les sous-techniques sont initialement masquées s’affichent tel un menu déroulant lorsque l’on clique sur une technique enrichie. L’outil reste accessible, lisible, et laisse entrevoir la possibilité d’ajouter plus aisément des sous-techniques sans en modifier la structure et le visuel. De prime abord donc, nous ne perdons aucun repère. Et quelques clics permettent d’observer la quantité de changements opérés pour cette nouvelle version de MITRE ATT&CK Entreprise.

Avant affichage des sous-techniques
Après affichage des sous-techniques

… pour une nouvelle façon de travailler ?

Cette représentation des sous-techniques comme subsidiaires à l’affichage nous laisse penser qu’on pourra associer une action, une procédure à une technique ou à l’une de ses sous-techniques, l’associant de fait à la technique « parent ». Ce point reste à confirmer, puisqu’il n’est pas possible dans le Navigator de sélectionner spécifiquement une sous-technique.

Cette possibilité laissée de se passer, même temporairement, du niveau sous-techniques apporte de la flexibilité. Tout en nous permettant d’affiner notre analyse, d’apporter un niveau de détail supplémentaire en qualifiant mieux la « procédure » (cf. TTPs) employée par un attaquant (outils, scope…), cette mouture autorise à se positionner plus haut en associant un comportement à une technique, sans en connaître le détail et donc la sous-technique. Une option intéressante pour le mapping de données collectées en sources ouvertes, souvent peu précises sur l’implémentations des techniques par les attaquants.

De nouvelles techniques et sous-techniques

Plus qu’un nouveau design, les sous-techniques apportent un enrichissement considérable sur le fond. De nouvelles techniques tiennent compte de l’évolution des modes opératoires adverses. Certaines ont simplement été renommées afin de mieux correspondre à la réalité des TTPs observées.

Certaines techniques préexistantes ont été décomposées en sous-techniques, permettant de remonter ce que les analystes positionnaient au niveau des « procédures » ou de « l’implémentation » d’une technique, au niveau plus standardisé et pérenne de sous-technique.

L’ajout de sous-techniques rend plus fiable l’analyse de couverture défensive. A titre d’exemple, dans la version actuelle d’ATT&CK, la technique User Exécution est une technique fourre-tout, regroupant des procédures souvent très éloignées, ayant pour point commun l’intervention de l’utilisateur final comme condition du succès de l’intrusion adverse. Dans la version ATT&CK beta, cette technique est désormais parente de deux sous-techniques, Malicious Link et Malicious File.

Ce changement a son importance, notamment lors de l’utilisation d’ATT&CK pour l’émulation d’adversaire, les deux sous-techniques ayant des différences fondamentales en termes de simulation et de stratégie de détection. L’usage de frameworks d’évaluation de la couverture de détection basée sur ATT&CK était en effet biaisée ; l’évaluation de la couverture sur la technique User Exécution pouvant partir d’un clic sur un lien, ou du lancement d’un exécutable, deux comportements fondamentalement différents en termes d’actions exécutées, de logs collectés, de défenses activées et de détection possible.

Certaines sous-techniques ajoutées intègrent une nouvelle variable à la grille ATT&CK, les scopes ou champs d’action : types d’OS, types de droits, etc. Ce changement, maintes fois demandé, répond au besoin incontournable de préciser le scope d’exécution d’une technique. Les techniques Create Account, Accounts Discovery ou Valid Accounts faisaient partie de celles pouvant être associées à une multitude d’implémentations et de use cases disparates, selon le scope et les droits du compte créé (hauts privilèges ou utilisateur ? poste utilisateur ou serveur de production ?). Idem pour Scheduled tasks qui pouvait être implémentée sur plusieurs OS à l’aide de plusieurs outils. Il pouvait donc y avoir autant de simulations de ces techniques — et de scénarios — que de scopes et champs d’action possibles, faussant par avance l’évaluation d’une couverture défensive par automatisation ou réalisation de tests atomiques.

La clusterisation de techniques

Certaines techniques préexistantes ont été clusterisées et rattachées à une nouvelle technique parent. Dans un contexte où le spearphishing est massivement utilisé comme vecteur d’intrusion, la création d’une technique parent dite « Phishing » (contenant les sous-techniques « Spearphishing via Service, Spearphishing Link et Spearphishing Attachement) englobe d’éventuelles nouvelles variantes de phishing et rend l’utilisation du framework, et de ses cases, moins contraignante.

Cette clusterisation se fait selon une logique opérationnelle et a évidemment une conséquence pédagogique. En liant plusieurs techniques très proches les unes des autres, elle rend plus simple la cartographie des modes opératoires dans la grille ATT&CK et permet d’envisager aisément les variantes à certaines techniques. Le regroupement des techniques autrefois éparpillées Rundll32, Regsvr32, CMSTP ou encore MSHTA sous la technique parent « Signed Binary Proxy Execution » est un des apports majeurs de cette version beta. Au-delà de l’intérêt synthétique et visuel, l’intérêt opérationnel pour un analyste en threat intelligence ou une Purple Team est évident. Le positionnement de la technique parent dans une chaîne d’exécution d’attaque permet d’envisager les différentes possibilités s’offrant à un attaquant, de mieux localiser d’éventuels Single Point Of Attack, et repositionne des techniques qui pouvaient apparaître exclusives les unes des autres, comme des alternatives les unes aux autres. Voir également les techniques Unsecured credentials, Steal or forge Kerberos tickets, OS credential dumping.

Avant : Rundll32, Regsvr32, CMSTP ou encore MSHTA
Après : Signed Binary Proxy Execution

Mapping ATT&CK et use cases : comment s’adapter à cette nouvelle structure ?

L’ajout des sous-techniques n’est pas sans impact. En termes de base de données, des noms et des ID de techniques ont changé. De nouvelles techniques ont été créées et une logique relationnelle entre objets est à intégrer. Cela fait pas mal de changements, tant pour les dev que pour les analystes TI et Purple Team manipulant l’outil au quotidien.

Pour réaliser ce « remapping », MITRE ATT&CK met à disposition une série de CSV contenant des tables de correspondances pour automatiser la mise à jour des ID et noms de techniques, identifier celles qui ont été supprimées, ou déplacées. Le repository Github a également été mis à jour (voir cti/enterprise-attack/attack-pattern/).

Voir : https://attack.mitre.org/docs/subtechniques/subtechniques-csv.zip et https://attack.mitre.org/docs/subtechniques/subtechniques-crosswalk.json

Du côté des analystes, il est possible de réaliser la transition en limitant l’impact opérationnel. L’association aux sous-techniques peut être faite dans un second temps, ou réservée aux mappings futurs, laissant les anciens mapping au niveau de granularité supérieur. Pour les techniques n’ayant pas changé, une correspondance devra être faite entre les anciens et nouveaux ID. Dans les cas où les techniques n’ont pas changé, mais ont été décomposées en sous-techniques : l’association à la technique parent reste par définition, correcte, et la précision de la sous-technique peut être identifiée comme tâche future. La prise en compte des techniques dépréciées supprimées sera la tâche la plus ardue.

D’autres changements sont à noter :

  • Certaines techniques ont été déplacées et enlevées de certaines tactiques ;
  • Les liens entre les exemples de procédures et les nouvelles techniques et sous-techniques ont été mis à jour ;
  • Les mitigations proposées ont été mises à jour ;
  • Les sources de données ont également été associées à chaque technique, sous-technique, nouvelle ou ancienne. Toutefois, MITRE a précisé que leur mise à jour sera entamée après juillet 2020.

Notons que version actuelle n’est plus maintenue, et que tous les ajouts à ATT&CK se feront désormais dans le modèle avec sous-techniques. Il sera donc important de conserver de la flexibilité dans nos implémentations du framework avec des objets malléables et avec possibilité d’ajout de relations supplémentaires.

La release : https://attack.mitre.org/beta/.

Le Navigator: https://mitre-attack.github.io/attack-navigator/beta/enterprise/.

Le blog post de lancement : https://medium.com/mitre-attack/attack-subs-what-you-need-to-know-99bce414ae0b.

La road map : https://medium.com/mitre-attack/2020-attack-roadmap-4820d30b38ba.

--

--

Barbara Louis-Sidney
Cyber Threat Intelligence par OWN

French Threat Intel & Purple teamer @sekoia_fr. Former law professional & intel analyst. Now learning technical analysis & tryin' to reach best of both worlds.