Artikel kostenlos lesen

(Un?)Bekannte (Un?)Bekannte : Grenzen aktueller Machine-LearningModelle bei der Malware-Abwehr

Bei aller berechtigten Begeisterung für aktuelle Einsatzmöglichkeiten von Machine-Learning bei der Malware-Bekämpfung darf man nicht übersehen, dass heutige Modelle auch deutliche Grenzen aufweisen. Die Forschung gibt jedoch bereits Anlass zur Hoffnung auf zukünftige Verbesserungen.

Lesezeit 11 Min.

Ethan M. Rudd, Colorado Springs (US/CO)

In Sachen Cybersecurity wird Machine-Learning (ML) gern als Geschenk des Himmels dargestellt, das uns ein göttliches Dasein ohne Malware-Signaturen oder andere statische Hilfsmittel ermöglichen soll. Die Hypothese lautet, dass ML-Modelle, wenn sie ausreichend Lerndaten erhalten, lernen können, allgemeine Konzepte wie „bösartig“ und „gutartig“ zu verallgemeinern.

Soweit dies zutrifft, funktionieren ML-basierte Anti-Malware-Systeme proaktiv, weil sie – basierend auf einer latenten Vorstellung von „bösartigem“ Verhalten, das sie erlernt haben – auch unbekannte Schadsoftware korrekt als solche kategorisieren können. Im Gegensatz dazu sind Signaturen von Natur aus reaktiv, weil man sie aus erfasster Malware konstruiert, nachdem bereits eine Reihe von Infektionen (oder zumindest erkannten Infektionsversuchen) erfolgt ist.

Nun gibt es zwar überzeugende Nachweise der Fähigkeit von ML zur Generalisierung neuer Malware-Arten und zahlreiche Beispiele dafür, dass Machine-Learning ein nützliches Tool für die Cybersecurity ist. Ebenso gibt es aber überzeugende Belege dafür, dass es sich dabei nicht um eine Wunderwaffe handelt und dass uns Signaturen noch eine ganze Weile erhalten bleiben dürften.

Dabei geht es wohlbemerkt nicht nur um ausgewählte Fehlerfälle und vage, unklare Aussagen über das Fehlen ordentlicher Daten, Kennzeichnungen und Muster. Es gibt nämlich ein viel grundsätzlicheres Problem bei der Formulierung von Machine-Learning-Modellen, das als erheblicher Konstruktionsfehler ausgelegt werden kann und „künstliche Intelligenz“ von tatsächlicher Intelligenz abgrenzt:

ML-Modelle sind darauf ausgerichtet, in der Zukunft betrieben zu werden und Entscheidungen über neue Eingabedaten zu treffen. Dennoch wurden sie ohne grundlegende Kenntnis von „Ungewissheiten“ trainiert! Sie „lernen“, bestimmte Muster unter der Annahme zu kategorisieren, dass die betreffenden Musterdaten einen umfassenden Überblick über das betrachtete Universum darstellen und dass diese Beobachtungen unveränderlich sind. Doch so funktioniert Intelligenz im richtigen Leben nicht: Menschen sind sich (unabhängig davon, wie intelligent sie sind) selten völlig sicher – und das zu Recht, denn meistens fehlen ihnen vollständige Informationen zur hundertprozentig korrekten Entscheidung.

Ungewissheit des Unerwarteten

Wenn das Unerwartete eintritt, kann das extrem verstörend sein, denn normale Modelle gelten dann nicht mehr. In seinem Bestseller „The Black Swan“ behauptet Nassim Taleb, dass aus diesem Grund ein großer Teil der Menschheitsgeschichte von unerwarteten seltenen Begebenheiten geprägt wurde. Modelle und Paradigmen, die bei vergangenen Ereignissen gut funktioniert haben, können daher nicht (unbegrenzt) auf die Zukunft extrapolieren werden.

Das lässt sich gut an zwei Ereignissen aus der jüngeren Vergangenheit illustrieren, welche die Welt grundsätzlich verändert haben:

  • die Terroranschläge vom 11. September 2001, die bis heute die Reisevorschriften und die Beteiligung der USA am Konflikt im Nahen Osten beeinflussen
  • die Immobilienkrise von 2007/2008, die zu einer beispiellosen weltweiten Finanzkrise geführt hat

Auch wenn Zero-Day-Cyber-Attacken nicht die gleichen Auswirkungen auf globaler Ebene haben, bedrohen sie doch milliardenschwere Unternehmenswerte oder sogar das Fortbestehen von Organisationen. Kurzum: Unerwartete seltene Ereignisse führen oft zu Situationen, in denen extrem viel auf dem Spiel steht. Daher sollte jedes intelligente System zumindest in der Lage sein, solche Ereignisse zu erkennen.

Wie Donald Rumsfeld es einst in einer Pressekonferenz formulierte: „Es gibt bekannte Bekannte; es gibt Dinge, von denen wir wissen, dass wir sie kennen. Wir wissen auch, dass es bekannte Unbekannte gibt, das heißt, wir wissen, dass es einige Dinge gibt, die wir nicht kennen. Aber es gibt auch unbekannte Unbekannte – diejenigen Dinge, von denen wir nicht wissen, dass wir sie nicht kennen. Und wenn wir uns die Geschichte unseres Landes und die anderer freier Länder anschauen, ist diese Kategorie vermutlich die schwierigste.“

Es liegt daher in unserem besonderen Interesse, zu wissen, was wir nicht wissen. Leider enthalten die meisten Machine-Learning-Modelle (einschl. „Deep Learning“) keinerlei Vorstellung von den „bekannten Unbekannten“ – geschweige denn, dass sie auf unbekannte Unbekannte vorbereitet wären. Man könnte auch sagen, dass es sich um abgeschlossene Modelle (Closed Set) handelt, die versuchen, in einer Welt zu funktionieren, die von Natur aus offen eingestellt ist (Open Set). Im Gegensatz dazu begegnen Menschen jeden Tag unbekannten Konzepten – es ist unsere Stärke, dass wir Unbekanntes von Bekanntem unterscheiden und somit lernen können, mit Neuem umzugehen.

Closed-minded AI?

Die Behandlung des Open-Set-Problems liegt
jenseits der Fähigkeiten der meisten Machine-Learning-Algorithmen, weil ihre Optimierungsbestrebungen nur darauf abzielen, trainierte Beispiele seltener falsch zu klassifizieren. Aus der Perspektive eines Risikomanagement-Modells betrachtet, wird das oft als „empirische Risikominimierung“ beschrieben, bei der das empirische Risiko proportional zu der Anzahl der falsch klassifizierten Schulungsbeispiele ist (vgl. [1]).

In einer Welt der fiktiven Closed-Set-Annahmen funktioniert die empirische Risikominimierung gut, aber in der echten Open-Set-Welt bedarf es mehr: Betrachten Sie einen Classifier, der darauf geschult ist, drei verschiedene Datenklassen gemäß der Zielsetzung der empirischen Risikominimierung zu unterscheiden und dazu Musterbereiche mit stückweisen linearen Begrenzungen in drei Unterbereiche mit unendlicher Ausbreitung segmentiert (Abb. 1).

Wie Abbildung 1 zeigt, hat das System drei Klassen von Daten gelernt: blaue Quadrate, grüne Dreiecke und rote Rauten – die Einfärbung der Bereiche kennzeichnet die Entscheidung des Classifiers. Dadurch werden die gelernten Datenklassen gut unterteilt, solange ausschließlich einzelne Punkte aus diesen (im Beispiel drei) Datenklassen sichtbar sind (im Bild links). Außerdem ist es bei dieser Vorgehensweise üblich, dass die Wahrscheinlichkeit der Klassenzugehörigkeit beziehungsweise der Zuverlässigkeitsgrad des Classifiers proportional zur Entfernung von der Entscheidungsgrenze innerhalb der Mitgliedsklasse eingestuft wird.

Wenn jedoch Daten aus einer neuen Klasse auftreten, werden diese einer der bekannten Klassen zugeordnet (mittleres Bild) – und wenn die neuen Punkte besonders weit weg von jeglichen Schulungsbeispielen liegen, werden sie sogar mit großer Wahrscheinlichkeit als einer der bekannten Klassen zugehörig klassifiziert. Folglich wird der Classifier nicht nur falsch sein – er wird sogar sehr falsch sein und gleichzeitig sehr von seiner Entscheidung überzeugt.

Das dritte (rechte) Bild in Abbildung 1 zeigt das eigentlich gewünschte System: Ein offen eingestellter Classifier, der darauf geschult ist, sowohl das empirische Risiko als auch das Open-Set-Risiko zu minimieren, würde zuverlässige Aussagen auf gekennzeichnete Bereiche mit ausreichender Nähe zum Schulungs-Set begrenzen.

Auch wenn dieses Beispiel einfach und niedrigdimensional ist und von einem linearen Classifier ausgeht, sind dennoch auch komplizierte, hoch-dimensionale, nicht-lineare Classifier (einschl. tiefgehender neuronaler Netze) anfällig für das Open-Set-Problem, weil es keinen Ausdruck im Optimierungsprozess gibt, der die Zuordnung eines nicht-gekennzeichneten Bereichs zu einer bestimmten bekannten Klasse sanktioniert.

Das linke Bild in Abbildung 2 zeigt eine plausible Darstellung, die von einem tiefergehenden neuronalen Netz erlernt wurde, welches das empirische Risiko minimiert, jedoch das Open-Set-Risiko nicht berücksichtigt. Auch hier können „neue“ Punkte leicht falsch klassifiziert werden (Bild Mitte). Die Dichte der Musterpunkte verringert sich im nicht-gekennzeichneten Bereich exponentiell mit der Ausbreitung, sodass es viel mehr „unbekannte“ Bereiche gibt, die fälschlicherweise als bekannt zugeordnet werden können.

Das Ideal ist im rechten Bild zu sehen, wo eine Gewichtung von einem empirischen Risiko und dem Risiko offener Bereiche den Classifier daran hindern würde, unbekannte Bereiche einer bekannten Kategorie zuzuordnen.

Zusammenfassend lässt sich festhalten, dass eine empirische Risikominimierung nicht ausreichend ist. Während verschiedene Arten von Fehlern nicht mehr auftreten, wenn ein komplexerer Classifier hinzugefügt wird, gibt es doch keinen Grund anzunehmen, dass dies das Open-Set-Problem entschärfen wird.

Abbildung 1

Abbildung 1: Beispiel der (Fehl-)Zuordnung von Daten durch einen linearen Classifier

Abbildung 2

Abbildung 2: Zuordnung von Daten durch ein neuronales Netz

Erfolgen die Entscheidungen des Machine-Learning-Algorithmus in Echtzeit?

Wenn der Scanprozess für Malware länger dauert als die Zeit, die der Schädling braucht, um Unheil anzurichten, bedeutet das zwar Erkennung, aber keinen Schutz. Einige Machine-Learning-Varianten dienen dazu, um nach einer Attacke die vorliegenden Daten zu sichten und die sprichwörtliche Nadel im Heuhaufen zu finden. Das mag gut für die nachfolgende Prävention sein, aber wenn es darum geht, Attacken zu stoppen, bevor sie zuschlagen, ist ein Algorithmus nötig, der innerhalb von Millisekunden agiert, nicht in Minuten oder Sekunden – es geht darum, eine Lösung zu haben, die im Idealfall im Memory-Cache abläuft und damit keine wertvolle Zeit mit dem Lesen von Daten verliert.

Sie sollten also überprüfen, ob die angestrebte Lösung in Echtzeit agiert und wie viel Zeit Entscheidungen benötigen. Ebenfalls entscheidend ist, was mit Performance und Genauigkeit passiert, wenn ein Rechner offline ist.

Welches Trainingsset nutzt der Algorithmus?

Die Effizienz jedes ML-Verfahrens hängt entscheidend von den Daten ab, mit denen es gefüttert wird – seinem sogenannten Training. Dabei gilt das alte Sprichwort „Wo Müll rein geht, kann auch nichts Gutes rauskommen.“ Wenn die gefütterten Daten zu praxisfremd und alt sind beziehungsweise keine realistischen Real-World-Dateien repräsentieren, hat es der Algorithmus schwer, verlässlich zu arbeiten, wenn es darum geht, Dateien außerhalb des Labors zu beurteilen.

Sie sollten also genau nachfragen, woher die Trainingsdaten stammen, was sie realistisch macht und wie sie aktuell gehalten werden.

Wie gut skaliert das Machine-Learning-System?

Wie bereits angemerkt, ist das ständige Sammeln relevanter Trainingsdaten und der Umgang mit einer immer größeren Datenmenge eine echte Herausforderung. Darüber hinaus müssen aber auch die verwendeten Modelle in der Lage sein, die ständig wachsende Datenmenge schnell zu verarbeiten, um zum Beispiel nicht die Update-Zeiten immer länger werden zu lassen. Auf der anderen Seite muss das Data-Set, das als Grundlage für ein ML-Modell dient, möglichst konstant in der Größe sein, auch wenn das Trainings-Set exponentiell wächst – sonst wird die Runtime-Performance immer schlechter.

Skalierbarkeit hat mehrere Variablen von der Größe des Trainings-Sets über den Zeitfaktor bis zum Erhalt eines kompakten Runtime-Data-Sets, ohne die Erkennungsrate zu gefährden. Lassen Sie sich daher historische Statistiken zeigen, wie sich Training- und Runtime-Performance entwickelt haben.

Hoffnungsschimmer

Obwohl es bei der Entwicklung von „wirklich“ intelligenten KI-Systemen weit größere Hürden gibt als nur das Open-Set-Problem, stellt sich doch die Frage, ob es möglich ist, Classifier zu definieren, die solch stupide Fehler nicht machen? Die Antwort lautet ja: Dies lässt sich erreichen, wenn ein realistischer Rahmen für das Risikomanagement umgesetzt wird, der eine ausreichende Gewichtung sowohl des empirischen Risikos (also des Risikos der falschen Klassifizierung eines Musters) als auch des Risikos offener Bereiche (also des Risikos der falschen Kennzeichnung unbekannter Bereiche) vornimmt (vgl. [2]).

Die Lösungen müssen lernen, sowohl die Daten in Grenzfällen zu klassifizieren als auch zu erkennen, wo keine Grundlage für eine Entscheidung gegeben ist. Einige Open-Set-Systeme haben diesen Weg schon bereitet – einschließlich der One-vs-Set-Maschine [2], der Weibull-calibrated-Support-Vector-Machine (W-SVM, [3]) und der Extreme-Value-Maschine (EVM, [1]). Diese Ansätze funktionieren, indem sie die Begrenzung des Risikos offener Bereiche ausdrücklich berücksichtigen und eine Validierung über Klassen hinweg verwirklichen – wobei im Training immer eine Klasse nach der anderen ausgelassen wird und diese Muster dann als „unbekannt“ behandelt oder Wahrscheinlichkeiten zur Musterberücksichtigung für eine bestimmte Klasse entworfen werden.

Ein größeres Interesse an der Open-Set-Klassifizierung hat sich jedoch erst in letzter Zeit entwickelt. Dies liegt möglicherweise daran, dass das Problem zwar an sich einfach ist, die Feinheiten der Formulierung jedoch etwas außerhalb des Bereichs des herkömmlichen Machine-Learnings liegen. Außerdem ist noch keine Anhängerschaft der Open-Set-Recognition entstanden, ganz im Gegensatz zu den „kontroversen Mustern/Modellen“ und der „Generalisierung“, die schon so weit zu Modeerscheinungen in der Machine-Learning-Community geworden sind, dass die zugehörige Forschung pedantisch, unbegründet und weitgehend ungeeignet wurde.

Es hat auch schon Ad-hoc-Ansätze gegeben, die theoretisch das Open-Set-Risiko begrenzen – häufig unter Einsatz einer Wahrscheinlichkeit der Schätzung der Datendichte, mit anschließender Zurückweisungsoption bei der endgültigen Klassifizierung. Solche Techniken sind jedoch häufig nachträgliche Einfälle bei der Durchführung und die Begrenzungen der „Open Sets“ sind dann oft unzusammenhängend und schlecht begründet – teilweise weil die Wahrscheinlichkeit der Klassenzugehörigkeit und die Dichte der Wahrscheinlichkeit der Klassenmuster nicht das Gleiche sind.

Nutzungsmöglichkeiten

Dabei gäbe es im Bereich der Sicherheit schon heute zahlreiche Einsatzgebiete für Open-Set-Classifier: Sie könnten beispielsweise viele False Positives und False Negatives entschärfen, die bisher in unbekannten Bereichen des hypothetischen Raums liegen. Denn wenn ein Classifier beispielsweise forciert wird, eine Entscheidung zu einer völlig fremden Art von Code zu treffen, kann dies zu seltsamen Ergebnissen führen: So haben etwa viele etablierte Anbieter im Herbst 2017 eine übersetzte „Hello world“-Binary als bösartig erkannt – vermutlich, weil das Programm viel zu simpel war, um Ähnlichkeit mit einem anderen, im Schulungsmaterial vertretenen Codebeispiel zu haben. Umgekehrt könnten Zero-Day-Angriffe leicht übersehen werden, weil ihre Code-/Verhaltensmuster einfach wesentlich von bekannten Mustern abweichen.

Ein Open-Set-Classifier kann diese potenziell erkennen und für eine weitere Überprüfung kennzeichnen, gegebenenfalls Signaturen erstellen und letztlich den Classifier aktualisieren. Ganz allgemein kann ein Open-Set-Classifier als Tool dienen, um falsche Klassifizierungen von „bekannten“ Daten zu erkennen – woraus sich folgern ließe, dass ein klassischer Classifier schlecht trainiert ist oder mehr Beispieldaten und vor allem Daten einer bestimmten Art benötigt.

Ein ähnliches Problem ist beispielsweise die Situation, dass aus der Perspektive eines Open-Set-Modells besonders bei tiefgehenden neuronalen Netzen „irreführende Muster“ während der Klassifizierungsentscheidungen für nicht-unterstützte Bereiche auftreten [4]. Diese sind leicht zu erkennen und können von einem Open-Set-Classifier als „unbekannt“ eingeordnet werden.

Kann man die Erkennung mit Open-Set-Classifiers dahingehend erweitern, dass sich Muster in „bekannte Unbekannte“ umwandeln lassen? Vielleicht ja, vielleicht auch nicht – diese Frage bleibt vorerst noch ein interessantes Thema für die zukünftige Forschung.

Dr. Ethan M. Rudd ist Data Scientist bei Sophos.

Literatur

[1] Ethan M. Rudd, Lalit P. Jain, Walter J. Scheirer, Terrance E. Boult, The Extreme Value Machine, ForschungsPapier, März 2017, verfügbar über https://arxiv.org/abs/1506.06112
[2] Walter J. Scheirer, Anderson Rocha, Archana Sapkota, Terrance E. Boult, Towards Open Set Recognition, Forschungs-Papier, Oktober 2012, verfügbar über www.wjscheirer.com/papers/wjs_tpami2013_openset.pdf
[3] Walter J. Scheirer, Lalit P. Jain, Terrance E. Boult, Probability Models for Open Set Recognition, ForschungsPapier, März 2014, verfügbar über www.wjscheirer.com/papers/wjs_tpami2014_probability.pdf
[4] Anh Nguyen, Jason Yosinski, Jeff Clune, Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images, Forschungs-Papier, Juni 2015, verfügbar über http://anhnguyen.me/project/fooling/ bzw. www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Nguyen_Deep_Neural_Networks_2015_CVPR_paper.pdf

Diesen Beitrag teilen: