Qu'est-ce que l'algorithme de génération de domaine (DGA) ?
Un algorithme de génération de domaines (DGA) est un programme qui génère une longue liste de noms de domaine. Les DGA fournissent aux logiciels malveillants de nouveaux domaines afin de contourner les mesures de sécurité.
Les cybercriminels et les opérateurs de botnets utilisent des algorithmes de génération de domaines pour diffuser des logiciels malveillants capables de générer des centaines de nouveaux domaines aléatoires entre lesquels ils peuvent basculer pendant les attaques. Cette approche rend plus difficile pour la victime ciblée de bloquer et de supprimer ces domaines.
Changer de nom de domaine aide les pirates informatiques en empêchant leurs serveurs d'être bloqués ou supprimés par leurs victimes ciblées. Les logiciels de sécurité bloquent et suppriment généralement les domaines malveillants utilisés par les logiciels malveillants, de sorte que le changement rapide de domaine permet aux cybercriminels de poursuivre leur attaque.
Les DGA sont l'une des méthodes les plus connues qui compliquent la protection des victimes de logiciels malveillants contre les attaques. Elles sont utilisées depuis plus de 10 ans, et certains programmes malveillants restent difficiles à contrer pour certains.
Parmi les exemples les plus connus d'attaques malveillantes ayant utilisé la DGA pour créer des serveurs de contrôle (serveurs C&C), on peut citer Conficker, Zeus et Dyre.
Comment fonctionne un algorithme de génération de domaines ?
Les DGA génèrent périodiquement de nombreux noms de domaine. Ces domaines servent de point de rendez-vous pour les commandes des logiciels malveillants et les serveurs C&C.
Les DGA sont des générateurs pseudo-aléatoires qui construisent une séquence aléatoire de caractères utilisés pour former des noms de domaine. Les DGA peuvent également utiliser des mots provenant d'un dictionnaire pour construire des domaines. Les dictionnaires sont soit codés en dur dans les logiciels malveillants, soit tirés d'une source accessible. Les générateurs DGA sont généralement basés sur des graines et peuvent générer des milliers de noms de domaine.
La graine est connue des deux côtés, de sorte que les mêmes séquences sont générées à la fois côté client et côté source sans qu'il soit nécessaire de communiquer. Cela permet à l'attaquant de savoir à l'avance quel nom de domaine le logiciel malveillant utilisera. L'attaquant enregistre ensuite ce domaine à partir de la séquence afin de créer un canal de communication (ou point de rendez-vous) pour le logiciel malveillant.
Si un domaine est identifié comme malveillant et supprimé, le domaine et le serveur C&C sont rapidement remplacés.
Par exemple, si le propriétaire d'un site Web souhaite utiliser le nom de domaine mysite.com et qu'une recherche sur le site d'un registraire de noms de domaine révèle que le nom de domaine souhaité n'est pas disponible, un DGA fonctionnant en arrière-plan du site peut proposer 50 noms de sites similaires disponibles.
Comment les logiciels malveillants utilisent-ils un algorithme de génération de domaines ?
Les logiciels de sécurité peuvent rapidement bloquer les logiciels malveillants qui dépendent d'un domaine fixe ou d'une adresse IP (Internet Protocol). En réponse, les pirates utilisent donc des DGA pour transférer le logiciel malveillant vers un nouveau domaine à intervalles réguliers. Cela évite d'avoir à utiliser une nouvelle version du logiciel malveillant ou à configurer un nouveau serveur à chaque fois que le domaine est bloqué.
Le grand nombre de points de rendez-vous potentiels rend difficile pour les forces de l'ordre de neutraliser efficacement le logiciel malveillant. L'utilisation supplémentaire de la cryptographie à clé publique dans le code du logiciel malveillant rend plus difficile l'imitation des commandes des contrôleurs du logiciel malveillant.
Les botnets sont un ensemble d'appareils connectés à Internet qui sont infectés et contrôlés par des logiciels malveillants. Les opérateurs de botnets ont découvert qu'ils pouvaient utiliser les DGA pour masquer le serveur C&C de l'opérateur et échapper à la détection par les listes de blocage, les filtres de signature, les systèmes de réputation, les systèmes de prévention des intrusions, les passerelles de sécurité et autres méthodes de sécurité. Ce procédé, appelé « domain fluxing », s'apparente à cacher une aiguille (le serveur C&C) dans une botte de foin (une longue liste d'adresses IP).
Meilleures pratiques pour détecter et se protéger contre les logiciels malveillants alimentés par DGA
Un DGA ne nuit pas directement à la victime ; il permet plutôt une attaque par logiciel malveillant. Les méthodes qu'une organisation peut utiliser pour prévenir les attaques normales par logiciel malveillant permettent également de prévenir les attaques qui utilisent des DGA. Ces meilleures pratiques comprennent l'utilisation de logiciels de sécurité qui préviennent les attaques par logiciel malveillant, la mise à jour régulière des logiciels et le refus d'ouvrir les pièces jointes provenant de sources inconnues.
D'autres méthodes permettant de contrer directement les DGA comprennent :
- Technologies anti-DGA. Elles utilisent l'apprentissage automatique et le big data pour cibler les activités irrégulières. Les technologies anti-DGA utilisent une méthode de prédiction automatisée qui permet d'anticiper, de bloquer et d'aider à supprimer les sites malveillants.
- Techniques d'apprentissage profond. Les techniques d'apprentissage profond peuvent détecter les noms de domaine DGA en utilisant la mémoire à court terme longue et le réseau neuronal convolutif.
- Stratégies multiples de prévention des fenêtres publicitaires intempestives. Le changement constant de domaines (flux de domaines) permet d'échapper à la détection par les listes de blocage des bloqueurs de publicités, les filtres de signature, les systèmes de réputation et autres contrôles de sécurité. Ainsi, en plus de configurer les navigateurs pour bloquer les fenêtres publicitaires intempestives, exécutez régulièrement un logiciel anti-malware pour supprimer les logiciels malveillants existants et utilisez des passerelles de contrôle d'accès pour bloquer les appels sortants des DGA.
Types d'algorithmes de génération de domaines
Les types les plus courants de DGA comprennent :
- Les DGA basés sur le temps utilisent des horodatages et des dates comme graines pour générer des noms de domaine. Les domaines basés sur le temps changent périodiquement, ce qui rend difficile pour les outils de cybersécurité de les suivre et de les bloquer de manière préventive.
- Les DGA basées sur les caractères génèrent des domaines à l'aide d'ensembles de caractères et de modèles spécifiques qui créent des chaînes ressemblant à des noms générés aléatoirement.
- Les DGA basées sur des listes de mots utilisent des listes prédéfinies de mots ou d'expressions pour créer des domaines générés, donnant ainsi l'impression que ces domaines sont légitimes.
- Les DGA basés sur des graines utilisent des valeurs de graines pour générer des noms de domaine prévisibles et légitimes.
- Les DGA hybrides combinent plusieurs types de DGA afin d'accroître leur imprévisibilité et de rendre leur détection plus difficile.
- Les DGA basées sur la géolocalisation adaptent les noms de domaine à des régions spécifiques à l'aide de données de localisation ou de domaines de premier niveau régionaux.
Exemples d'algorithmes de génération de domaines
Parmi les exemples les plus connus de DGA ou de logiciels malveillants utilisant des DGA actuellement utilisés dans les cyberattaques, on peut citer :
- Conficker DGA utilise un DGA basé sur le temps pour générer des milliers de domaines chaque jour.
- Le botnet Necurs est connu pour utiliser les plateformes de réseaux sociaux afin de mener des campagnes de spam et d'hameçonnage à grande échelle.
- Le ransomware Locky utilise un DGA basé sur des caractères pour créer des domaines associés aux machines infectées, masquant ainsi l'emplacement de ses serveurs de commande et de contrôle.
- Dridex est principalement connu pour ses attaques malveillantes financières utilisant un DGA hybride.
- Emotet a infecté des systèmes Windows dans le monde entier à l'aide d'un logiciel malveillant basé sur la DGA.
Pourquoi les cybercriminels utilisent-ils des algorithmes de génération de domaines ?
Les DGA évitent les moyens de détection courants et contrôlent les systèmes infectés sans s'appuyer sur des domaines statiques que les services de sécurité peuvent facilement bloquer. Les DGA génèrent des milliers de domaines en temps réel, rendant toute tentative de blocage impossible.
Les cybercriminels peuvent donc utiliser les DGA pour contourner les requêtes DNS (Domain Name System) et les règles de pare-feu, permettant ainsi aux familles de logiciels malveillants de persister dans les infrastructures de sécurité réseau sans être détectées. De plus, les domaines générés par les DGA utilisent souvent des noms de domaine d'apparence légitime, ce qui peut dissimuler davantage les intentions des logiciels malveillants aux systèmes de renseignements sur les menaces.
Découvrez comment les entreprises peuvent se prémunir contre six des cyberattaques les plus courantes et les plus dommageables.
