1. Présentation de l'algorithme DGA

Le Gcenter embarque un moteur capable de détecter des noms de domaines ayant été générés par des DGA (Domain Generation Algorithm). La présence de noms de domaines créés par DGA sur un réseau est un fort indicateur de compromission.

En effet, les logiciels malveillants peuvent utiliser des requêtes HTTP vers des noms de domaine générés automatiquement, afin de contacteur leurs serveurs de commande et de contrôle (aussi appelés CnC, C&C ou C2). Ces noms de domaine ont des propriétés différentes des noms de domaines légitimes. Les approches classiques de détection comme les listes noires ne sont pas pertinentes dans le cas de domaines renouvelés en permanence. Les simples calculs d'entropie génèrent une grande quantité de faux positifs.

2. Activation

Menu : Administrators > GCENTER > ML Management > DGA Detection Management > Settings

Cette fonctionnalité est désactivée par défaut. Elle est activable au niveau du dashboard Machine learning.

Une fois activée, les noms de domaine présents dans les évènements 'dns' capturés par les sondes GCAP sont analysés par le moteur de machine learning. Celui-ci renvoie une probabilité, pour chaque évènement de ce type, que le nom de domaine ait été généré par un DGA. Le moteur utilise un modèle pré-entraîné, dont l'architecture est basée sur un réseau de neurones profond de type LSTM (Long Short Term Memory networks).

Le moteur utilise seulement les noms de domaine : aucune information contextuelle supplémentaire telle que NXDomains par exemple n'est utilisée.

3. Listes d'exceptions

Menu : Administrators > GCENTER > ML Management > DGA Detection Management > White List / Black List

Des listes d'exceptions peuvent être mises en place afin de forcer le moteur à déclarer des noms de domaine comme sains (White List). Cela permet de supprimer les alertes liées à des faux positifs récurrents.

À l'inverse, une liste noire permet de lever une alerte pour un domaine qui n'aurait pas été détecté sinon (faux négatif).

Depuis Add a single domain name, il est possible d'ajouter un domaine dans la liste blanche de MachineLearning via le champ Domain name. Un commentaire peut suivre le domaine ajouté pour davantage de détails dans le champ Comment.

La sauvegarde des modifications se fait en cliquant sur le bouton Save.

Depuis Add a set of domain names, l'administrateur met à jour la liste blanche de MachineLearning via le champ List of domain names en sélectionnant sur son poste un fichier CSV contenant les domaines. Il faudra utiliser des ';' pour séparer les éléments de la liste.

De plus, l'administrateur peut décider de supprimer la liste précédente en cochant la case Clean previous list? et sauvegarder toutes les modifications en cliquant sur Save.

4. Événements générés

Le moteur de machine learning enrichit les informations déjà fournies par le module Sigflow. Ainsi pour un domaine n'étant pas détecté comme un domaine généré le champ dga_probability sera ajouté. Une valeur proche de 0 indique une faible probabilité que le domaine ait été généré comme dans l'exemple suivant

A contrario, une valeur proche de 1 indique qu'il y a de fortes chances que ce domaine soit le résultat d'une génération aléatoire comme ici