Erst kürzlich veröffentlichte Splunk die Version 4.2 des Machine Learning Toolkit (MLTK). Teil dieser Version ist ein neuer Algorithmus: die Wahrscheinlichkeitsdichte-Funktion bzw. Probability Density Function. Anhand dieses Algorithmus wird festgelegt, welche Datenwerte auf der Grundlage bisheriger Werte zu erwarten sind. Das hilft dabei, anomale Werte für ein bestimmtes Dataset zu erkennen. Mit diesem Algorithmus als Teil des MLTK könnt ihr jetzt Machine Learning (ML)-Methoden für die Ermittlung von Ausreißern in sicherheitsbezogenen Daten anwenden.
Es gibt viele Fälle, bei denen eine Erkennung solcher Anomalien in puncto Sicherheit hilfreich ist. Splunk Enterprise Security Content Update (ESCU) enthält mehrere Suchen, mit denen in verschiedensten Daten nach Spitzen gesucht werden kann, die auf böswillige Aktivitäten in eurer Umgebung schließen lassen. Diese Suchen nutzen die Rechenleistung von Splunk, um die Standardabweichung für einen Satz Datenpunkte zu berechnen. Anschließend wird nach Werten gesucht, die diese Abweichung um ein Vielfaches überschreiten. Diese Methode ist zwar hilfreich und häufig auch ausreichend, aber der neue DensityFunction-Algorithmus im MLTK bietet hier zusätzliche Vorteile (genauere Informationen dazu gibt es auch im Blogpost zum Splunk Machine Learning Toolkit 4.2.)
In Version 1.0.38 des ESCU führten wir MLTK-Versionen für drei dieser Suchen ein. Mit ihnen können Spitzen in SMB-Verbindungen, ungewöhnlich lange Befehlszeilen auf Desktop und Server Systemen, ungewöhnlich lange DNS-Abfragen (die z. B. auf maschinengenerierte Domainnamen zurückzuführen sind) oder der Missbrauch von DNS-Protokollen für böswillige Zwecke erkannt werden. Da für jede MLTK-Erkennung zwei Suchen benötigt werden (eine zum Erstellen des Modells, die zweite für die Erkennung), haben wir nun sechs neue Suchen hinzugefügt.
Der neue ML-gestützte Content in ESCU besteht aus sechs Suchen: drei Basissuchen (Support Searches), die zum Erstellen der ML-Modelle verwendet werden, und drei Erkennungssuchen (Detection Searches), die anhand der von den Basissuchen erstellten Modelle neue Daten untersuchen und Anomalien im Vergleich zu bisherigen Standardwerten erkennen. Die neuen Suchen lauten:
Baseline of DNS Query Length – MLTK (Basiswerte für die Abfragelänge von DNS Querys)
Baseline of SMB Traffic – MLTK (Basiswerte für den SMB-Datenverkehr)
Baseline of Command Line Length – MLTK (Basiswerte für die Befehlszeilenlänge)
DNS Query Length Outliers – MLTK (Ausreißer bei der DNS-Abfragelänge)
SMB Traffic Spike – MLTK (SMB-Datenverkehrspitzen)
Unusually Long Command Line – MLTK (Ungewöhnlich lange Befehlszeilen)
Die ersten drei Suchen verwenden den MLTK-Befehl „fit“, um auf der Grundlage der vorhandenen Daten ein Modell für Ihre Umgebung zu erstellen. Diese Basissuchen müssen vor der jeweiligen Erkennungssuche ausgeführt werden, da Erkennungssuchen ohne vorhandene Modelle fehlschlagen würden. Sobald die Modelle erstellt und trainiert wurden, verwenden die Erkennungssuchen den Befehl „apply“, um anhand des Modells eingehende Daten zu vergleichen und einen Alarm zu erstellen, sobald ein Ausreißer erkannt wird.
Wenn ihr ESCU bisher noch nicht verwendet habt, ladet es einfach aus Splunkbase herunter und testet es. Der kostenlose Abonnementservice bietet euch diverse Analyseberichte (Analytic Stories). Dabei handelt es sich um nach Themen geordnete Sicherheitsanleitungen, die gemeinsam mit den Suchen geladen werden und euch dabei helfen, eure Umgebung zu schützen und verdächtige Aktivitäten zu untersuchen. Die Installation ist ganz einfach. Anschließend seht ihr auf einer Benutzeroberfläche die von uns angebotenen Inhalte. ESCU ist zur gemeinsamen Nutzung mit Splunk Enterprise Security gedacht, aber ihr können euch die angebotenen Suchen auch so ansehen.
Um die neuen Suchen mit dem Density Function-Algorithmus aus dem MLTK verwenden zu können, benötigt ihr auf euren Search Heads MLTK ab Version 4.2. Außerdem ist Python for Scientific Computing ab Version 1.4 zwingend erforderlich. Wenn ihr die Befehle „fit“ und „apply“ des MLTK in Enterprise Security (ES) verwenden möchtet, müsst ihr die Konfiguration „App Imports“ verwenden und dieser Anleitung folgen.
Das ist auch schon alles! Ihr könnt jetzt den DensitiyFunction-Algorithmus verwenden, um nach den subtileren Hinweisen auf böswillige Aktivitäten zu suchen, die sonst nur schwer erkennbar sind.
Die neuen ML-gestützten Suchen in ESCU sind in verschiedenen Analyseberichten enthalten und erscheinen neben ihren ursprünglichen Nicht-MLTK-Versionen. Wenn ihr ES ausführt, werden die Erkennungssuchen im Content Management angezeigt. Ihr können sie schnell finden, indem ihr dorthin navigiert und im Filter MLTK eingebt. Außerdem könnt ihr bei Bedarf nach der ES-App Content Update filtern. Hier könnt ihr die Basissuchen ändern und ausführen. Ihr könnt außerdem auch die zugehörigen Erkennungssuchen aktivieren, die standardmäßig jede Stunde ausgeführt werden.
Autor: Rico Valdez, Principal Security Researcher
Dieser Artikel wurde aus dem Englischen übersetzt und kann im Original hier gelesen werden.
Die Splunk-Plattform beseitigt die Hürden zwischen Daten und Handlungen, damit Observability-, IT- und Security-Teams in ihren Unternehmen für Sicherheit, Resilienz und Innovation sorgen können.
Splunk wurde 2003 gegründet und ist ein globales Unternehmen – mit mehr als 7.500 Mitarbeitern, derzeit über 1.020 Patenten und einer Verfügbarkeit in 21 Regionen rund um den Globus. Mit seiner offenen, erweiterbaren Datenplattform, die die gemeinsame Nutzung von Daten in beliebigen Umgebungen unterstützt, bietet Splunk allen Teams im Unternehmen für jede Interaktion und jeden Geschäftsprozess End-to-End-Transparenz mit Kontext. Bauen auch Sie eine starke Datenbasis auf – mit Splunk.