Melissa Alvarez

Détectez l'activité de l'algorithme de génération de domaine (DGA) grâce à la nouvelle intégration de Kibana

Nous avons ajouté un paquet de détection DGA à l'application Integrations dans Kibana. En un seul clic, vous pouvez installer et commencer à utiliser le modèle DGA et les ressources associées, y compris les configurations du pipeline d'ingestion, les tâches de détection d'anomalies et les règles de détection.

Détectez l'activité de l'algorithme de génération de domaine (DGA) grâce à la nouvelle intégration de Kibana

Vous cherchez un moyen de protéger votre réseau contre les attaques potentielles par algorithme de génération de domaine (DGA) ? Ne cherchez plus, un package de détection DGA est désormais disponible dans l'application Intégrations de Kibana.

En un seul clic, les utilisateurs peuvent installer et commencer à utiliser le modèle DGA et les ressources associées, y compris les configurations du pipeline d'ingestion, les tâches de détection d'anomalies et les règles de détection. Lisez la suite pour obtenir des instructions pas à pas sur l'installation et l'activation complète de la DGA.

[Article connexe : Automatiser la réponse rapide des protections de sécurité aux logiciels malveillants].

Qu'est-ce qu'une DGA ?

Un DGA est une technique employée par de nombreux auteurs de logiciels malveillants pour s'assurer que l'infection d'un ordinateur client échappe aux mesures de défense. L'objectif de cette technique est de dissimuler la communication entre une machine cliente infectée et le serveur de commande et de contrôle (C & C ou C2) en utilisant des centaines ou des milliers de noms de domaine générés de manière aléatoire, dont l'un d'entre eux se résoudra finalement à l'adresse IP d'un serveur C & C.

Pour illustrer plus facilement ce qui se passe lors d'une attaque par DGA, imaginez que vous soyez un soldat sur un champ de bataille. Comme bon nombre de soldats, vous disposez d'un équipement qui utilise des fréquences radio pour communiquer. Pour perturber vos communications, votre ennemi peut chercher à brouiller vos fréquences radio. Pour contrer le problème, vous pouvez utiliser la technique du saut de fréquence, avec un système qui change de fréquence très rapidement au cours d'une transmission. Pour l'ennemi, les changements de fréquence sembleront aléatoires et imprévisibles. Il sera donc difficile de brouiller vos communications.

Les DGA sont comme un canal de communication à sauts de fréquence pour les logiciels malveillants. Ils changent de domaine si fréquemment que le blocage du canal de communication C2 du logiciel malveillant devient infaisable au moyen du blocage du nom de domaine DNS. Il y a tout simplement trop de noms DNS générés de manière aléatoire pour pouvoir les identifier et les bloquer.

Cette technique est apparue avec force dans le monde des logiciels malveillants en 2009, lorsque le ver "Conficker" a commencé à utiliser un très grand nombre de noms de domaine générés de manière aléatoire pour communiquer. Les auteurs du ver ont mis au point cette contre-mesure après qu'un consortium de chercheurs en sécurité a interrompu le canal C2 du ver en fermant les domaines DNS qu'il utilisait pour communiquer. L'atténuation du DNS a également été réalisée dans le cas de l'épidémie mondiale de ransomware WannaCry ( 2017 ).

Premiers pas

Nous avons publié le modèle et les ressources associées - y compris les pipelines, les configurations de détection d'anomalies et les règles de détection - dans l'application Intégrations de Kibana à partir de la version 8.0. Nous maintiendrons ce format à l'avenir.

Si vous n'avez pas de cluster Elastic Cloud mais que vous souhaitez commencer à expérimenter le package ProblemChild, vous pouvez démarrer un essai gratuit de 14 jours d' Elastic Cloud.

Nous allons maintenant examiner les étapes à suivre pour que la DGA soit opérationnelle dans votre environnement en quelques minutes, en utilisant le paquetage de la DGA.

Étape 1 : Installation des éléments du paquet

Dans Kibana, l'application Integrations inclut désormais le package de détection DGA. Pour installer les ressources, cliquez sur le bouton Installer les ressources DGA sous l'onglet Paramètres. Cela permet d'installer tous les artefacts nécessaires à l'utilisation du modèle DGA pour générer des alertes lorsque l'activité DGA est détectée dans les données de votre réseau.

Une fois l'installation terminée, vous pouvez naviguer vers Stack Management > Ingest Pipelines et constater que l'option <version-number>-ml\_dga\_ingest\_pipeline a été installé et peut maintenant être utilisé pour enrichir les données d'ingestion entrantes. Le pipeline d'ingestion s'appuie sur la fonction <version-number>-ml\_dga\_inference\_pipeline pour ce faire.

De même, le modèle DGA installé est désormais visible dans Machine Learning > Model Management > Trained Models.

Étape 2 : Enrichir vos données

Vous êtes maintenant prêt à ingérer vos données à l'aide du pipeline d'ingestion. Le modèle supervisé analysera et enrichira les données entrantes contenant des événements DNS avec un score DGA.

Ce pipeline est conçu pour fonctionner avec des données contenant des événements DNS - tels que les données packetbeat - qui contiennent les champs ECS suivants : dns.question.name et dns.question.registered_domain. Vous pouvez ajouter le pipeline d'ingestion installé à un battement Elastic en ajoutant un simple paramètre de configuration.

Si vous avez déjà un pipeline d'ingestion associé à vos index, vous pouvez utiliser un processeur de pipeline pour intégrer le pipeline d'ingestion de la DGA dans votre pipeline existant.

Vous voudrez également ajouter les mappings suivants au rythme que vous avez choisi :

{
  "properties": {
    "ml_is_dga": {
      "properties": {
        "malicious_prediction": {
          "type": "long"
        },
        "malicious_probability": {
          "type": "float"
        }
      }
    }
  }
}

Vous pouvez le faire sous Stack Management > Index Management > Component Templates. Les modèles qui peuvent être modifiés pour ajouter des composants personnalisés seront marqués d'un suffixe @custom. Modifiez le modèle de composant @custom pour votre battement Elastic en collant le blob JSON ci-dessus dans la fenêtre Load JSON.

Vous devriez maintenant voir que le modèle enrichit les événements DNS entrants avec les champs suivants :

  • Ml_is_dga.malicious_prediction: Une valeur de "1" indique que le domaine DNS devrait être le résultat d'une activité malveillante de la DGA. Une valeur de "0" indique qu'il est prévu qu'il soit bénin.

  • Ml_is_dga.malicious_probability: Probabilité, comprise entre 0 et 1, que le domaine DNS soit le résultat d'une activité malveillante de la DGA.

Si vous souhaitez tester immédiatement que le pipeline d'ingestion fonctionne comme prévu avec vos données, vous pouvez utiliser quelques documents types avec l'API simuler le pipeline et confirmer que vous voyez les champs ml_is_dga.

Étape 3 : Exécution de la détection des anomalies

Le paquet comprend une tâche de détection d'anomalie préconfigurée. Cette tâche d'apprentissage machine (ML) examine les scores DGA produits par le modèle DGA supervisé et recherche des schémas anormaux de scores anormalement élevés pour une adresse IP source particulière. Un score d'anomalie est attribué à ces événements.

Pour exécuter cette tâche sur vos données enrichies, allez sur Machine Learning > Anomaly Detection. Lorsque vous créez un travail à l'aide de l'assistant de travail, vous devriez voir une option Utiliser des travaux préconfigurés avec une carte pour DGA. Après avoir sélectionné la carte, vous verrez apparaître la tâche de détection d'anomalies préconfigurée qui peut être exécutée. Notez que ce job n'est utile que pour les index qui ont été enrichis par le pipeline d'ingestion.

Étape 4 : Activation des règles

Pour tirer le meilleur parti du cadre de la DGA, activez les règles de détection installées. Ils sont déclenchés lorsque certaines conditions du modèle supervisé ou de la tâche de détection des anomalies sont remplies. La liste complète des règles installées se trouve sur la page de présentation du paquet lui-même ou dans la dernière version des détections expérimentales.

Pour tirer pleinement parti de la tâche de détection des anomalies préconfigurée, activez la règle complémentaire : Activité potentielle de la DGA. Cela créera une alerte basée sur les anomalies dans la page de détection de l'application de sécurité.

La tâche préconfigurée de détection des anomalies et la règle complémentaire sont toutes deux disponibles dans les versions du répertoire des règles de détection. Pour activer et utiliser les règles installées, accédez à Security > Rules et sélectionnez Load Elastic prebuild rules and timeline templates.

Get in touch

Nous serions ravis que vous essayiez ProblemChild et que vous nous fassiez part de vos commentaires au fur et à mesure que nous ajoutons de nouvelles fonctionnalités. Si vous rencontrez des problèmes au cours du processus, n'hésitez pas à nous contacter sur le canal Slack de notre communauté, sur les forums de discussion ou même sur notre dépôt de détections ouvert.

Vous pouvez toujours expérimenter la dernière version d'Elasticsearch Service sur Elastic Cloud et suivre ce blog pour configurer le framework ProblemChild dans votre environnement pour vos données d'événements de processus Windows. Et profitez de notre formation Quick Start pour vous préparer au succès. Commencez dès aujourd'hui votre essai gratuit d'Elastic Cloud pour accéder à la plateforme. Bonne expérience !

Partager cet article