Le DGA du ver Conficker est un exemple d'algorithme de génération de domaine. Il a été utilisé pour générer un grand nombre de noms de domaine uniques pour son infrastructure de commande et de contrôle.
Un algorithme de génération de domaine (DGA) est un programme qui génère un grand nombre de nouveaux noms de domaine. Les cybercriminels et les opérateurs de botnets utilisent des algorithmes de génération de domaines pour modifier fréquemment les domaines qu'ils utilisent dans le but de lancer des attaques malveillantes. Cette technique permet aux pirates d'éviter les solutions de détection de logiciels malveillants qui bloquent des noms de domaine spécifiques et des adresses IP statiques.
Pourquoi les cybercriminels utilisent-ils des algorithmes de génération de domaine ?
Les acteurs malveillants utilisent des logiciels malveillants pour infecter un grand nombre d'ordinateurs ou de terminaux au sein des environnements informatiques de l'entreprise. Les attaquants peuvent envoyer des commandes à ces machines ou robots infectés par des logiciels malveillants et collecter des informations auprès d'eux à l'aide d'un serveur de commande et de contrôle (serveur C2), qui est généralement également une machine hébergée dans un système compromis. Ce réseau de bots, ou botnet, peut servir à propager des spams, dérober des données sensibles ou mener des campagnes de déni de service distribué (DDoS) et d'autres cyberattaques.
Pour empêcher ces activités malveillantes, les services et solutions de cybersécurité tentent d'identifier les adresses IP des machines et des sites Web impliqués dans la communication entre les serveurs C2 et les terminaux infectés, en bloquant tout trafic à destination ou en provenance de ces adresses IP en fonction de renseignements donnés par un fournisseur de sécurité réseau au sujet des menaces. Pour poursuivre leurs attaques, les cybercriminels doivent continuellement changer de domaine afin de déjouer les listes noires, le filtrage par signature, les passerelles de sécurité, les systèmes de réputation, les systèmes de prévention des intrusions, et les autres technologies de sécurité.
En utilisant des DGA pour générer un grand nombre de noms de domaine, les cybercriminels peuvent rapidement passer d'un domaine à l'autre à un rythme difficile à suivre pour les moteurs de détection.
Comment fonctionnent les algorithmes de génération de domaine ?
Les algorithmes de génération de domaine sont des applications qui utilisent des séquences de caractères afin de produire rapidement des milliers de noms de domaine à même de servir de point de rendez-vous où les attaquants peuvent communiquer avec les serveurs C2. Ces algorithmes peuvent générer des dizaines de milliers de noms de domaine DGA chaque jour, la plupart étant non enregistrés. Les pirates utilisent les domaines non enregistrés pour masquer ceux qui le sont, ce qui permet de déjouer plus facilement la détection par les moteurs d'inspection utilisant les signatures et la réputation des adresses IP. L'algorithme est exécuté à la fois du côté client et du côté source. Il commence par une graine connue à la fois de l'attaquant et du serveur C2, qui leur permet de savoir quels domaines seront générés et quel domaine sera enregistré pour servir de canal de communication pour les logiciels malveillants. Si ce domaine est identifié et bloqué par les systèmes de sécurité, les attaquants peuvent rapidement passer au domaine suivant pour maintenir le contact avec le serveur C2, en suivant un schéma que le pirate et le logiciel malveillant ou botnet comprennent.
Quels sont les différents types de DGA ?
Les pirates ont mis au point différents types de DGA pour accroître leur capacité à créer des domaines malveillants sans être détectés.
- Les DGA basés sur un générateur de nombres pseudo-aléatoires sont les plus courants. Ils utilisent une graine aléatoire (souvent la date et l'heure du système) pour générer des séquences de domaines que l'attaquant et le logiciel malveillant peuvent prédire.
- Les DGA à base de caractères utilisent une graine aléatoire pour générer des noms de domaine composés de lettres ou de chiffres. Ce sont les plus faciles à détecter.
- Les DGA basés sur un dictionnaire combinent aléatoirement des mots pour générer des domaines qui semblent lisibles mais qui sont plus difficiles à détecter pour les systèmes de sécurité, car ils ressemblent à des domaines légitimes.
- Les DGA à forte collision sont conçus pour ressembler à des noms de domaine légitimes et sont associés à des domaines de premier niveau (TLD) tels que .com, .net et .org. Avec les DGA à forte collision, il est plus probable que le domaine produit soit déjà enregistré, ce qui provoque une « collision » qui peut rendre le processus de détection encore plus confus.
Comment les organisations peuvent-elles détecter les domaines DGA ?
Les mesures prises par les organisations pour empêcher les logiciels malveillants peuvent également contrer les DGA. Puisque les algorithmes de génération de domaine sont utilisés pour faire progresser les logiciels malveillants, la plupart des solutions de protection contre les programmes malveillants offrent des défenses de base contre ces menaces. Les meilleures pratiques sont les suivantes :
- Adopter une cadence optimale de correction pour maintenir les logiciels à jour, empêchant ainsi les attaquants d'exploiter les vulnérabilités logicielles pour pénétrer les défenses et installer des logiciels malveillants.
- Organiser une formation de sensibilisation à la sécurité pour aider les utilisateurs à reconnaître les liens, sites Web et e-mails potentiellement malveillants qui peuvent faire partie d'une attaque de logiciels malveillants.
- Utiliser le filtrage d'URL pour empêcher les utilisateurs d'accéder à des sites Web ou de cliquer sur des liens connus pour être malveillants.
- Déployer des solutions de sécurité pour bloquer la capacité des utilisateurs à ouvrir des pièces jointes malveillantes ou à activer des macros sur les documents joints.
- Choisir des solutions de sécurité DNS qui peuvent aider à la détection DGA en identifiant et en bloquant la communication entre les serveurs C2 et les logiciels malveillants à l'aide du trafic DNS, qui peut souvent passer par des pare-feu sans inspection.
- Déployer une technologie anti-DGA qui utilise l'apprentissage automatique et le Big Data pour identifier les activités anormales et supprimer les sites malveillants.
Foire aux questions (FAQ)
Les trois facteurs qui peuvent être utilisés dans les algorithmes de génération de domaine sont le temps, la graine aléatoire et les calculs mathématiques.
Les DGA sont utiles pour les cybercriminels, car ils leur permettent de modifier constamment les domaines utilisés pour la communication avec les machines infectées, ce qui complique le travail des chercheurs en sécurité et des forces de l'ordre visant à suivre et démanteler leur infrastructure.
La principale différence entre un algorithme de génération de domaines et une liste de mots est qu'un DGA génère des noms de domaines de manière algorithmique selon certains facteurs, tandis qu'une liste de mots est une liste statique de noms de domaines prédéterminés qui peuvent être utilisés par un logiciel malveillant ou un botnet à des fins de communication. Les DGA offrent un niveau de variabilité et d'imprévisibilité plus élevé que les listes de mots.
Pourquoi les clients choisissent-ils Akamai ?
Akamai soutient et protège la vie en ligne. Les entreprises leaders du monde entier choisissent Akamai pour concevoir, diffuser et sécuriser leurs expériences digitales, et aident des milliards de personnes à vivre, travailler et jouer chaque jour. Akamai Connected Cloud, plateforme cloud massivement distribuée en bordure de l'Internet, rapproche vos applications et expériences des utilisateurs, tout en tenant les menaces à distance.