Détecter des Campagnes Malveillantes Grâce au Machine Learning

Dec 19, 2018
11 minutes
... views

This post is also available in: English (Anglais) Deutsch (Allemand) Español (Espagnol)

Nous nous efforçons en permanence de trouver de nouveaux moyens de protéger les clients et d'empêcher la réussite des attaques. Nous avons ainsi récemment ajouté à notre arsenal de recherche l'utilisation du machine learning non supervisé applicable sur de volumineux jeux de données d'informations relatives aux domaines. De telles techniques se basant sur le machine learning peuvent nous aider à découvrir de nouvelles menaces et à les bloquer avant qu'elles ne puissent affecter nos clients. Elles peuvent identifier rapidement des domaines malveillants faisant partie de campagnes plus larges, dès qu'ils sont activés, et assurent une couverture bien plus large que les méthodes traditionnelles pour ces campagnes.

Ce blog présente quelques détails et exemples expliquant la manière dont nous utilisons ce machine learning non supervisé. Pour prendre un exemple précis, lors d'une campagne récente de phishing (ou hameçonnage en français), nous avons détecté 333 domaines actifs. Le premier jour de cette campagne active in vivo, seuls 87 domaines étaient connus d'une base de données de malware populaire en ligne et aucun n'était connu de deux listes de blocage bien connues. Au cours des deux semaines suivantes, la liste de blocage la plus performante bloquait seulement 247 des 333 domaines et la base de données des malware n'en reconnaissait que 93.

Notre machine learning non supervisé étend la couverture globale de ces campagnes et les identifie rapidement avant qu'elles n'impactent les utilisateurs vulnérables. Dans le cas de la campagne présentée ci-dessous et d'autres détectées à l'aide de la même technique, il n’a fallu qu’une seule journée pour que les clients de Palo Alto Networks soient protégés des domaines mis en ligne.

 

Contexte

Une catégorie d'activité en ligne malveillante implique l'utilisation de nombreux domaines dans un même objectif et pendant une courte période. Ces campagnes profitent souvent d'un évènement d'actualité récent, comme la Coupe du monde, et les noms de domaine utilisent souvent la technique du typosquattage de noms de domaine légitimes ou utilisent des noms qui présentent une certaine pertinence avec des services légitimes, comme s0ciété.com pour société.com.

Prenons l'exemple de la publication de campagnes malveillantes après le vol de données dont a été victime Equifax en 2017. Dans le cas de la fuite de données d'Equifax, l'agence de notation a mis en place un site Web légitime, www.equifaxsecurity2017[.]com, afin d'aider les gens à savoir s'ils avaient été affectés. Cela a déclenché une ou plusieurs campagnes malveillantes qui enregistraient des centaines de domaines très semblables à la véritable URL. Par exemple, www.equifaxsecurity3017[.]com.

En règle générale, il est facile d'examiner attentivement un seul nom de domaine et de déclarer qu'il est frauduleux. Mais comme il est possible de créer des centaines de domaines similaires dans le cadre d'une campagne, le défi est de trouver tous les domaines frauduleux avant qu'ils ne commencent à impacter un grand nombre de personnes. Bien que leurs noms de domaine diffèrent légèrement, les domaines malveillants appartenant à la même campagne partagent pourtant de nombreuses caractéristiques, comme le sous-réseau IP, le numéro de système autonome (ASN ou Autonomous System Number), la durée de vie du système DNS, les informations Whois et de nombreux autres attributs. Partant de cette observation, nous avons mis en place un système qui extrait les attributs du trafic DNS et regroupe les domaines en fonction de leurs similitudes. Notre système complète les méthodes existantes et peut identifier des domaines de campagnes qui n'auraient pas été identifiés autrement.

Figure 1 : processus global

 

Approche

Notre approche (voir la figure 1) consiste à regrouper les domaines qui ont été repérés dans des enregistrements du DNS passif. Le DNS passif est un mécanisme d'enregistrement du trafic des requêtes/réponses DNS. Les enregistrements sont principalement composés d'un horodatage, du domaine demandé et de l'adresse IP correspondante, entres autres données. Pour des raisons de confidentialité, le trafic DNS des clients individuels (le bit « récursion souhaitée » est défini) n'est pas capturé et l'adresse IP du client est également supprimée.

Les enregistrements du DNS passif sont disponibles depuis de nombreuses sources et sont souvent utilisés par les chercheurs afin de comprendre le trafic Internet à grande échelle. Pour nos analyses, plus de 6 téraoctets d'enregistrements du DNS passif sont généralement disponibles chaque jour.

Nous regroupons ces domaines selon des caractéristiques qui ont été générées à partir des informations des enregistrements du DNS passif, comme l'adresse IP, ainsi que d'autres sources, comme le protocole BGP et Whois. Nous obtenons ainsi des groupes de domaines reliés les uns aux autres, mais qui ne sont autrement pas classés, ni comme bénins ni comme malveillants.

Ces données n'étant pas classées à cette étape du processus, il s'agit d'une application du machine learning non supervisé. Nous savons que les domaines regroupés partagent de nombreuses caractéristiques communes, mais nous ne savons pas s'ils sont malveillants ou non. Pour détecter les groupes malveillants, nous utilisons des « domaines initiaux » qui semblent faire partie d'une nouvelle campagne et que nous avons vérifiés et déterminés comme malveillants.

 

Domaines initiaux

Les domaines initiaux sont des exemples de domaines malveillants qui ressortent des groupes.

Ils peuvent être détectés de diverses manières, mais nous nous concentrons actuellement sur trois sources d'information afin d'identifier les domaines initiaux « candidats » : enregistrements des domaines, nouveaux domaines en ligne et sujets d'actualité.

 

Enregistrements des domaines

Nous examinons les domaines qui ont été récemment enregistrés et trouvons des groupes présentant des noms similaires. Si la campagne profite d'un évènement récent, un grand groupe de domaines peut être enregistré avec un nom correspondant à l'évènement. Nous vérifions tous les groupes à la recherche de domaines malveillants connus et les résultats sont placés dans notre liste de domaines initiaux. Nous identifions les domaines malveillants connus en nous basant sur nos propres détections, ainsi que sur les renseignements tiers relatifs aux menaces, comme une base de données de malware en ligne populaire. De nombreux domaines malveillants ne sont pas connus ou signalés à cette étape, mais notre objectif est de trouver seulement quelques exemples pour ensuite débuter le processus.

 

Nouveaux domaines en ligne

Dans les enregistrements du DNS passif, nous vérifions également les nouveaux domaines qui n'ont encore jamais été observés. Ils peuvent avoir été enregistrés il y a longtemps, mais mis en service seulement lors du lancement de la campagne. Nous les examinons à la recherche de groupes de noms similaires et identifions les domaines initiaux à partir de ceux qui sont connus pour être malveillants.

 

Sujets d'actualité

Nous recherchons également les sujets d'actualité sur les réseaux sociaux. Si des évènements largement promus se produisent, ils sont souvent visibles dans les actualités quotidiennes des réseaux sociaux. Nous recoupons plusieurs mots-clés en rapport avec l'actualité qui sont visibles dans Google ou sur Twitter avec des noms de domaine récents. Par exemple, si nous constatons une tendance sur Google en lien avec un évènement récent, comme un évènement sportif, nous vérifions les domaines récemment mis en ligne qui font également référence à cet évènement sportif. Nous recherchons une nouvelle fois des groupes aux noms similaires et vérifions tous ceux qui sont connus comme malveillants. Avec notre liste de domaines initiaux, nous sommes désormais prêts à examiner les groupes de domaines qui contiennent ces domaines initiaux.

 

Détection de groupes malveillants

Une fois que nous avons identifié le groupe de domaines initiaux que nous utiliserons, nous les recherchons parmi les groupes de domaines que nous avons auparavant calculés à partir des données du DNS passif (voir la figure 2). Tout groupe avec un pourcentage significatif de domaines initiaux est considéré comme une campagne malveillante et tous les domaines du groupe sont marqués comme malveillants.

Figure 2 : groupes de domaines

Résultats

À titre d'exemple, nous avons récemment découvert une campagne de phishing qui utilisait des domaines malveillants portant des noms comme cochez-la-case-pour-de-largent##[.]emprunt. Nous avons détecté ce groupe de domaines en observant un groupe de domaines similaire enregistré en même temps. En une journée, 77 domaines avaient été enregistrés. Parmi eux, seuls 17 ont été immédiatement reconnus par une base de données de malware populaire, mais cela a été suffisant pour les ajouter à notre groupe de domaines initiaux. Grâce à l'analyse par regroupement des domaines observés dans le DNS passif, nous avons immédiatement trouvé 2 autres domaines non détectés par le biais de leur enregistrement.

Le lendemain, nous avons détecté 16 autres domaines de cette campagne, puis 58 domaines et 88 autres. Au cours des deux premières semaines de cette campagne, nous avons trouvé 333 domaines qui étaient associés à cette campagne de phishing.

Ce qu'il est intéressant de noter, c'est que parmi ces 333 domaines, nous avons découvert que 247 étaient inconnus d'une base de données de malware populaire le premier jour où les domaines avaient été mis en ligne. Au cours des deux semaines suivantes, seuls 7 de ces domaines ont finalement été marqués. Après deux semaines, 240 domaines n'étaient toujours pas signalés comme étant des tentatives de phishing par cette base de données, bien que les domaines soient actifs sur Internet et fassent clairement partie de la même campagne.

Nous avons également fait le test avec deux listes de blocage connues. Nous avons ainsi constaté qu'aucune des deux n'avaient commencé à bloquer les domaines le premier jour où ils avient été mis en ligne. Au cours des deux semaines suivantes, sur les 333 domaines, l'une en a bloqué seulement 80 et l'autre 247.

Ces résultats soulignent que même si certains domaines des campagnes sont détectés par la communauté de sécurité, il est facile pour nombre d'entre eux de se faufiler parmi les domaines non bloqués, ce qui est l'objectif final d'un pirate.

 

Conclusion

Il ne s'agit là que d'un seul exemple. Au cours des derniers mois, nous avons découvert 15 campagnes différentes composées de plus 1 000 domaines actifs. Bien qu'actifs et faisant partie de campagnes, nombre de ces domaines n'ont pas été identifiés individuellement par plusieurs services tiers populaires. Concernant les domaines ayant été identifiés par un service tiers, nous les avons détectés en moyenne 2,8 jours avant une base de données de malware en ligne, 3,9 jours avant une liste de blocage populaire et 2,4 jours avant une autre. Les deltas maximum que nous avons constatés à ce jour parmi les domaines identifiés par des tiers sont de 46 jours pour la base de données, 15 jours pour la première liste de blocage et 32 jours pour la seconde. La figure 3 présente la comparaison globale du délai d'identification.

Figure 3 : délai d'identification par des tiers

Protection et appel à l'action

Les clients de Palo Alto Networks sont protégés contre ces domaines malveillants et de phishing grâce au filtrage PAN-DB URL et aux signatures DNS C2 qui font partie de l'abonnement à Threat Prevention. Les clients du pare-feu Palo Alto Networks peuvent contribuer à notre recherche de DNS passif en détectant de manière proactive des domaines malveillants et de phishing. Pour activer le partage du DNS passif dans la version 8.0 ou ultérieure de PAN-OS, sélectionnez « Contrôle du DNS passif » (Appareil > Configuration > Télémetrie). Pour la version 7.1 ou antérieure de PAN-OS, le partage du DNS passif est activé dans le profil de sécurité Anti-Spyware. Les enregistrements du DNS passif sont principalement composés d'un horodatage, du domaine demandé et de l'adresse IP correspondante, entres autres données. Pour des raisons de confidentialité, le trafic DNS des clients individuels (le bit « récursion souhaitée » est défini) n'est pas capturé et l'adresse IP du client est également supprimée.


Subscribe to the Blog!

Sign up to receive must-read articles, Playbooks of the Week, new feature announcements, and more.