Aller au contenu principal
Articlethreat intelligence

Détection DGA : repérer les domaines générés

Détectez les DGA grâce aux signaux lexicaux, DNS, endpoint et de réputation, tout en maîtrisant les faux positifs en production.

IsMalicious TeamIsMalicious Team
4 min de lecture
Cover Image for Détection DGA : repérer les domaines générés
Signal
Context
Action

Un algorithme de génération de domaines (DGA) permet à un malware de calculer où retrouver son serveur de contrôle. Plutôt que d’embarquer un seul domaine C2, l’échantillon produit des centaines ou des milliers de candidats. L’opérateur n’en enregistre que quelques-uns ; les hôtes infectés parcourent la liste jusqu’à obtenir une réponse.

Les blocklists arrêtent les candidats déjà connus. Une détection durable vise le comportement de génération lui-même, en réunissant télémétrie DNS, contexte endpoint et enrichissement de réputation.

Fonctionnement du C2 fondé sur un DGA

MITRE ATT&CK documente les DGA sous T1568.002. Un algorithme combine souvent une graine, une date, un compteur et un domaine de premier niveau :

  • DGA par caractères : labels à forte entropie ressemblant à du charabia.
  • DGA par dictionnaire : assemblage de mots courants pour sembler naturel.
  • DGA temporel : liste renouvelée chaque heure, jour ou mois.
  • DGA par hôte : graine propre à la machine, qui limite la prédiction globale.

L’asymétrie favorise l’attaquant : un seul domaine enregistré doit fonctionner, tandis que le défenseur doit comprendre les requêtes échouées et réussies qui l’entourent.

Construire un score DGA multi-signal

Les attributs utiles se répartissent en quatre familles.

Signaux lexicaux

Mesurez la longueur du label, la distribution des caractères, le ratio consonnes-voyelles, la fréquence des chiffres, les n-grammes répétés et l’entropie de Shannon. Comparez-les au trafic normal de votre organisation.

Signaux DNS

Recherchez un taux élevé de NXDOMAIN, des rafales de noms uniques, des requêtes synchronisées sur plusieurs endpoints, des domaines jamais vus et des réponses éphémères. Une résolution réussie juste après une longue série d’échecs est particulièrement parlante.

Signaux endpoint

Identifiez le processus, son parent, sa signature et l’utilisateur à l’origine de la requête. Un navigateur qui contacte des noms uniques est moins surprenant qu’un binaire non signé dans un répertoire temporaire.

Signaux de threat intelligence

Enrichissez domaines et IP résolus avec l’âge d’enregistrement, l’ASN, l’historique DNS, les associations avec des malwares et la réputation. Une infrastructure liée peut convertir une faible anomalie lexicale en incident fiable.

Un pipeline de détection exploitable

Collectez les journaux du résolveur avec l’identité de l’endpoint et normalisez les noms en minuscules et en punycode. Agrégez par appareil et processus sur de courtes fenêtres. Calculez les attributs lexicaux, puis joignez résultats DNS et enrichissement.

Orientez le résultat selon la confiance :

  • forte entropie, nombreux NXDOMAIN et processus suspect : escalade ;
  • domaines composés de mots et requêtes synchronisées : investigation ;
  • noms opaques d’un service cloud émis par un agent approuvé : suppression documentée.

Utilisez l’historique DNS pour les candidats résolus, la réputation des domaines pour leur risque actuel et la recherche en masse pour les grands clusters.

Faux positifs et dérive du modèle

CDN, outils de mesure, SDK antifraude et applications cloud génèrent couramment des noms opaques. Maintenez les exceptions selon la propriété vérifiée et l’application, jamais selon une simple sous-chaîne. Supprimez-les lorsque le logiciel disparaît.

Les DGA par dictionnaire posent le problème inverse : ils paraissent trop normaux pour un modèle d’entropie. Combinez la forme du domaine avec les séquences d’échecs et la lignée du processus. Recalibrez les références après un changement majeur de SaaS, VPN ou résolveur.

Répondre à un DGA confirmé

Bloquez les domaines confirmés au niveau du DNS et du proxy, isolez l’endpoint et collectez le binaire responsable. Recherchez dans l’historique les candidats précédemment testés. La rétro-ingénierie peut révéler la graine et la séquence future, mais le confinement ne doit pas l’attendre.

Pivotez depuis chaque domaine résolu vers ses IP, ASN, certificats et voisins d’hébergement. Une alerte DGA peut ainsi révéler une infrastructure C2 plus large.

Mesurer la qualité

Suivez la précision, les endpoints découverts par incident, le délai entre la première requête algorithmique et l’alerte, et la part des détections confirmées par l’EDR. Surveillez aussi les exceptions sans propriétaire actif.

L’objectif n’est pas de maximiser le nombre de domaines bloqués, mais d’identifier les appareils compromis avant que le canal de contrôle devienne opérationnel.

Conclusion

La détection DGA fonctionne lorsque l’analyse lexicale, le comportement DNS, la provenance endpoint et la threat intelligence se renforcent. Partez des séquences anormales, validez les candidats avec la réputation des domaines et IP et conservez les échecs : ils constituent souvent l’empreinte la plus nette de l’algorithme.

FAQ

Questions fréquentes

Qu'est-ce qu'un algorithme de génération de domaines ?
Un DGA génère de nombreux domaines candidats, généralement à partir d'une graine et du temps, afin qu'un malware retrouve son C2 sans dépendre d'un domaine statique.
L'entropie suffit-elle à détecter un DGA ?
Non. Des services légitimes utilisent des noms opaques et certains DGA assemblent des mots courants. L'entropie doit être corrélée aux réponses DNS, au processus, à la prévalence et à la réputation.
Pourquoi les réponses NXDOMAIN sont-elles utiles ?
Un malware teste souvent de nombreux domaines générés avant de trouver ceux enregistrés par l'opérateur. Une rafale d'échecs provenant du même processus ou endpoint révèle cette recherche.
Read next

Protégez votre infrastructure

Confrontez n’importe quelle IP ou n’importe quel domaine à notre base de renseignement et à ses enregistrements indexés.

Essayer le vérificateur d’IP et de domaines