Cyber Kill Chain
18/09/23 08:59
Contrairement à une fausse image, notamment véhiculée par le cinéma, une cyberattaque ne se déroule pas sur un temps court. Il faut oublier ce que vous avez pu voir où un hacker surdoué brise toutes les défenses d’une organisation et obtient ce qu’il convoite en quelques minutes. Dans la réalité l’attaque se développe en plusieurs phases, chacune pouvant se dérouler sur une période de plusieurs heures ou plus généralement plusieurs jours : reconnaissance, armement, livraison, primo-infection, activation de connexions sortantes, latéralisation, usurpation de compte, augmentation d’emprise et de privilèges, activation sur objectif, contact avec la victime. C’est pour cette raison que nous parlons de cyber kill chain. Sauf dans un contexte où la victime ne dispose d’aucune protection (si, malheureusement cela existe, j'ai un exemple pas si vieux), l’attaque est une succession d’opérations, généralement séquentielles et pour laquelle chaque phase ne peut débuter que si la précédente a été un succès (au moins partiel). La compréhension de ce déroulement est essentielle car cela veut dire que si le défenseur parvient à briser la chaine d’attaque avant que celle-ci n’ait atteint son objectif ultime alors les conséquences seront fortement réduites et le retour à l’état nominal du système d’information sera plus simple et plus rapide. Évidemment, plus cette chaine est brisée tôt et plus le retour à la normale sera facile et rapide. Il est certain qu’un seul poste compromis ne nécessite pas le même travail de d’investigation et de nettoyage que s’il s’agit d’un nombre important de postes de travail et d’applications. De même, les conséquences sur l’activité et la production ne seront pas du même ordre de grandeur, le temps joue donc contre le défenseur et l’enjeu est bien entendu d’intervenir sur la chaine d’attaque au plus tôt, et donc de la détecter prématurément, c’est une notion sur laquelle je reviendrai spécifiquement dans un autre article.
Pour revenir sur les phases d’attaques, et même si elles peuvent varier en fonction du contexte, des techniques employées et du niveau de compétences de l’acteur de la menace, il y a néanmoins un certain nombre d’étapes clé.
Une attaque commence toujours par une phase de reconnaissance, le plus souvent basée sur des informations publiques : site web de la cible, réseaux sociaux, presse et média, greffe du tribunal de commerce, INSEE qui peuvent être complétées par des actions d’ingénierie sociale. Il y a aussi des reconnaissances techniques : analyse de port, test de déclenchement de contre-mesures, tentatives de connexion. Parfois, il ne faut pas trop se réjouir d’avoir déjouer une tentative d’intrusion simple, ce n’était peut-être qu’un test de reconnaissance en vue d’une attaque sophistiquée d’envergure.
Vient ensuite la phase d’armement, l’attaquant va constituer le premier vecteur de compromission par exemple en le créant lui-même mais la plupart du temps en réutilisant un code existant, en l’achetant ou en le louant. Cela passe aussi potentiellement par l’achat d’un domaine ‘cousin’ afin de se faire passer pour une ressource ou une personne interne à l’organisation de la victime. Il existe tout un ensemble de techniques pour réaliser cela, il est souvent fait mention de cybersquatting ou de typosquatting : par exemple remplacer un W par deux V ou inverser deux lettres (www.frotinet.com pour www.fortinet.com). Souvent l’attaquant se contentera d’intégrer ces différents éléments sous une forme susceptible d’abuser le destinataire de ce moyen.
La phase suivante et la première perceptible directement par la cible puisqu’il s’agit de la première interaction visible et tangible. La plupart du temps aujourd’hui il s’agit d’un message d’hameçonnage, élaborer à partir des informations recueillies durant la phase de reconnaissance (par exemple un candidat postule auprès du DRH à un poste réellement ouvert en joignant son CV). A cette étape, un procédé malfaisant est bien arrivé au sein du système d’information de la future victime mais rien ne s’est encore produit.
L’étape suivante est l’activation de la charge malveillante, la plupart du temps par l’ouverture de la pièce jointe associée au message ou via un lien intégré au message, c’est la primo-infection. Par analogie avec le monde biologique l’équipement sur lequel est déclenchée la charge est appelé patient zéro. Pour le moment les conséquences sur le système d’information de la victime sont faibles et les capacités de l’attaquant réduites, c’est pour cela que l’agent de compromission installé sur le patient zéro va effectuer deux opérations importantes. Premièrement activer une connexion sortante pour charger du code complémentaire, plus élaboré et plus efficace, généralement par morceaux afin de déjouer les outils de détection de malware. Deuxièmement, il va se latéraliser, c’est-à-dire se répliquer de proche en proche sur les équipements voisins.
A ce stade, l’agent de la menace est présent dans le système d’information et dispose de capacités d’action plus importantes. Il dispose généralement à ce niveau des informations de connexion du compte utilisateur du poste infecté, mais il va utiliser des techniques d’élévation de privilèges afin de disposer de droits étendus de type administrateur. A partir de ce moment, l’attaquant dispose de moyens d’action très importants et va continuer à renforcer son emprise : création et usurpation de comptes administrateurs dans différents domaines, mise en place de code dormant et de portes dérobées. A ce stade, l’attaquant va choisir le moment où il va déclencher l’attaque proprement dite : chiffrement des fichiers de données et demande de rançon, exfiltration de données avec extorsion ou non, parfois les deux simultanément. Dans le cas de chiffrement de fichiers de données, cette opération a un coût : du temps, plus le nombre et le volume des fichiers à chiffrer est important et plus cela va prendre du temps (temps au sens propre mais aussi du temps machine). C’est d’ailleurs une des raisons pour laquelle dans ce type d’attaque, le chiffrement commence par les données les plus froides et donc très souvent par les sauvegardes si elles sont accessibles.
L'attaquant, arrivé ici, va faire afficher un message destiné à la victime, lui, indiquant la marche à suivre pour obtenir la clé de déchiffrement des fichiers ou empêcher la divulgation des données dérobées. Une fois arrivé à cette étape, l’attaque a abouti et la victime se trouve en situation de crise. Il sera dès lors nécessaires d’activer la cellule de crise, d’auditer le système d’information pour déterminer les ressources touchées et celles encore de confiance (s’il y en a) mais cela sort du contexte de cet article.
Mais si la chaine a été brisée à n’importe quel moment avant cette ultime étape, l’attaquant aura été mis en échec et la remise en service sera plus simple. Celle-ci sera d’autant plus aisée que la rupture de la chaine d’attaque sera intervenue tôt. C’est toute l’importance de la détection précoce (et la réaction associée) que j’aborderai une autre fois.
Pour revenir sur les phases d’attaques, et même si elles peuvent varier en fonction du contexte, des techniques employées et du niveau de compétences de l’acteur de la menace, il y a néanmoins un certain nombre d’étapes clé.
Une attaque commence toujours par une phase de reconnaissance, le plus souvent basée sur des informations publiques : site web de la cible, réseaux sociaux, presse et média, greffe du tribunal de commerce, INSEE qui peuvent être complétées par des actions d’ingénierie sociale. Il y a aussi des reconnaissances techniques : analyse de port, test de déclenchement de contre-mesures, tentatives de connexion. Parfois, il ne faut pas trop se réjouir d’avoir déjouer une tentative d’intrusion simple, ce n’était peut-être qu’un test de reconnaissance en vue d’une attaque sophistiquée d’envergure.
Vient ensuite la phase d’armement, l’attaquant va constituer le premier vecteur de compromission par exemple en le créant lui-même mais la plupart du temps en réutilisant un code existant, en l’achetant ou en le louant. Cela passe aussi potentiellement par l’achat d’un domaine ‘cousin’ afin de se faire passer pour une ressource ou une personne interne à l’organisation de la victime. Il existe tout un ensemble de techniques pour réaliser cela, il est souvent fait mention de cybersquatting ou de typosquatting : par exemple remplacer un W par deux V ou inverser deux lettres (www.frotinet.com pour www.fortinet.com). Souvent l’attaquant se contentera d’intégrer ces différents éléments sous une forme susceptible d’abuser le destinataire de ce moyen.
La phase suivante et la première perceptible directement par la cible puisqu’il s’agit de la première interaction visible et tangible. La plupart du temps aujourd’hui il s’agit d’un message d’hameçonnage, élaborer à partir des informations recueillies durant la phase de reconnaissance (par exemple un candidat postule auprès du DRH à un poste réellement ouvert en joignant son CV). A cette étape, un procédé malfaisant est bien arrivé au sein du système d’information de la future victime mais rien ne s’est encore produit.
L’étape suivante est l’activation de la charge malveillante, la plupart du temps par l’ouverture de la pièce jointe associée au message ou via un lien intégré au message, c’est la primo-infection. Par analogie avec le monde biologique l’équipement sur lequel est déclenchée la charge est appelé patient zéro. Pour le moment les conséquences sur le système d’information de la victime sont faibles et les capacités de l’attaquant réduites, c’est pour cela que l’agent de compromission installé sur le patient zéro va effectuer deux opérations importantes. Premièrement activer une connexion sortante pour charger du code complémentaire, plus élaboré et plus efficace, généralement par morceaux afin de déjouer les outils de détection de malware. Deuxièmement, il va se latéraliser, c’est-à-dire se répliquer de proche en proche sur les équipements voisins.
A ce stade, l’agent de la menace est présent dans le système d’information et dispose de capacités d’action plus importantes. Il dispose généralement à ce niveau des informations de connexion du compte utilisateur du poste infecté, mais il va utiliser des techniques d’élévation de privilèges afin de disposer de droits étendus de type administrateur. A partir de ce moment, l’attaquant dispose de moyens d’action très importants et va continuer à renforcer son emprise : création et usurpation de comptes administrateurs dans différents domaines, mise en place de code dormant et de portes dérobées. A ce stade, l’attaquant va choisir le moment où il va déclencher l’attaque proprement dite : chiffrement des fichiers de données et demande de rançon, exfiltration de données avec extorsion ou non, parfois les deux simultanément. Dans le cas de chiffrement de fichiers de données, cette opération a un coût : du temps, plus le nombre et le volume des fichiers à chiffrer est important et plus cela va prendre du temps (temps au sens propre mais aussi du temps machine). C’est d’ailleurs une des raisons pour laquelle dans ce type d’attaque, le chiffrement commence par les données les plus froides et donc très souvent par les sauvegardes si elles sont accessibles.
L'attaquant, arrivé ici, va faire afficher un message destiné à la victime, lui, indiquant la marche à suivre pour obtenir la clé de déchiffrement des fichiers ou empêcher la divulgation des données dérobées. Une fois arrivé à cette étape, l’attaque a abouti et la victime se trouve en situation de crise. Il sera dès lors nécessaires d’activer la cellule de crise, d’auditer le système d’information pour déterminer les ressources touchées et celles encore de confiance (s’il y en a) mais cela sort du contexte de cet article.
Mais si la chaine a été brisée à n’importe quel moment avant cette ultime étape, l’attaquant aura été mis en échec et la remise en service sera plus simple. Celle-ci sera d’autant plus aisée que la rupture de la chaine d’attaque sera intervenue tôt. C’est toute l’importance de la détection précoce (et la réaction associée) que j’aborderai une autre fois.