Threat Intelligence 101 — Splendeurs et misères de la Kill Chain

Le concept de Kill Chain a été introduit au sein de l’Armée de l’air américaine à partir de 1973. Il décrit et modélise les étapes à suivre pour mener à bien une action militaire offensive ou défensive. Hasard ou simple coïncidence, ce concept a été transposé dans le cyberespace en 2011 par Eric M. Hutchins, Michael J. Cloppert et Rohan M. Amin de la société Lockheed Martin Corporation, grand fournisseur de l’U.S. Air Force.

OWN
Cyber Threat Intelligence par OWN
11 min readDec 21, 2018

--

Dans leur étude, Intelligence-Driven Computer Network Defense Informed by Analysis of Adversary Campaigns and Intrusion Kill Chains, E. Hutchins, M. Cloppert et R. Amin définissent et introduisent le concept de Kill Chain à la mode 2.0. Leur étude met l’accent sur la Threat Intelligence en en faisant un élément central — Intelligence-Driven — dans la réponse aux incidents, l’investigation et la mise en place des mesures destinées à contrer les acteurs dit « avancés » : les APT. Cette notion d’Intelligence-Driven sera reprise et développée par Scott J. Roberts et Rebekah Brown dans Intelligence-Driven Incident Response (O’Reilly, 2017).

La Kill Chain : kézako ?

Il fut un temps (1986, Cliff Stoll) où les événements décrits précédemment étaient appelés des incidents. Depuis que la sécurité est devenue cyber, ils sont appelés intrusions.

Il est communément admis qu’une intrusion se définit comme toute action, qu’elle soit couronnée de succès ou qu’elle échoue, lancée par un adversaire contre une cible. Une intrusion réussie est appelée compromission quand son objectif est le vol de données. Elle est appelée attaque quand cet objectif vise à saboter tout ou partie du système d’infirmation ciblé.

A toute intrusion sont associés des indicateurs. Ceux-ci sont de trois types :

  • atomique : ces indicateurs ne peuvent pas être décomposés et gardent leur pertinence dans le contexte d’une intrusion. Il peut s’agir par exemple d’une adresse électronique, d’une adresse IP ou de l’identifiant d’une vulnérabilité (CVE).
  • dérivé : ces indicateurs sont obtenus — ou calculés — à partir de données recueillies au cours d’un incident. Par exemple : l’empreinte cryptographique (hash) d’un fichier, une règle de détection pour IDS, une expression régulière, etc.
  • comportemental : ces indicateurs sont la réunion d’indicateurs des deux types précédemment définis mais aussi d’autres indicateurs comportementaux. Ils permettent de décrire un scénario ou un enchaînement d’événements comme : « un attaquant vole à l’aide de messages malveillants aux utilisateurs de sa cible. Il envoie ces messages malveillants depuis une plage d’adresses IP spécifique. Ces messages sont accompagnés de pièces jointes piégées qui, une fois ouverte, installent un code malveillant qui va voler les paramètres de connexion des utilisateurs victimes de l’attaque. Les données ainsi volées sont transférées vers un serveur à la main de l’attaquant. »

Il est pertinent d’ajouter qu’il existe deux catégories d’indicateurs :

  • directs : ces indicateurs sont présents dans les artefacts liés à une intrusion ;
  • déduits : ces indicateurs ne sont pas présents dans les artefacts mais ces derniers permettent de les identifier par déduction. Le meilleur exemple de cette catégorie d’indicateurs est la liste des adresses électroniques des destinataires d’un message malveillant. Il n’est pas toujours possible de savoir comment l’expéditeur a constitué cette liste mais il est évident que cette liste existe.

Les TTPs — Tactics, Technics and Procedures — décrivent le modus operandi de l’adversaire. La tactique désigne les moyens qu’un adversaire entend déployer pour atteindre son objectif. Une technique est une façon de mettre en œuvre cette tactique. Une procédure recouvre les différentes actions unitaires qui forment une technique.

Le travail des analystes consiste à recueillir et qualifier les indicateurs liés à une intrusion, les classer à l’aide de la Kill Chain. Cela permet de déterminer les TTPs de l’adversaire, de grouper des intrusions en campagnes et, au final, de faciliter le travail d’attribution.

Les 7 étapes de la Kill Chain

La Kill Chain se compose de 7 étapes. Nous nous autoriserons une petite entorse à la loi Toubon en ne traduisant pas le nom des étapes.

1. Reconnaissance

Il s’agit, une fois la cible et les objectifs définis, de collecter toutes les informations pertinentes, d’ordre technique (surface d’exposition de la cible, composition de son système d’information sur les plans matériels et logiciels, etc.), humain (identification des personnes susceptibles d’avoir un accès aux actifs critiques dont le vol ou la destruction font partie des objectifs de l’intrusion) ou organisationnel (organigrammes).

Cette reconnaissance peut se faire de manière passive, pour que la cible ne puisse détecter d’événements précurseurs. L’utilisation de services en ligne (shodan, censys.io), des moteurs de recherche, des réseaux sociaux, etc. participe grandement à la furtivité des actions menées durant cette phase.

Elle peut aussi être active : balayage d’adresses IP et de ports, aspiration de données (copie des sites Internet de la cible, attaques par dictionnaire sur les serveurs de messagerie électronique pour identifier des boites aux lettres valides, bruteforce DNS pour détecter des domaines et noms d’hôtes, etc.).

Notons que cette phase peut aussi faire appel à des moyens humains, qu’il s’agisse d’actions d’ingénierie sociale ou de contacts directs avec des collaborateurs de l’entité ciblée, sur des salons ou au cours de faux entretiens d’embauche.

Voici quelques indicateurs, déduits, relatifs à cette phase :

  • adresse électronique des destinataires de messages électroniques ;
  • adresses IP et noms de domaines de l’entité ciblée ;
  • identité des collaborateurs.

2. Weaponization

L’analyse des données collectées durant la phase de reconnaissance permet de choisir les points d’entrée, humains ou logiques et leurs faiblesses, qui seront exploités pour pénétrer la cible. Cela peut se traduire par la création de documents malveillants, le développement de malware exploitant des failles identifiées dans les systèmes de la cible, etc. Au cours de cette phase, l’adversaire va également déployer, si ce n’est pas déjà fait, sa propre infrastructure, déposer des noms de domaine, voler des certificats de signature numérique, installer les serveurs qui hébergeront des exploits kits ou collecteront les données volées, etc.

Là encore, les indicateurs pour cette phase sont le plus souvent déduits : par exemple, l’analyse d’un document malveillant peut permettre d’identifier l’outil qui a servi à le créer (PowerShell Empire, Metasploit, MWI, etc).

3. Delivery

Une fois son arsenal numérique constitué, l’adversaire passera à la phase Delivery. Pour cela, les méthodes les plus courantes sont l’hameçonnage ciblé (spearphishing), les attaques par point d’eau (watering hole attack) et le piégeage de pages Web (exploit kit). L’envoi ou la remise en mains propres de supports amovibles de type clés USB piégés est aussi une option envisageable si les autres moyens ne sont pas utilisables.

4. Exploitation

L’Exploitation suit logiquement la phase de Delivery. Selon que l‘adversaire puisse ou non agir directement sur la cible, cette étape repose sur une action d’un utilisateur ciblé, comme l’ouverture d’une pièce jointe malveillante ou le remplissage d’un formulaire sur une page de phishing destinée à voler des paramètres de connexion (login et mot de passe). Elle peut aussi être automatique dans le cas de l’exploitation d’une faille dans un logiciel. A l’issue de cette phase, l’adversaire a obtenu un accès dans le système ciblé.

5. Installation

La phase suivante est l’Installation. L’objectif de cette étape est de pérenniser les accès de l’adversaire sur les systèmes compromis. Cela consiste à gagner les privilèges nécessaires pour avoir le contrôle total des machines infectées, installer les outils d’accès distants dont l’adversaire aura besoin pour poursuivre son intrusion et assurer leur persistance.

6. Command & Control

Les moyens de Command & Control (C2) permettent à l’adversaire d’interagir avec les machines compromises, que ce soit en s’y connectant directement ou en programmant des tâches qui seront exécutées par les codes malveillants déployés dans l’infrastructure de la cible. Les protocoles de communication entre les machines infectées et l’infrastructure C2 les plus communément utilisés sont HTTP et sa variante sécurisée HTTPS et le protocole DNS mais certains malware communiquaient avec leur C2 par l’intermédiaire de comptes Twitter.

7. Actions on Objectives

Dernière phase : Actions on Objectives. A ce stade, l’adversaire dispose des accès et des privilèges nécessaires à l’exécution de sa mission. Pour la victime, cette étape est synonyme de « Game Over ».

La Kill Chain est matérialisée par une grille (ou tableau), chacune de ses étapes étant placée sur une ligne dans la première colonne. Chaque indicateur est classé dans cette grille au regard de la phase à laquelle il est liée à raison d’un indicateur par ligne dans la cellule. Si une étape n’a pas été atteinte (l’intrusion a été stoppée), par convention on la renseigne par « N/A » (Non Applicable).

La Kill Chain en action

La Kill Chain est un instrument qui permet de regrouper des intrusions en campagnes à partir d’indicateurs communs à chaque d’entre elles. Quant à attribuer les campagnes à tel ou tel groupe d’acteurs, c’est un autre débat.

Hutchins et al. présentent trois intrusions dans leur étude :

  • une intrusion au cours de laquelle des messages accompagnés d’une pièce-jointe malveillante ont été envoyés à 5 utilisateurs. La pièce-jointe, un fichier PDF, exploitait une vulnérabilité connue du lecteur Acrobat d’Adobe. Le code malveillant installé après l’exploitation de cette faille se connectait à un serveur C2 pour signaler sa présence ;
Graph Maltego de l’intrusion #1
  • une intrusion au cours de laquelle des messages envoyés depuis la même adresse de messagerie que les précédents ont été reçus, une fois encore avec un fichier PDF malveillant joint. L’adresse du MTA depuis lequel ces messages ont été envoyés était différente que celle du MTA de l’intrusion précédente. Le code malveillant appelait le même C2 que celui de la première intrusion ;
Graph Maltego de l’intrusion #2
  • une troisième intrusion au cours de laquelle les messages reçus contenaient un fichier PowerPoint malveillant exploitant une vulnérabilité non corrigée : la liste des destinataires n’était cependant pas la même que celle des deux intrusions précédentes. Cependant, le MTA utilisé pour envoyer les messages était le même que celui de la seconde intrusion. Le serveur C2 contacté par le code malveillant était le même que celui des deux intrusions précédentes.
Graph Maltego pour l’intrusion #3

La grille d’analyse relative à ces 3 intrusions est la suivante :

Source : Hutchins et al.

On peut voir que les intrusions 1 et 2 ont en commun la même clef de chiffrement de l’exploit contenu dans les fichiers PDF envoyés et que c’est la même vulnérabilité CVE-2009–0658 qui était exploitée. Les intrusions 2 et 3 ont en commun l’adresse IP du MTA (216.abc.xyz.76). Les trois intrusions partagent les mêmes indicateurs pour la phase C2 : même adresse du serveur, même protocole de communication.

Graph Maltego représentant les 3 intrusions : les plus grosses bulles représentent les points communs entre chaque intrusion

Un modèle perfectible

La Kill Chain, telle que définie par Hutchins et al., présente un incident du point de vue de l’adversaire avec comme objectif la modélisation de ses TTPs d’une part, l’attribution de l’autre.

Ce modèle présente cependant quelques limites et reste perfectible.

Une étape, pourtant cruciale pour identifier un adversaire et comprendre ses motivations, n’est pas prise en compte. Il s’agit du ciblage, phase au cours de laquelle un commanditaire ou un bénéficiaire d’une campagne sélectionne des cibles en fonction de ses intérêts économiques, criminels ou politiques. Scott J. Roberts et Rebekah Brown soulignent d’ailleurs l’importance de l’analyse de cette phase en l’ajoutant à « leur » Kill Chain, dérivée de celle d’Hutchins et al.. L’étude du ciblage peut être complétée par l’analyse des victimes : personnes physiques ou morales, entités privées (entreprises ou « think tank »), publiques ou semi-publiques, gouvernementales, ONG, partis politiques, secteurs d’activté, etc. Ciblage et victimologie abordent ainsi les motivations d’un intrusion sous l’angle de l’attaquant et des défenseurs.

La Kill Chain est basée sur le postulat qu’une intrusion est réussie si toutes les étapes de la Kill Chain sont couvertes. Pour stopper l’attaque, il n’est strictement nécessaire que de bloquer l’une de ces étapes. Mais la Kill Chain n’échappe pas à l’adage qui dit que toute règle est confirmée par ses exceptions.

Le principal reproche que l’on pourrait faire à la Kill Chain est l’impression qu’elle donne d’une certaine linéarité et unité de ces phases. Or certaines actions qui les composent peuvent elles-même être décomposées en «sous » Kill Chain. Il serait plus judicieux de distinguer une « macro » Kill Chain, qui décrirait la stratégie de l’adversaire et des « micro » Kill Chain qui décriraient le schéma tactique adopté pour mettre en œuvre cette stratégie.

Par exemple, la notion de mouvement latéral, qui décrit les actions de l’adversaire pour compromettre le réseau de sa victime à partir d’une tête de pont dans celui-ci (généralement la ou les toute premières machines compromises), peut être décrit par autant d’itération d’une Kill Chain : reconnaissance interne pour identifier de nouvelles cibles, weaponization, etc., comme illustré par le schéma suivant :

Une fois la tête de pont établie (Kill Chain verticale), l’étape Actions on Objective consiste à étendre l’emprise de l’adversaire dans le réseau de sa cible en compromettant d’autres machines. Chaque Kill Chain horizontale décrit les actions menées pour atteindre ce but.

Certaines phases peuvent être elle-mêmes atteintes par des enchaînements d’actions. C’est le cas, très courant, d’un message contenant un lien vers un site compromis. Si le destinataire ouvre ce lien, il sera dirigé vers une page spécialement conçue pour exploiter une vulnérabilité du navigateur et provoquer l’installation d’un code malveillant. Ce dernier peut aussi n’être qu’un dropper qui téléchargera la véritable charge utile.

Ces actions entrent difficilement dans les cases d’une Kill Chain classique qui n’est pas adaptée à décrire cet ordonnancement. On y trouve en effet plusieurs Delivery, plusieurs Exploitation (y compris par l’emploi d’une attaque de type ingénierie sociale destinée à inciter l’utilisateur à ouvrir le lien contenu dans le message) et plusieurs Installation. Le schéma suivant serait le mieux à même à décrire ces actions :

Les étapes de la première ligne correspondent à l’envoi du message contenant le lien malveillant (Delivery, SMTP) et l’utilisation de techniques d’ingénierie sociale pour inciter l’ouverture de ce lien (Exploitation).

L’accès à l’URL de ce lien (Delivery, HTTP) provoque le chargement d’un code exploitant une vulnérabilité du navigateur (Exploitation, Plugin Flash) et l’exécution du dropper (Installation).

A son tour le dropper initie une nouvelle sous-chaîne jusqu’à l’installation de la charge utile.

Dans une Kill Chain « normale », les actions liées aux phases Delivery, Exploitation et Installation seraient regroupées et présentées sans respecter cet enchaînement. On note également que toutes les étapes de la Kill Chain classique ne sont pas couvertes.

En conclusion

Il ne faut enfin pas perdre de vue que la Kill Chain est un outil destiné à un analyste « humain ». Elle n’est par nature par automatisable. Dans des cas complexes de campagnes se déroulant sur de longues périodes de temps, le rapprochement des intrusions peut aussi se révéler complexe ou même impossible.

--

--

OWN
Cyber Threat Intelligence par OWN

Pureplayer français de la cybersécurité depuis 2008. Expertises en Threat Intelligence, CERT, SOC, Pentest & Conseil