2.1.6. Moteur DGA detect
2.1.6.1. Introduction
2.1.6.1.1. Pour quels types de menaces ce moteur est-il conçu ?
fonctionne sur le DNS (protocole en clair) et fonctionnera même si le logiciel malveillant utilise par la suite un protocole chiffré comme HTTPS
peut détecter des DGA qui n'ont jamais été vus auparavant. Par exemple, il aurait pu détecter solarwind même s'il a été formé avant que solarwind n'existe
2.1.6.1.2. Comment ce moteur détecte-t-il les menaces ?
Un algorithme d'apprentissage automatique supervisé pour détecter les domaines DGA probables. Le modèle est basé sur plusieurs modèles, l'un utilisant le deep learning (LSTM) et l'autre utilisant des caractéristiques spécifiques au domaine.
Une analyse du comportement basée sur l'agrégation dans le temps
2.1.6.1.3. Comment fonctionne le moteur DGA detect dans le GCenter ?
Sur le GCap, les réponses DNS sont enregistrées et envoyées au GCenter.
Un algorithme d'apprentissage automatique détecte les domaines qui semblent avoir été produits par une DGA.
Une analyse comportementale est effectuée pour détecter les hôtes associés à un nombre inhabituel de réponses DNS NXDOMAIN (= hôtes qui produisent beaucoup de requêtes pour des domaines qui n'existent pas).
Les résultats de l'analyse comportementale et de chaque domaine individuel sont combinés pour produire une alerte agrégée.
Quels sont les exemples concrets de DGA ?
Conficker :
L'un des exemples les plus anciens et les plus connus de DGA est celui du ver Conficker, qui a infecté des millions d'ordinateurs dans le monde entier.
La DGA de Conficker générait 250 domaines par jour, ce qui rendait difficile pour les défenseurs de bloquer les domaines assez rapidement.
Zeus Gameover : le logiciel malveillant Zeus Gameover a également utilisé un DGA pour générer des noms de domaine, ce qui lui a permis d'échapper à la détection et de prendre le contrôle des machines infectées à des fins de vol financier.
Comment fonctionne la DGA ?
Pourquoi un attaquant utiliserait-il la DGA ?
Quels sont les différents types de DGA ?
2.1.6.2. Événements générés
Celles-ci sont affichées :
Dans l’interface principale nommée Web UI du GCenter, dans l’écran`Alerts`
L’interface principale nommée Web UI est décrite dans la Présentation de la WebUI.
Pour visualiser les alertes, sélectionner le filtre moteur`DGA`
.Voir la présentation de l'Ecran `Alerts` de la WebUI. Cliquer sur l'alerte sélectionnée.La fenêtre`Alert details`
est affichée.Les informations détaillées de cette alerte sont affichées dans l'Exemple d'alerte DGA detect dans la WebUI. Dans l'interface nommée Kibana UI
Pour visualiser les alertes, sélectionner le filtre moteur`DGA`
.Voir la présentation de l'Ecran `Alerts` de la WebUI.L'écran n'affiche que la liste des alertes DGA. Après avoir sélectionné l'alerte, cliquer sur la commande`Open DGA activity`
du menu`Actions`
.L'interface Kibana est ouverte dans l'onglet`Overview`
, la catégorie`DGA`
de la section`Alerts `
.La base de données est filtrée sur le paramètre`source.ip:`
qui envoie une requête DGA.L'interface affichée est l'interface nommée Kibana UI (décrite dans l'Interface graphique Kibana).
Cette page affiche toutes les alertes de cette adresse IP détectées par DGA. Cliquer sur l'icône (1) à gauche de l'alerte.Le document développé (2) s'affiche.
Les informations détaillées de cette alerte peuvent être consultées sous forme de tableau ou au format json (voir la Structure des données des logs DGA detect).Les compteurs affichés sont donnés dans l'annexe Structure des données du journal de bord du moteur.Note
Si un GCap supervise plusieurs réseaux ou si plusieurs GCaps supervisent plusieurs réseaux, il est possible qu'un nom de domaine qui apparaît plusieurs fois ne génère qu'une seule alerte.
2.1.6.2.1. Exemple d'alerte DGA detect dans la WebUI
`Alert details`
est disponible dans la Fenêtre `Alert details`.2.1.6.2.2. Structure des données des logs DGA detect
Les logs sont composés de différentes parties :
la partie en-tête
la partie source définie par "_source"
la partie champ définie par "_fields"
Ces informations sont affichées dans l'écran `Expanded document`
de Kibana.
2.1.6.2.2.1. La partie en-tête des logs DGA detect
La partie en-tête contient :
"_index": "engines_alerts-2024.12.17-000043",
"_id": "-a9H1JMBe7GX5B2fgaSz",
"_version": 1,
"_score": 0,
Les informations détaillées sont données dans le tableau (Compteurs de la partie en-tête des journaux).
2.1.6.2.2.2. La partie source des logs DGA detect
La partie source est définie par "_source" dans les logs.
Note
L'exemple donné ici est un exemple de Kibana.
"event": {
"created": "2024-12-17T11:01:15.955324+00:00",
"dataset": "alert",
"end": "2024-12-17T11:00:05.717000+00:00",
"module": "dga_detect",
"severity": 1,
"kind": "alert",
"category": [
"network",
"intrusion_detection"
],
"start": "2024-12-17T10:59:59.513000+00:00",
"id": "113dfa89-3b96-4e93-af67-e11df6446ff0"
},
"dga": {
"malware_behavior_confidence": 50,
"nx_domain_count": 29,
"dga_ratio": 1,
"top_DGA": [
"tjzjyiheo.com",
"nvtcvimt.com",
"vmfyaxnse.com",
"htjykhvta.com",
"csmanuivsrlx.com",
"sbxsgfddr.com",
"oyttwuyshcgxxaenbit.com",
"seklusaprnkwhvybzc.com",
"xxcnirvbqivbucfsbliu.com",
"jgjvgfetpammdrxwn.com"
],
"dga_count": 29
},
"source": {
"ip": "192.168.56.104"
},
"ecs": {
"version": "8.6.0"
},
"destination": {
"port": 53,
"ip": "78.46.218.253"
},
"observer": {
"log_format_version": "1.0.0",
"hostname": "gcenter.domain.local",
"vendor": "gatewatcher",
"gcap": {
"hostname": "gcap-int-129-dag.gatewatcher.com",
"version": "2.5.4.0-rc5"
},
"product": "gcenter",
"uuid": "fc1e66e3-a397-5eb4-9277-754be778f317",
"version": "2.5.3.103"
},
"@version": "1",
"@timestamp": "2024-12-17T11:01:15.955Z",
"network": {
"protocol": "dns",
"transport": "udp",
"timestamp": "2024-12-17T11:00:05.434623+00:00",
"flow_id": 2110172624313946
}
},
`dga_probability`
sera ajouté.2.1.6.2.2.3. Liste des compteurs de l'alerte
Note
Les compteurs de l'alerte sont visibles :
dans l'écran
`Alert details`
de la WebUIdans l'écran
`Expanded document`
de Kibanadans l'export vers le SIEM
Les informations détaillées sont données dans le tableau (Compteurs de la partie source des journaux).
2.1.6.3. Gestion du moteur
2.1.6.3.1. Visualisation de l'état du moteur
L'état courant du moteur est donné dans l' Ecran `Health checks`.
2.1.6.3.3. Configuration du moteur DGA detect et gérer la liste des fichiers ignorés
L'interface de gestion permet :
- d'activer le moteur et de changer ses paramètresLa mise en œuvre de la configuration est donnée dans la procédure d'Activation et configuration du moteur Dga detect.
- de gérer l'
`Ignore list`
: définit la liste pour filtrer explicitement les domaines ou IP sainsPour plus d'informations sur la procédure, voir la Gestion de la liste des noms de domaine à ignorer du moteur Dga detect.
L'interface de gestion est décrite dans l' Ecran `DGA detect` (commande DGA).