Malware-Prävention durch Machine Learning - Trotzdem erkannt.

Autor: Detlev Pacholke, Senior Solution Manager Digital Workforce & Mobility bei NTT Security
Quelle: Computerworld 6/2017

Die Schwächen signaturbasierter Malware-Erkennung sind bekannt. Schädliche Files lassen sich aber auch mit mathematisch-statistischen Modellen identifizieren.

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 eine Reihe 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 mathematischstatistischen Modellen erkannt und verhindert werden sollen. Der amerikanische Hersteller Cylance war der Erste, der eine solche Lösung anbot, mittlerweile gibt es auch andere. Im Unterschied zu den signaturbasierten Verfahren kann damit auch bislang 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.

1. 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 z. B. 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 der Hersteller über Feeds von Industriepartnern sowie aus öffentlichen und eigenen Datensammlungen. Folgende Aspekte sind bei der Datensammlung wichtig:

  • Grösse: Die Dateien sind typischerweise 1 bis 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.

2. 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.

3. Lernen

Während des maschinellen Lernprozesses kristallisiert sich gleichzeitig das dafür am besten geeignete Modell heraus. Dabei werden zahlreiche Modelle parallel ausprobiert, einigeverworfen und nur die effektivsten Modelle weiterentwickelt. 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 dieserMethode allerdings nicht.

Die Tausenden von Eigenschaften jeder Datei werden nun überprüft, um Schadcode 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.

4. 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ührungverwendet 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 leider 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 natürlich die signaturbasierenden Methoden nicht einfach durch das ML-Verfahren ersetzen, sondern einen mehrstufigen Prozess einrichten. Dabei kann eine signaturbasierende Vorfilterung etwa mit Windows Defender erfolgen, und was dabei nicht erkannt wurde, wird vom ML-Verfahren übernommen. Das Schutzniveau lässt sich so deutlich erhöhen und auch Ransomware hat in diesem Umfeld kaum noch eine Chance.

Fachartikel lesen >