Die an Maschinelles Lernen (ML) geknüpften Erwartungen sind hoch, und das mit gutem Grund. Algorithmen, die auf maschinellem Lernen basieren, erlauben es uns beispielsweise enorme Mengen von Sicherheitsvorkommnissen auf Anomalien hin zu sichten. [...]
Die an Maschinelles Lernen (ML) geknüpften Erwartungen sind hoch, und das mit gutem Grund. Algorithmen, die auf maschinellem Lernen basieren, erlauben es uns beispielsweise enorme Mengen von Sicherheitsvorkommnissen auf Anomalien hin zu sichten. Also Abweichungen von einem als normal definierten Verhalten zu erkennen, die häufig Anzeichen für böswillige Aktivitäten sind. Die Ergebnisse dieses Sichtungsprozesses werden an einen Analysten übermittelt, der sie durchsieht und gründlich überprüft. Anschließend wird das System mit den Ergebnissen gefüttert um es weiter zu trainieren. Mit mehr und mehr in das System eingespeisten Daten entwickelt es sich sukzessive weiter: Es lernt ähnliche Sicherheitsvorkommnisse zu erkennen und letztendlich deren zugrunde liegende Charakteristika eines böswilligen Verhaltens.
Unsupervised Learning
Der erste Teil dieses Prozesses besteht im Erkennen von Anomalien, und man bezeichnet ihn als „Unsupervised Learning“. Es ist eine kostengünstige Methode, die in Maschinen-geschwindigkeit abläuft und mit der man große Datenmengen sichten kann. Sie erzeugt allerdings auch ein extrem hohes Grundrauschen. Elektronische Signale unterliegen natürlichen Schwankungen. Vor allem dann, wenn sie menschliche Aktivitäten widerspiegeln. Das führt zu gewissermaßen oberflächlichen Anomalien. Leitet man sämtliche dieser Anomalien an einen Analysten weiter, ist er mit dieser Flut potenzieller Events vollkommen überfordert. Das führt in der Praxis nicht selten zu einer gewissen Ermüdung und Desensibilisierung für tatsächliche Anomalien. Eines der bekanntesten Beispiele für so einen Fall ist die Datenschutzverletzung bei der Handelskette Target im Jahr 2013. Hier hatte die Überwachungssoftware zwar die betreffende Malware-Infektion erkannt und gemeldet. Der Alert ging aber in hunderten wenn nicht tausenden weiterer Benachrichtigungen unter und wurde übersehen. Das Ergebnis: 40 Millionen offengelegte Datensätze mit Kredit- und Debitkartennummern.
Es gibt verschiedene Wege die Zahl lästiger False Positives zu senken. Man kann etwa domänenübergreifende Korrelationen (cross-domain correlation) nutzen um ein Vorkommnis aus verschiedenen Blickwinkeln zu betrachten. Eine böswillige Aktivität manifestiert sich potenziell durch unterschiedliche Anomalien. Führt man diese Beobachtungen zusammen, erhält man ein deutlich stärkeres Signal als würde man sie isoliert voneinander betrachten. Diese Art von Analysen läuft typischerweise über komplexe Modellbildungen von Bedrohungen (Threat Modeling) ab. Diese Modelle sind nicht nur in der Lage die Zahl der False Positives zu senken, sie können auch zeitlich getrennt voneinander ablaufende Ereignisse zueinander in Beziehung setzen. Jeder Angriff weist eine typische „Kill Chain“ auf innerhalb der sich das Risiko steigert. Wenn man potenzielle Bedrohungen oder Bedrohungskomponenten in diese typische Kill Chain einordnet, erlaubt das ein deutlich früheres Erkennen eines Angriffs. Und damit haben Sicherheitsanalysten eine weit größere Chance Attacken zu verhindern, bevor diese ein Stadium erreichen, in dem sie erheblich größeren Schaden anrichten.
Eine andere Methode um die Zahl der falschen Positivmeldungen zu senken ist die Vergleichsanalyse, auch Peer-Group-Analyse genannt. Hier bildet man Vergleichsgruppen, in denen man ähnliche Charakteristika oder Aktivitäten zusammenfasst. Dabei geht man von der Annahme aus, dass diese Gruppierungen gemeinsame Funktionen aufweisen, die gemeinsame normale Aktivitäten repräsentieren. Wenn dann ein individuelles Verhalten abzuweichen scheint, wird dies anhand der Vergleichsgruppe überprüft. Bewegen sich die Anomalien innerhalb der Norm der betreffenden Vergleichsgruppe, handelt es sich wahrscheinlich um eine False-Positive-Meldung, die man ignorieren kann.
Supervised Learning
Den zweiten Teil des Trainingsprozesses für das ML-basierende System bezeichnet man als überwachtes oder „supervised Learning“. Hier gilt es eine Funktion zu finden, mit der man bisher unbekannte Beobachtungen einem Datenset, einer Klasse oder einem Wert zuordnen kann. Dazu werden die Daten mit einem sogenannten Label versehen. Bei der binären Klassifikation kennzeichnet man jedes Event entweder als positiv oder negativ. Üblicherweise übernehmen diese Aufgabe Sicherheitsanalysten. Das ist allerdings nicht nur der teuerste Weg, es ist auch ein sehr zeitaufwendiger und kaum geeignet mit der Menge der zu analysierenden Daten Schritt zu halten. Crowdsourcing ist für sensible Daten keine Option und verbietet sich von selbst. Jüngste Fortschritte im Bereich der generativen Modellbildung machen die menschliche Erfahrung nutzbar um Funktionen zu bilden, die Labels auf hohem Niveau vergeben statt sie auf Einzelfallbasis zuzuweisen (man vermeidet so ein Überwachungsmodell, das Schwächen schon in sich selbst trägt). Heute sind wir an einem Punkt angelangt, an dem diese Funktionen in die Cybersicherheit Eingang gefunden haben. Es gibt auch einige Fälle in denen man das Wissen und die Erkenntnisse einer Domain nutzen kann um ein anderes Dataset zu kennzeichnen. Das ist beispielsweise der Fall, wenn man den Hashwert bekannter Malware-Dateien nutzt, um ein Dataset mit den Verhaltensmerkmalen einer Malware zu kennzeichnen.
Im Allgemeinen aber basiert überwachtes Lernen hauptsächlich auf manuell gekennzeichneten Datasets. Gut durchdachte Bedrohungsmodelle senken die Zahl der False-Positive-Fälle, die ein Analyst zu prüfen hat, und machen so den Kennzeichnungsprozess effizienter. Ein aggressiver Trainingsplan mit einem optimalen Mix aus positiven und negativen Beispieldaten hilft ebenfalls den Prozess zu beschleunigen. Bei allem Willen zur Optimierung sollte man aber das Kind nicht mit dem Bad ausschütten. Man kann die Zahl von falschen Positivmeldungen sehr einfach senken, indem man den Grenzwert, also die Detektionsschwelle, nach oben setzt. Damit geht man allerdings gleichzeitig das Risiko ein falsche Negativmeldungen zu produzieren. False Positives bedeuten letztendlich nur mehr Aufwand beim Aufdecken böswilliger Aktivitäten. Falsche Negativmeldungen bedeuten aber nichts anderes, als dass man eine laufende Bedrohung nicht mehr auf dem Radar hat. Nicht unbedingt eine gute Voraussetzung für Cybersicherheit. Wie uns der Fall Target gelehrt hat, kann allerdings auch eine hohe Zahl von False Positives dafür sorgen, dass die eigentliche Warnung untergeht und übersehen wird.
Ein gutes Modell muss nach einer tauglichen Balance zwischen diesen beiden Metriken streben. Es existiert immer ein Kompromiss zwischen den False-Positive- und den False-Negative-Raten, oder zwischen Sensitivität und Spezifität des Verfahrens. Bei der Modellbildung sollte man beide nutzen.
Maschinelles Lernen und Cybersicherheit
Datasets in der Cybersicherheit sind berüchtigt dafür extrem unausgewogen zu sein. Im Klartext heißt das, die Zahl der positiven (bösartigen) Events liegt häufig in einem Bereich von unter 1 Prozent der Gesamtzahl. Schlimme Dinge passieren, wenn auch hoffentlich nicht zu oft. Und wenn die Zahl fehlgeschlagener Anmeldeversuche gegen 50 Prozent geht, braucht niemand mehr maschinelles Lernen um festzustellen, dass man gerade ein ernsthaftes Problem hat. Wie man am besten mit unausgewogenen Datasets in einem Modell umgeht würde den Rahmen dieses Beitrags sprengen. Aber zu wissen, welche Metriken man am besten verwendet, um die Leistungsfähigkeit seines Modells zu messen ist enorm wichtig. Genauigkeit wird uns in diesem Fall eher wenig Informationen bereitstellen, weil sie in einem Bereich von 99 Prozent+ angesiedelt ist. Die Receiver Operating Characteristic, kurz ROC, ist ebenfalls ein gern genutztes statistisches Verfahren, mit dem man die Aussagekraft von Laborparametern und Untersuchungsverfahren optimieren und vergleichen kann. Leider eignet sich auch dieses Verfahren wenig für unausgewogene Datasets, weil die False-Positive-Rate irreführend niedrig bleibt während demgegenüber die Zahl der Negatives zu hoch ist. Eine bessere Wahl sind der aus der Bioinformatik kommende „Matthews Correlation Coefficient“ oder „Cohens Kappa“, ein statistisches Maß für die Interrater-Reliabilität von Einschätzungen von (in der Regel) zwei Beurteilern (Ratern), von Jacob Cohen 1960 vorgeschlagen.
Die meisten Modelle, die auf maschinellem Lernen basieren, müssen periodisch aktualisiert werden. Vorhersagemodelle basieren auf der impliziten Annahme, dass sich das den Daten zugrunde liegende Modell nicht ändert. In vielen Fällen verändern sich aber die Beziehungen auf denen das Modell beruht, was man als „Concept Drift“ bezeichnet. Dann muss man neue Datenpunkte mit aufnehmen. Wie häufig man ein Modell aktualisieren muss hängt von Zahl der Datenänderungen ab, der Größenordnung des Concept Drift, den Präzisionsanforderungen ebenso wie vom Umfang des Modells und der zur Verfügung stehenden Rechnerleistung. Nehmen wir beispielsweise ein Modell, dass auf Domain Generation Algorithm (DGA) Malware-Samples trainiert wurde. Auch wenn jeden Tag Hunderttausende neue DGA-Domänennamen erzeugt werden, bleibt das zugrunde liegende Prinzip immer das gleiche. Das Modell wird vielleicht monatlich aktualisiert oder immer dann, wenn eine neue DGA-Malware-Familie entdeckt wurde. Da dieses Modell nur vergleichsweise selten aktualisiert werden muss, kann man es sich leisten, es von Grund auf neu und auf Basis eines neuerlich ausgeglichen Datasets aufzubauen.
Das Benutzerverhalten anderseits ist eine fließende Größe, und die zugehörigen Profile müssen mindestens täglich aktualisiert werden um neue Trends zu erkennen und False Positives zu senken. Überwachte Modelle, die zusätzlich das Feedback von Analysten integrieren, brauchen noch wesentlich häufiger Updates, bevorzugt in Echtzeit. Schon allein um zu verhindern, dass ein Analyst sehr viele gleichartige Fälle untersuchen muss. Diese Anforderungen, gepaart mit dem schieren Volumen der zu analysierenden Daten treibt einen sehr schnell aus der Komfortzone strategischen Lernens hin zu Streaming-Analysen und Online-Lernmodellen wie Mondrian Forest, die sich schrittweise aktualisieren lassen. Einem Modell mehr Daten zur Verfügung zu stellen scheint zunächst ein guter Weg zu sein, um die Qualität des Modells zu verbessern. Das funktioniert allerdings nur solange die neu dazukommenden Daten die Diversität des Datasets erweitern und dem Modell inhaltlich neue Informationen geben. Diversität ist neben durchdachten Funktionen, gut eingestellten Parametern und der Kontrolle der Überanpassung eines Modells, einer der Schlüsselfaktoren für ein verallgemeinerbares Modell.
Doch trotz der pflichtbewussten Trennung von Trainigs- und Testdaten, trotz Kreuzvalidierung und anderen guten Absichten, beschränken sich die meisten verhaltensbasierten Modelle darauf, oberflächliche Funktionsähnlichkeiten wiederzugeben und nicht die zugrundeliegenden Charakteristika böswilligen Verhaltens. Solche Modelle funktionieren ganz wunderbar, wenn sie auf ein Verhalten stoßen anhand dessen sie trainiert wurden. Und sie versagen ganz jämmerlich, wenn sie auf ein Verhaltensmuster treffen, dem sie vorher noch nicht begegnet sind. Will man die Diversität steigern, muss man Daten unterschiedlicher Kunden, verschiedener Branchen und Industriezweige, Unternehmensgrößen und Regionen mit einbeziehen. Durch die Sensitivität von Daten in der Cybersicherheit kann man diese Datasets nicht direkt miteinander kombinieren. Man kann aber einen eleganten Umweg nehmen, den des Federated Learning. Federated Learning erlaubt das kooperative Lernen innerhalb eines geteilten Vorhersagemodells während die dazu notwendigen Trainingsdaten auf den entsprechenden Systemen verbleiben. So lassen sich individuelle Modelle sicher ausbalancieren, ohne dass man ein Master-Modell benötigt. Anders als bei vielen anderen Machine-Learning-Ansätzen braucht man dazu keine zentralisierten Trainingsdaten. Die Vertraulichkeit von Kundendaten bleibt gewahrt.
Glaubwürdigkeit
Wie bei jeder anderen neuen Technologie, steht und fällt die erfolgreiche Einführung von ML in der Cybersicherheit mit der Glaubwürdigkeit ihrer Resultate. Dazu muss man ein solches Programm von Grund auf aufbauen, von einfachen, leichter zu verstehenden Verhaltensindikatoren hin zu komplexen hierarchisch strukturierten Bedrohungsmodellen, die sich auf die Kill Chain von Attacken anwenden lassen. Die meisten Aspekte von unsupervised Learning wie Cluster, Pattern und Anomalien, sind einfach zu erfassen, zu visualisieren und zu validieren. Komplexe, auf maschinellem Lernen basierende Algorithmen wie Ensemble-Learning- oder Deep-Learning-Algorithmen bleiben potenziell eine Art „Black Box“. Vorhersagen zu erläutern, die auf Basis solcher Algorithmen getroffen wurden ist alles andere als trivial. Selbst für die DARPA (Defense Advanced Research Projects Agency) Anlass genug innerhalb der Community nach “Explainable Artificial Intelligence zu suchen.
Wenn man wie unserem Fall komplett neue Algorithmen entwickelt hat, um Vorhersagen zu erläutern, die unsere Ensemble-Learning-Methoden getroffen haben, ist das ein aufwendiges Verfahren. Aber es zahlt sich aus: Verstehen sorgt für Vertrauen. Das wiederum führt zu mehr Verlässlichkeit von ML-basierenden Ergebnissen, steigert die Produktivität und schaufelt Ressourcen frei, die anderer Stelle für wichtigere Aufgaben dringend gebraucht werden.
Zum Abschluss noch einige praktische Empfehlungen wie Sie maschinelles Lernen innerhalb eines Cybersicherheitsprogramms am besten nutzen:
- Integrieren Sie so viele Verhaltensindikatoren wie möglich um möglichst alle Anzeichen für ein böswilliges Verhalten zu erfassen.
- Nutzen Sie Vergleichsgruppenanalysen und hierarchisch strukturierte Bedrohungsmodelle um die Zahl der False-Positive-Meldungen zu senken.
- Entwickeln Sie Kill Chains anhand bereits bekannter Angriffsszenarien und ein „Catch-all“-Schema für die noch unbekannten.
- Sammeln Sie das komplette Feedback Ihrer Analysten – nicht nur Informationen zu bestätigten Positiv-Meldungen. Erstellen Sie auf dieser Basis Labels für die Datasets für überwachtes und schwach überwachtes Lernen.
- Sie sollten wissen, welche Metriken in den Modellen zum Tragen kommen, aktualisieren Sie Ihre Modelle dementsprechend um einen Concept Drift zu verhindern.
- Streben Sie nach möglich gut zu generalisierenden Modellen mittels durchdachter Funktionen und einer möglichst hohen Diversifizierung der Datasets.
- Einen Schritt nach dem anderen: Bauen Sie ein transparentes, verlässliches und gut verstandenes ML-Ökosystem auf. Schritt für Schritt.
Igor Baikalov ist Chief Scientist bei securonix.
Be the first to comment