Découvrez notre société Contactez-nous

e-Xpert Solutions Genève

109, chemin du Pont-Du-Centenaire
CH-1228 Plan-les-Ouates / Genève
SUISSE

Tel. : +41 22 727 05 55 Fax : +41 22 727 05 50

e-Xpert Solutions Lausanne

Avenue de Gratta-Paille 20
CH-1018 Lausanne
SUISSE

Tel. : +41 21 802 26 78 Fax : +41 22 727 05 50
Contactez notre support : +41 22 727 05 56
En cochant cette case, vous acceptez notre politique de confidentialité disponible en cliquant ici
Envoyez votre message

Swiss Security Hackademy

Suivez notre blog bilingue en sécurité informatique !

Retour aux articles

Comprendre la modélisation des menaces


Auteur : Yann Desmarest

Date de publication : 9 octobre 2018 - Dernière mise à jour : 16 octobre 2018


La modélisation des menaces ou le Threat Modeling en Anglais, consiste à optimiser sa sécurité en identifiant les vulnérabilités et les risques pour élaborer les contre-mesures permettant de mieux se protéger ou pour mitiger les menaces existantes sur le réseau.

Le Threat Modeling va donc permettre d’identifier, par exemple, les interactions entre composants réseau, les flux de données internes et externes et les privilèges à séparer.

On parle beaucoup de modélisation des menaces sur le réseau informatique, mais son application est beaucoup plus vaste. En effet, il est tout aussi important d’intégrer le Threat Modeling dans le cycle de développement des applications, dans les architectures Internet des objets (IoT) ou dans la sécurisation des processus métiers.

Lors de l’étape d’identification des menaces, l’analyste va chercher les éléments et les liens vulnérables aux menaces sécurité qui sont répartis en six catégories :

  • Spoofing
  • Tampering
  • Repudiation
  • Information Disclosure
  • Denial of Service
  • Elevation of Privileges

Ces six techniques forment le fameux terme STRIDE. Il existe d’autres framework permettant de modéliser les menaces, notamment la Cyber Kill Chain de Lockheed Martin qui est sans doute le plus connu et le plus utilisé aujourd’hui.

La Cyber Kill Chain

Le nom de ce framework s’inspire de la “Kill Chain” dans le domaine militaire. Ce concept permet d’identifier la structure d’une attaque afin de s’en protéger au mieux. Voici les 6 étapes que l’on nomme F2T2EA :

  • Find: Locate the target.
  • Fix: Fix their location; or make it difficult for them to move.
  • Track: Monitor their movement.
  • Target: Select an appropriate weapon or asset to use on the target to create desired effects.
  • Engage: Apply the weapon to the target.
  • Assess: Evaluate effects of the attack, including any intelligence gathered at the location.

Les étapes se succèdent comme une chaîne, l’interruption de l’une d’entre elle stoppe le processus d’attaque complet.

En 2011, Lockheed Martin a publié un document présentant la Cyber Kill Chain s’inspirant de la Kill Chain pour l’appliquer au monde informatique.

Il s’agit d’un concept qui présente les différentes phases d’une cyber intrusion informatique. A l’époque, ce framework a été élaboré pour modéliser et agir face à un nouveau type de menaces émergent dans le paysage sécurité, les Advanced Persistent Threats (APT). Cette année la, un des plus célèbre exemple d’APT a touché l’éditeur de solutions de sécurité RSA Security. C’était hélas la première victime d’une longue série d’APT.

Le malware Stuxnet est un autre triste exemple d’APT gouvernemental qui a finalement fait de nombreux dommages collatéraux. Ce malware n’a été détecté qu’a partir de 2010 alors qu’il était déjà en activité 5 ans auparavant.

Correctement appliqué, le framework permet de gagner en visibilité sur une attaque et rend possible l’identification des tactiques et techniques utilisées par le pirate lors cette dernière. Dans le cadre d’une démarche d’amélioration continue, ce framework permet de comprendre les motivations et les techniques utilisées par l’attaquant dans le but de mieux se défendre contre l’attaque suivante et ainsi de suite renforçant constamment la posture sécurité du défenseur. Voici la liste des étapes qui composent la Cyber Kill Chain :

Comprendre la modélisation des menaces

1 - Reconnaissance : L’attaquant va utiliser différentes techniques de découvertes actives (ex: Scan réseau) et passives (ex: recherche Google) pour définir le scope de l’attaque et le profil de la cible.

2 - Weaponization : L’attaquant prépare et construit sa charge malveillante à partir des éléments récupérés dans la phase de “Reconnaissance”.

3 - Delivery : La charge malveillante (payload en Anglais) est délivrée sur le système affecté.

4 - Exploitation : Durant cet étape, le payload délivré va tenter d’exploiter le ou les vulnérabilités présente sur le système.

5 - Installation : A cette étape, l’attaquant met en place système de persistance (aka backdoor) dans l’environnement infecté.

6 - Command & Control : La menace met en place des capacités de prise en contrôle à distance.

7 - Actions on Objectives : Cette étape modélise les objectifs primaires de la mission. Il peut s’agir, par exemple, d’exfiltration de données, de déni de services, de destruction de données ou d’extorsion.

Tel un jeu de société, il existe plusieurs règles. Tout d’abord, le jeu se joue à deux et comprend l’attaquant et la victime. L’attaquant a pour objectif de réussir les étapes 1 à 7 alors que la cible doit se défendre et stopper son agresseur le plus rapidement possible. Le jeu s'arrête si la cible casse la chaîne en stoppant l’attaquant ou si au contraire l’attaquant atteint l’ultime étape et la complète avec succès.

D’après la théorie, il est possible de stopper une attaque en appliquant les mesures adéquates à l’une des étapes 1 à 7. Bien sûr, bloquer les attaques à l’étape de Reconnaissance (étape 1) est l’idéal mais très difficilement réalisable dans la pratique. Pour preuve, il n’est d’ailleurs pas possible d’identifier des tentatives de reconnaissances passive d’un attaquant (ex: résolution DNS depuis un service en ligne, google Dorks, analyse des logs de la Certificate Transparency, …). Si l’attaquant réussi l’étape 6, il devient très difficile de le stopper avant l'exécution de l’étape ultime. Cette dernière étape peut être franchie sous de multiples formes : exfiltration de données, déni de service, … rendant la tâche d’identification extrêmement complexe.

Sous ses airs simplistes, identifier les étapes d’une attaque n’est pas toujours évident et devient même franchement complexe si l’attaquant utilise des techniques de camouflage pour passer sous le radar sécurité de sa cible.

Cyber Kill Chain vs Defense in depth

Le principe de Defense-in-depth repose sur la superposition de mesures de protection sous formes de couches de telle sorte que si une attaque traverse une couche, une autre couche de protection est la pour stopper cette dernière, l’élément le plus important à protéger étant la donnée. Ce concept part d’un postulat que tout le monde sait erroné : l’attaque est stoppée par une des couches de sécurité mise en oeuvre. Les entreprises ne se préparent plus pour se protéger au cas ou elles se feraient attaquer mais plutôt pour quand elles se feraient attaquer.

Bien que nous puissions retrouver de nombreux articles et livres traitant des avantages et inconvénients de chaque modèle, de la comparaison des deux modèles pour savoir lequel est le plus efficace, il apparaît clair que ce n’est pas un modèle appliqué à la lettre qui va nous permettre de mieux se protéger face aux menaces actuelles et futures mais plutôt la manière dont nous allons apprendre de ces derniers pour en tirer la substance nécessaire à la mise en oeuvre des moyens de défenses adéquats.

Si on combine la CKC et la défense en profondeur au lieu de les opposer, nous pouvons obtenir de très bons résultats quant aux protections à mettre en oeuvre et à la modélisation des menaces sur le réseau.

L’erreur du débutant

Lorsque l’on commence à modéliser une attaque en utilisant le framework Cyber Kill Chain, on imagine instinctivement que la méthode la plus efficace est d’investir un maximum d'énergie, de temps et d’argent sur les premières étapes de la chaîne.

Malheureusement, ce calcul peut se révéler très coûteux et inefficace face aux menaces actuelles. Les investissements doivent être répartis de manière adéquates pour maximiser vos performances et capacités de sécurisation du SI. Cela passe par une analyse et une gestion des risques pour mettre en évidence les gaps entre le situation courante et le niveau de protection désiré.

Dans les faits, il s'avère souvent plus “rentable” d’investir dans une solution de Firewall Next-Generation et dans de la sensibilisation des utilisateurs pour maximiser ses chances d’identifier et de bloquer des attaques aux étapes Delivery, Exploitation et Installation que de tenter de trouver des solutions qui fournissent des actions sur toutes les étapes de la chaîne.

Pour rappel, la sécurité ultime qui garanti 100% de taux de détection et de blocage n’existe pas. Il n’est donc pas judicieux non plus d’investir tous ses efforts sur une unique étape de la chaîne.

Les limites de la Cyber Kill Chain (CKC)

Ce framework présente des limitations notamment car il s’agit d’un modèle qui se concentre sur le périmètre réseau uniquement. Hors, de nos jours, ce périmètre tend à disparaître lorsque l’on parle de Cloud, rendant la modélisation des menaces et la protection contre ces dernières beaucoup plus complexes.

Une autre limitation importante de cette modélisation est que l’échelle du temps n’est pas prise en compte entre les différentes étapes de la chaîne. L’attaquant peut passer les 6 premières étapes en quelques minutes, heures ou jours. Mais, l’étape 7 peut prendre des mois avant d’être exécutée. Pire encore, les victimes de l’attaque peuvent identifier l’attaque plusieurs mois après la fin de l'exécution de l’étape 7.

Les attaques ciblées récentes démontrent que la CKC met en lumière un sous-ensemble réduit des étapes d’une attaque mais n’est pas nécessairement une représentation complète du déroulement de l’attaque. Des zones d’ombres peuvent subsister et empêcher de se préparer efficacement à lutter contre la prochaine attaque.

Ces dernières années, nous parlons souvent des mouvements latéraux. Ce sont effectivement les déplacement réalisés par un malware pour infecter d’autres machines afin d’augmenter la surface de compromission ou bien atteindre sa cible finale. Une fois un poste utilisateur compromis, l’attaquant peut se mouvoir au sein du réseau informatique en infectant les machines sur le même réseau interne par exemple. Le modèle traditionnel de la CKC ne prend pas en compte cette étape. En pratique, le mouvement latéral à lieu en général à l’étape 7 de la CKC mais peut très bien décider d’effectuer des déplacements latéraux aux étapes précédentes. Cette action permet à l’attaquant de rejouer la CKC complète depuis la phase de reconnaissance sur une autre machine cible. Plusieurs acteurs sécurité proposent des modèles modifiés de la CKC à l’image de cette présentation du Black Hat 2016.

CKC et Threat Intelligence

Les plateforme TIP (Threat Intelligence Platform) et plus globalement la Threat Intelligence consistent en des services de renseignement sur les menaces et attaques connues sous forme d’indicateurs de compromissions (IOC). Ces derniers peuvent prendre la l’apparence de hash de binaires, d’adresses IP, de noms de domaine DNS, de hash de certificats, etc. et sont utilisés, par exemple, pour enrichir dynamiquement les solutions technologiques installées sur le réseau et améliorer la phase d’analyse post-mortem d’un incident de sécurité.

Se doter d’un service de Threat Intelligence offre d’incroyables nouvelles possibilités. L’entreprise gagne en visibilité, augmente sa réactivité et élève son niveau de sécurité global. Tout cela contribue à augmenter les chances de casser la chaîne avant que la menace atteigne sa cible. Par exemple, une attaque ayant été subi auparavant à de plus grande chance d’être détectée et enrayée puisque le service de Threat Intelligence la connaît déjà et a définit plusieurs indicateurs pouvant être transmis aux solutions de sécurité informatique.

Variantes de la CKC

Des chercheurs ont identifié que les attaquants ne partaient pas from scratch a chaque nouvelle attaque, mais re utilisaient plutôt des concepts et codes existants en les modifiant un peu. On s'aperçoit alors qu’il existe des similarités entre les attaques. Cela peut permettre d’en déduire la prochaine action du pirate.

De nombreux acteurs en cybersécurité reprennent ce modèle comme base et apportent quelques modifications, soit sur la façon de décrire les étapes, soit en groupant les étapes, soit en découpant chaque étape en sous-étape, soit en se focalisant sur les actions à entreprendre. Voici l’exemple du modèle tel que décrit par l’éditeur Forcepoint :

Comprendre la modélisation des menaces

Conclusion

Comprendre le concept de modélisation des menaces est relativement simple, surtout si vous avez déjà des connaissances en sécurité informatique. Etre capable de dériver vos propres modélisations de ces frameworks s'avère être une tâche plus ardue.

Malgré tout, une bonne maîtrise de ces concepts et de solides bases en sécurité informatique permettent de mettre en place des services de sécurité avancés pour intégrer et enrichir les différentes solutions technologiques entre elles à l’image de notre service de réputation d’adresses IP. Ce dernier offre à nos clients une base de plusieurs Millions d’adresses IP malicieuses répartis en 8 catégories et s’intègre avec vos Firewalls Applicatifs pour détecter et ajouter automatiquement des nouvelles sources malicieuses.

De plus, notre Security Operation Center ainsi que nos services de réponses à incidents ont été élaboré à l’aide de frameworks de modélisation des menaces tels que MITRE Adversarial Tactics, Techniques & Common Knowledge (ATT&CK) et du framework Computer Security Incident Handling du NIST.