In der Security-Branche wird der Begriff „Machine Learning“ (ML) oder „maschinelles Lernen“ aus verschiedenen Gründen so inflationär gebraucht, dass oft gar nicht mehr klar ist, was damit gemeint ist. Am erfolgsversprechendsten kommt das sogenannte „Deep Learning“, eine fortgeschrittene ML-Form, zum Einsatz.

Deep Learning ähnelt der Funktionsweise des menschlichen Gehirns am ehesten, da zahlreiche Schichten von Neuronen daran beteiligt sind. Daher stammt auch der Begriff „künstliches neuronales Netz“, denn „künstlich“ bedeutet in diesem Fall, dass es sich um eine Nachahmung des neuronalen Netzes des menschlichen Gehirns handelt: Es nimmt wie ein neuronales Netz im Gehirn Input auf, manipuliert diesen auf eine bestimmte Weise und gibt Informationen an andere Neuronen aus. Der größte Unterschied besteht darin, dass das menschliche Gehirn rund 100 Milliarden Neuronen umfasst, während ein künstliches neuronales Netz nicht einmal einen Bruchteil davon aufweist.

Wie bei anderen ML-Formen finden auch beim Deep Learning zum Lernen mathematische Modelle Verwendung, ohne dass man diese in Bezug auf die Besonderheiten eines Problems programmieren müsste: Auf Basis riesiger Datenmengen entsteht ein allgemeines Modell, das in der Lage ist, die Daten präzise zu beschreiben. Im Fall von IT-Sicherheitslösungen kann es sich bei solchen Daten um Schadsoftware, schadhafte URLs oder sonstige Sicherheitsprobleme handeln.

Rund 80 Prozent der Arbeit, die in das Erkennen von Cyber-Angriffen auf der Basis maschinellen Lernens einfließt, besteht im sogenannten Feature-Engineering, also der Identifikation der Werte, die aus Binärdateien, Datenpaketen und anderen Signalen zu extrahieren sind, um als Input für selbstlernenden Systeme zu dienen. Sogar Data Scientists von Unternehmen, die behaupten, Schadsoftware mittels „hochmoderner künstlicher Intelligenz“ aufzuspüren, stecken vermutlich die meiste Zeit in den wenig aufregenden „Trial and Error“-Prozess des Feature-Engineerings.

Auch Sophos setzt Feature-Engineering ein. In den vergangenen zwei Jahren sind jedoch erhebliche Investitionen in die Forschung geflossen, um dieses Paradigma zu überwinden. Dadurch entfiel bei vielen Projekten der Aufwand für die Merkmalsextraktion: Tiefe neuronale Netze lernen automatisch, Merkmale zu extrahieren, indem sie Eigenschaften der Daten identifizieren. Die erhöht die Erkennungsleistung und beschleunigt den Forschungs- und Entwicklungsprozess erheblich.

Veranschaulichen lässt sich die Anwendung des merkmalslosen ML-Ansatzes am Beispiel der Erkennung schädlicher URLs. Die folgenden Ausführungen konzentrieren sich ausschließlich auf die URLs selbst und nicht auf den Content, zu dem die URLs weiterleiten. Drei Beispiele von Phishing-URLs machen das Problem begreifbar:

1. tarapotosecurity.com/updatepaypal/1a78275f842589a4902ebcdf769559de/mpp/date/websc-billing.php

2. bealesgifts.com/paypal-support-team/new-update/2016/login?cmd=_signin&dispatch=0d505bd63bb9d2b1c70ec1d2d&locale=en_us

3. payment-paypal.com.de/kundenservice/konfliktloesung/anmelden.php

Die URLs sehen zwar alle unterschiedlich aus, haben jedoch eines gemeinsam: Sie geben vor, den Nutzer an eine authentische, von PayPal betriebene Website weiterzuleiten. Maschinelles Lernen erlaubt es, solche gefälschten oder schädlichen URLs leichter zu identifizieren. Traditionell würde man damit beginnen, die positiven Merkmale von URL-Strings zu identifizieren, um damit das ML-Modell zu füttern. Ein solches Merkmal könnte etwa die Anzahl der Punkte im String sein, die Länge der URL oder das Vorkommen bestimmter Muster im String.

Der merkmalslose Ansatz des Deep Learning funktioniert anders: Statt mit großem Aufwand manuell positive Merkmale zu identifizieren, entwickelt man ein Modell, das sich trainieren lässt, hochwertige Merkmale selbst zu extrahieren. Bemerkenswert ist, dass die Merkmale, die das Modell zu extrahieren lernt, besser sind als die Merkmale, die man manuell entwickeln könnte.

Im ersten Schritt des Erfassungsprozesses werden Zeichen als hochdimensionale Einbettungsvektoren kodiert. Die Vektoren, denen das neuronale Netz Zeichen zuzuordnen lernt, kann man sich ungefähr als die Bedeutung vorstellen, die das neuronale Netz den einzelnen Zeichen gibt. Veranschaulichen lässt sich dies durch die Darstellung der Beziehungen, die das neuronale Netz zwischen den Zeichen einer URL annimmt. Das Netz hat nach dem Training gelernt, dass Großbuchstaben, Steuerzeichen sowie Kleinbuchstaben und Ziffern jeweils eine eigene Gruppe bilden.

Schädliche URLs: Erkennungsrate des neuronalen Netzwerks (grüne Linie) im Vergleich zu zwei ML-Ansätzen mit Feature-Engineering (X-Achse logarithmisch). Bild: Sophos

Anschließend kommen sogenannte Faltungsfilter („Convolutional Filters“) zum Einsatz. Faltungsfilter sind Matrizen, die man über die Sequenz aus Einbettungsvektoren „gleiten“ lässt. Sie geben in jedem Schritt einen numerischen Wert aus, der anzeigt, inwieweit der Filter zur jeweiligen Untersequenz passt („Matching“). In diesem neuronalen Netz kommen mehrere Hundert Filter unterschiedlicher Länge zum Einsatz. Im Laufe des Trainings lernen die Filter, Merkmale zu erkennen.

Klassifizierung

Nachdem das neuronale Netz seine Faltungsfilter auf den Datensatz des URL-Strings angewandt hat, besteht seine nächste Aufgabe darin, anhand des Filter-Outputs zu berechnen, mit welcher Wahrscheinlichkeit es sich um eine schädliche URL handelt. Erreichbar ist dies durch eine Reihe vorwärtsgerichteter Neuronenschichten. Bei dieser klassischen Form eines neuronalen Netzes sind die Neuronen in mehreren Schichten angeordnet, wobei jede Einheit in jeder Schicht mit jedem Neuron in der vorherigen Schicht und jeder Einheit in der nächsten Schicht verknüpft ist. Die letzte Schicht besteht aus einem einzigen Neuron. Dieser gibt einen Zahlenwert aus, anhand dessen sich ablesen lässt, mit welcher Wahrscheinlichkeit es sich bei der Eingabe-URL um eine schädliche URL handelt.

Das neuronale Netz hat gelernt, Zeichen einzubetten, nützliche Merkmale durch den Einsatz von Faltungsfiltern zu identifizieren und auf Grundlage dieser Merkmale die Wahrscheinlichkeit der Schadhaftigkeit einer URL zu berechnen. Nun lautet die große Frage: Ist der merkmalslose Ansatz leistungsstärker als ein traditioneller Machine-Learning-Ansatz, den Experten mit Merkmalen gefüttert haben? Die Antwort lautet: ja. Das Bild auf Seite 54 zeigt die Beziehung zwischen der Erkennungsrate und der Falsch-Positiv-Rate für drei Modelle. Die grüne Linie markiert die Performance des merkmalslosen Ansatzes. Die blaue und die rote Linie zeigen die Ergebnisse zweier anderer Methoden, bei denen komplexe Merkmale manuell entwickelt wurden. Der merkmalslose Ansatz ist den beiden anderen an jedem Punkt des Diagramms überlegen.

Dem Menschen überlegen

Deep Learning war anderen Machine-Learning-Modellen wie Random Forest, K-Means Clustering oder Bayes’schen Netzen bereits in der Vergangenheit durchwegs überlegen. Es benötigte aber zur Erstellung eines effektiven Modells riesige Datenmengen und eine hohe Rechenleistung, die Modelle lagen im GByte-Bereich. Das aktuelle Trainingsmodell im Beispiel ist kleiner als 20 MByte und benötigt nur selten Updates. In der Cloud trainieren die Sophos Labs das Modell kontinuierlich weiter und prüfen diese Entscheidungsgrenze mit neuen, unbekannten Malware-Samples. Diese Entwicklung lässt nun ganz andere Einsatzmöglichkeiten zu.

Deep Learning ermöglicht die automatische Erkennung relevanter Eigenschaften und von deren Abhängigkeiten untereinander, was Menschen in dieser Komplexität nicht bewältigen könnten. Auf diese Weise kann das Deep-Learning-Modell auch Malware erkennen, die andere ML-Engines übersehen. Deep Learning skaliert zudem problemlos auf Hunderte Millionen Trainings-Samples.

Michael Veit ist Security-Experte bei Sophos, www.sophos.com.