Melissa Alvarez

Erkennen Sie DGA-Aktivitäten (Domain Generation Algorithm) mit der neuen Kibana-Integration

Wir haben der Integrations-App in Kibana ein DGA-Erkennungspaket hinzugefügt. Mit einem einzigen Klick können Sie das DGA-Modell und die zugehörigen Ressourcen installieren und verwenden, einschließlich Erfassungspipelinekonfigurationen, Anomalieerkennungsaufträgen und Erkennungsregeln.

7 Minuten LesezeitMaschinelles Lernen, Detektion
Erkennen Sie DGA-Aktivitäten (Domain Generation Algorithm) mit der neuen Kibana-Integration

Suchen Sie nach einer Möglichkeit, Ihr Netzwerk vor potenziellen DGA-Angriffen (Domain Generation Algorithm) zu schützen? Suchen Sie nicht weiter – ein DGA-Erkennungspaket ist jetzt in der Integrations-App in Kibana verfügbar.

Mit einem einzigen Klick können Benutzer das DGA-Modell und die zugehörigen Ressourcen installieren und verwenden, einschließlich Erfassungspipelinekonfigurationen, Anomalieerkennungsaufträgen und Erkennungsregeln. Lesen Sie weiter, um eine Schritt-für-Schritt-Anleitung zur Installation und vollständigen Aktivierung des DGA-Pakets zu erhalten.

[ Verwandter Artikel: Automatisierung der schnellen Reaktion des Sicherheitsschutzes auf Malware]

Was ist eine DGA?

Eine DGA ist eine Technik, die von vielen Malware-Autoren eingesetzt wird, um sicherzustellen, dass die Infektion eines Client-Rechners Abwehrmaßnahmen umgeht. Das Ziel dieser Technik ist es, die Kommunikation zwischen einem infizierten Client-Rechner und dem Command-and-Control-Server (C & C oder C2) zu verbergen, indem Hunderte oder Tausende von zufällig generierten Domänennamen verwendet werden, von denen einer letztendlich in die IP-Adresse eines C & C-Servers aufgelöst wird.

Das, was bei einem DGA-Angriff abläuft, lässt sich vielleicht besser verstehen, wenn Sie sich in die Rolle eines Soldaten in einem Kampfeinsatz hineinversetzen. Wie viele Soldaten verfügen Sie über Kommunikationsausrüstung, die mit Funkfrequenzen arbeitet. Der Feind könnte versuchen, Ihre Kommunikation zu stören, indem er auf Ihren Funkfrequenzen Störsignale sendet. Eine Möglichkeit, dem einen Riegel vorzuschieben, wäre die Verwendung des sogenannten „Frequency Hopping“ (Frequenzsprungverfahren), bei dem während der Übertragung ständig in kurzen Abständen die Frequenz gewechselt wird. Für den Feind sehen diese Frequenzwechsel zufällig und unvorhersehbar aus, was es ihm erschwert, die Kommunikation zu stören.

DGAs sind wie ein frequenzspringender Kommunikationskanal für Malware. Sie wechseln die Domain so häufig, dass das Blockieren des C2-Kommunikationskanals der Malware durch das Blockieren von DNS-Domainnamen unmöglich wird. Es gibt einfach zu viele zufällig generierte DNS-Namen, um sie erfolgreich zu identifizieren und zu blockieren.

Diese Technik tauchte 2009 in der Welt der Malware mit Gewalt auf, als der Wurm "Conficker" begann, eine sehr große Anzahl von zufällig generierten Domainnamen für die Kommunikation zu verwenden. Die Autoren des Wurms entwickelten diese Gegenmaßnahme, nachdem ein Konsortium von Sicherheitsforschern den C2-Kanal des Wurms unterbrochen hatte, indem sie die DNS-Domänen abschalteten, die er für die Kommunikation verwendete. Auch im Fall des globalen Ausbruchs der Ransomware WannaCry im 2017 wurde eine DNS-Abwehr durchgeführt.

Einrichten der DGA-Erkennung

Wir haben das Modell und die zugehörigen Assets – einschließlich der Pipelines, Konfigurationen für die Anomalieerkennung und der Erkennungsregeln – ab Version 8.0 für die Integrations-App in Kibana freigegeben. Wir werden dieses Format auch in Zukunft beibehalten.

Wenn Sie nicht über einen Elastic Cloud-Cluster verfügen, aber mit dem veröffentlichten ProblemChild-Paket experimentieren möchten, können Sie eine kostenlose 14-tägige Testversion von Elastic Cloud starten.

Wir werden uns nun die Schritte ansehen, mit denen Sie DGA in Ihrer Umgebung in wenigen Minuten mit dem veröffentlichten DGA-Paket zum Laufen bringen können.

Schritt 1: Installieren der Paketressourcen

In Kibana enthält die Integrations-App jetzt das DGA-Erkennungspaket. Um die Assets zu installieren, klicken Sie auf der Registerkarte "Einstellungen" auf die Schaltfläche "DGA-Assets installieren". Dadurch werden alle Artefakte installiert, die für die Verwendung des DGA-Modells zum Generieren von Warnungen erforderlich sind, wenn DGA-Aktivitäten in Ihren Netzwerkdaten erkannt werden.

Sobald die Installation abgeschlossen ist, können Sie zu Stack Management > Ingest Pipelines navigieren und sehen, dass die <version-number>-ml\_dga\_ingest\_pipeline installiert wurde und nun zum Anreichern eingehender Erfassungsdaten verwendet werden kann. Die Erfassungspipeline nutzt die <version-number>-ml\_dga\_inference\_pipeline, um dies zu tun.

In ähnlicher Weise ist das installierte DGA-Modell jetzt in Machine Learning > Model Management > Trained Models zu sehen.

Schritt 2: Anreicherung Ihrer Daten

Jetzt können Sie Ihre Daten mithilfe der Erfassungspipeline erfassen. Das überwachte Modell analysiert und reichert eingehende Daten mit DNS-Ereignissen mit einem DGA-Score an.

Diese Pipeline ist für die Arbeit mit Daten konzipiert, die DNS-Ereignisse enthalten – z. B. Paketschlagdaten –, die die folgenden ECS-Felder enthalten: dns.question.name und dns.question.registered_domain. Sie können die installierte Ingest-Pipeline zu einem Elastic Beat hinzufügen, indem Sie eine einfache Konfigurationseinstellung hinzufügen.

Wenn Ihren Indizes bereits eine Erfassungspipeline zugeordnet ist, können Sie einen Pipelineprozessor verwenden, um die DGA-Erfassungspipeline in Ihre vorhandene Pipeline zu integrieren.

Außerdem sollten Sie dem gewählten Beat die folgenden Zuordnungen hinzufügen:

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

Dies können Sie unter Stack Management > Index Management > Component Templates tun. Vorlagen, die bearbeitet werden können, um benutzerdefinierte Komponenten hinzuzufügen, werden mit einem @custom Suffix gekennzeichnet. Bearbeiten Sie die @custom Komponentenvorlage für Ihren Elastic-Beat, indem Sie das obige JSON-Blob in das Flyout "JSON laden " einfügen.

Sie sollten nun sehen, dass das Modell eingehende DNS-Ereignisse mit den folgenden Feldern anreichert:

  • Ml_is_dga.bösartige_Vorhersage: Der Wert "1" gibt an, dass die DNS-Domäne voraussichtlich das Ergebnis einer böswilligen DGA-Aktivität ist. Ein Wert von "0" gibt an, dass es sich voraussichtlich um gutartig handelt.

  • Ml_is_dga.bösartige_Wahrscheinlichkeit: Ein Wahrscheinlichkeitswert zwischen 0 und 1, dass die DNS-Domäne das Ergebnis einer böswilligen DGA-Aktivität ist.

Wenn Sie sofort testen möchten, ob die Erfassungspipeline mit Ihren Daten wie erwartet funktioniert, können Sie einige Beispieldokumente mit der API zum Simulieren der Pipeline verwenden und bestätigen, dass die ml_is_dga Felder angezeigt werden.

Schritt 3: Ausführen der Anomalieerkennung

Das Paket enthält einen vorkonfigurierten Auftrag zur Erkennung von Anomalien. Dieser Job für maschinelles Lernen (ML) untersucht die DGA-Werte, die vom überwachten DGA-Modell erzeugt werden, und sucht nach anomalen Mustern ungewöhnlich hoher Bewertungen für eine bestimmte Quell-IP-Adresse. Diesen Ereignissen wird eine Anomaliebewertung zugewiesen.

Um diesen Auftrag für Ihre angereicherten Daten auszuführen, wechseln Sie zu Machine Learning > Anomalieerkennung. Wenn Sie einen Auftrag mit dem Auftragsassistenten erstellen, sollte eine Option zum Verwenden vorkonfigurierter Aufträge mit einer Karte für DGA angezeigt werden. Nachdem Sie die Karte ausgewählt haben, sehen Sie den vorkonfigurierten Anomalieerkennungsauftrag, der ausgeführt werden kann. Beachten Sie, dass dieser Auftrag nur für Indizes nützlich ist, die durch die Erfassungspipeline angereichert wurden.

Schritt 4: Aktivieren der Regeln

Um den Nutzen des DGA-Frameworks zu maximieren, aktivieren Sie die installierten Erkennungsregeln. Sie werden ausgelöst, wenn bestimmte Bedingungen für das überwachte Modell oder den Anomalieerkennungsauftrag erfüllt sind. Die vollständige Liste der installierten Regeln finden Sie auf der Übersichtsseite des Pakets selbst oder in der neuesten Version von experimentellen Erkennungen.

Um den enthaltenen vorkonfigurierten Anomalieerkennungsauftrag voll auszuschöpfen, aktivieren Sie die ergänzende Regel: Potenzielle DGA-Aktivität. Dadurch wird eine anomaliebasierte Warnung auf der Erkennungsseite in der Sicherheits-App erstellt.

Der vorkonfigurierte Anomalieerkennungsauftrag und die ergänzende Regel sind beide in den Repository-Versionen für Erkennungsregeln verfügbar. Um die installierten Regeln zu aktivieren und zu verwenden, navigieren Sie zu Security > Rules und wählen Sie Load Elastic Prebuild-Regeln und Zeitachsenvorlagen aus.

Get in touch

Wir würden uns freuen, wenn Sie ProblemChild ausprobieren und uns Feedback geben, während wir daran arbeiten, neue Funktionen hinzuzufügen. Wenn Sie während des Prozesses auf Probleme stoßen, wenden Sie sich bitte über unseren Community-Slack-Kanal, Diskussionsforen oder sogar über unser offenes Erkennungsrepository an uns.

Sie können immer die neueste Version von Elasticsearch Service in Elastic Cloud ausprobieren und diesem Blog folgen, um das ProblemChild-Framework in Ihrer Umgebung für Ihre Windows-Prozessereignisdaten einzurichten. Und nutzen Sie unser Quick-Start-Training , um sich auf den Erfolg vorzubereiten. Starten Sie noch heute Ihre kostenlose Testversion von Elastic Cloud , um Zugriff auf die Plattform zu erhalten. Viel Spaß beim Experimentieren!