Neue Wege zu mehr Sicherheit 07.09.2017, 10:14 Uhr

Malware-Prävention mit Machine Learning

Mathematisch-statistische Modelle auf Basis von Machine Learning beheben die Schwächen signaturbasierter Virenerkennung. Sie erkennen auch bislang unbekannte Malware.
(Quelle: Shutterstock / Valery Brozhinsky)
Dieser Artikel wurde von Detlev Pacholke verfasst, Senior Solution Manager Digital Workforce & Mobility bei NTT Security.
Die Problematik signaturbasierter Erkennung liegt auf der Hand: Auf diese Weise kann nur bereits bekannte und erfasste Malware bekämpft werden. Es kommt daher zu einem ständigen Wettlauf zwischen dem Erfassen und dem Entstehen neuer, noch nicht gesichteter Malware; ein Wettlauf, bei dem naturgemäss die Angreifer immer einen Schritt voraus sind. Oft müssen sie ihre Software nur geringfügig verändern, um unerkannt zu bleiben.
Aus diesem Grund wurden schon etliche alternative und ergänzende Verfahren entwickelt, so etwa Sandboxing, Micro-Virtualisierung oder Exploit Protection. Relativ neu im Markt sind Verfahren, die auf Machine Learning (ML) basieren, bei denen also Malware-Prozesse mit mathematisch-statistischen Modellen erkannt und verhindert werden sollen.
“„Mit Machine Learning kann der Angreifer nicht mehr einfach eine bestehende Malware leicht abwandeln.“„
Detlev Pacholke
Senior Manager Digital Workforce & Mobility bei NTT Security
Der amerikanische Hersteller Cylance war der erste, der eine solche Lösung anbot, mittlerweile gibt es auch andere. Im Unterschied zu signaturbasierten Verfahren kann damit auch unbekannte Malware identifiziert werden. Zudem kommen auch durch Verschlüsselung oder Packing geschützte Schädlinge ans Licht. Das Erkennen von Malware auf Basis von ML und das Verhindern der Ausführung basiert auf vier Phasen: sammeln, extrahieren, lernen und klassifizieren.

Daten sammeln

Auch beim Machine Learning beginnt die Analyse mit dem Sammeln von Daten, konkret von Dateien, die ausführbaren Code enthalten können. Darunter fallen zum Beispiel auch Microsoft-Office-Dokumente. Interessant sind vor allem Dateien mit den Endungen EXE, DLL, COM, PDF, JAVA, A, DOC, XLS und PPT. Diese Dateien erhält das Unternehmen über Feeds von Industriepartnern sowie aus öffentlichen und eigenen Datensammlungen.
Zwei Aspekte sind es vor allem, die bei der Datensammlung wichtig sind:
Grösse: Typischerweise sind die Dateien zwischen 1 und 5 Megabyte gross.
Vielfalt: Die Dateien decken eine grosse Vielfalt von Dateitypen und Dateierstellern ab.
Anschliessend werden die Dateien in die drei Kategorien „bekannt schädlich“, „bekannt unschädlich“ und „unbekannt“ eingeteilt.

Extrahieren

Nun werden aus den Dateien mittels Algorithmen Merkmale extrahiert. Das können simple Merkmale wie die Dateigrösse oder der verwendete Compiler sein oder auch komplexere
Eigenschaften wie die ersten logischen Transaktionen des ausführbaren Codes. Während bei signaturbasierten Verfahren nur ein Merkmal verwendet wird (nämlich der Hash-Wert), werden hier Tausende von Merkmalen erfasst, sodass damit beispielsweise auch die Art der Programmierung identifiziert werden kann.
Dadurch, dass so viele Merkmale bekannt sind, kann der Angreifer nicht mehr einfach einen „neuen“ Schadcode erstellen, indem er einen bisherigen leicht abwandelt. Mit einer derartigen Modifikation würde zwar eine neue Variante entstehen, für die keine Signatur bereitsteht – der Hash-Wert ändert sich ja – andere Merkmale haben sich jedoch nicht geändert.
Die Gesamtheit der Merkmale bildet die Basis für die mathematischen Modelle, die in den nächsten Schritten zur Identifizierung und Beurteilung konkreter Daten verwendet werden.

Lernen & Klassifizieren

Während des maschinellen Lernprozesses kristallisiert sich gleichzeitig das dafür am besten geeignete Modell heraus. Dabei werden zahlreiche Modelle parallel ausprobiert, einige verworfen und nur die effektivsten Modelle weiterent­wickelt. Dazu trainiert man die Modelle mit bekannten Malware-Dateien; Rückkopplungseffekte in diesem Lernprozess sorgen für weitere Verbesserungen.
Das finale Modell wird dann aus der Testumgebung in die Produktionsumgebung überführt. Die für die Modellbildung eingesetzten Algorithmen veröffentlichen die Anbieter dieser Methode allerdings nicht.
Die Tausenden von Eigenschaften jeder Datei werden nun überprüft, um Malware von erwünschten Dateien zu unterscheiden. Durch das Machine Learning entstehen Muster, die auch dann erkennbar bleiben, wenn es Abweichungen gibt, beispielsweise durch das Zippen einer Datei. Unerkannt bliebe hier nur ein Angreifer, der völlig neue Verfahren und ganz neue Werkzeuge verwenden würde, aber auch das nur bis zur ersten Identifikation.

Klassifizieren

Sind die Modelle vorhanden, so können sie in einer Engine, die der Anbieter lokal oder via Cloud bereitstellt, in Echtzeit zur Klassifizierung unbekannter Dateien vor der Ausführung verwendet werden. Das Ergebnis ist ein „Confidence Score“ für jede untersuchte Datei – ein Prozentwert, der angibt, wie verlässlich beziehungsweise gefährlich die Datei ist. Mit diesem Score kann ein Administrator über das weitere Schicksal der Datei entscheiden, sie also beispielsweise blockieren, überwachen oder freigeben. Eine derartige Analyse dauert nur Millisekunden und benötigt erheblich weniger Ressourcen – hinsichtlich RAM und CPU – als herkömmliche Analyseverfahren. Auch die täglichen Signatur-Updates entfallen hier.
Es stellt sich die Frage, was mit den Einschätzungen der Machine-Learning-Modelle geschehen soll. Als Richtlinie gilt: Sobald der Confidence Score niedriger als 20 Prozent ist, handelt es sich um Software, die man weiter untersuchen sollte. Bei gefährlichen Files muss es sich nicht unbedingt um Malware handeln – es können auch Administrations-Tools sein, die benutzt werden, um Sicherheitsrichtlinien oder Mechanismen zu umgehen oder auch, um Systeme zu missbrauchen. Mit dem Machine-Learning-Verfahren gibt es also auch keine Grauzone zwischen echter Malware und dem, was auf den Whitelists steht.

Mehrstufiger Prozess

Der Begriff Machine Learning zur Charakterisierung dieses Verfahrens ist etwas missverständlich, da das Lernen nur ein Schritt im ganzen Prozess ist. Der eigentliche Kern ist die Entwicklung merkmalgesteuerter Modelle. Model Based Protection wäre wohl ein treffenderer Begriff gewesen, aber Machine Learning ist nun mal eingeführt. Und worauf es ankommt, ist schliesslich, dass die Sache funktioniert.
In der Praxis wird man signaturbasierte Methoden nicht einfach durch Machine Learning ersetzen, sondern einen mehrstufigen Prozess einrichten. Dabei kann eine signaturbasierte Vorfilterung etwa mit Windows Defender erfolgen –  was dabei nicht erkannt wurde, wird vom ML-Verfahren übernommen. Das Schutzniveau lässt sich so deutlich erhöhen, auch Ransomware hat in diesem Umfeld kaum eine Chance.




Das könnte Sie auch interessieren