Sicherheitsschwächen von maschinellen Lernverfahren
Maschinelles Lernen hat sich in den letzten Jahren zu einer der wichtigsten Technologien entwickelt. Besonders die großen amerikanischen Unternehmen sehen darin riesiges Potential und investieren enorme Summen. Für einige stellt "AI first" sogar die neue Firmenstrategie dar. Beeindruckende Fortschritte im Bereich der Bild- und Spracherkennung innerhalb der letzten Jahre haben Phantasien beflügelt, dass schon bald der Traum einer künstlichen Superintelligenz Realität werden kann. Trotz dieser großen Fortschritte ist aber noch immer nicht sehr viel über die Sicherheit dieser Systeme bekannt. Die Forschung befindet sich hier noch am Anfang. Dieser Artikel gibt einen Überblick, welche Angriffsmöglichkeiten existieren und wie sich Verfahren des maschinellen Lernens austricksen und täuschen lassen.
Geschichte: Angriffe auf Spamfilter
Schon mehr als 15 Jahre wird maschinelles Lernen bereits zur Erkennung von Spam eingesetzt. Nur so sind große E-Mail Provider wie Microsoft, Google, GMX und WEB.DE in der Lage, ihre Nutzer vor diesen unerwünschten und oftmals gefährlichen E-Mails zu schützen.
Basierend auf den E-Mails, die ein Nutzer erhält, wird ein statistisches Modell erstellt, mit dem die in einer E-Mail vorkommenden Wörter analysiert werden. Viele der einfachen Filter basieren auf Bayes' Theorem [1]. Dabei handelt es sich um einen Satz aus der Wahrscheinlichkeitstheorie, der dabei hilft, bedingte Wahrscheinlichkeiten zu berechnen. Das erweist sich als sehr nützlich. Denn um die Spamwahrscheinlichkeit einer E-Mail zu berechnen, bestimmt der Filter zunächst für jedes einzelne Wort die bedingte Wahrscheinlichkeit, dass eine E-Mail Spam ist, "wenn" das entsprechende Wort in einer E-Mail vorkommt. Mit der vereinfachten Annahme, dass alle Wörter unabhängig voneinander sind, berechnet sich die Gesamtwahrscheinlichkeit anschließend aus dem Produkt dieser Einzelwahrscheinlichkeiten.
Die Filter lernen regelmäßig dazu, weil der Nutzer nicht erkannten Spam (false negatives) in einen speziellen Spamordner hinein verschiebt und falsch klassifizierte, legitime E-Mails (false positives) aus diesen Ordner heraus verschiebt.
Solche lernenden Filter funktionierten zu Beginn noch sehr gut. Das änderte sich jedoch mit der Zeit, da Spammer die Funktionsweise der Filter genauer analysierten und zunehmend besser verstanden. Sie begannen Techniken anzuwenden, die dazu führten, dass Spam-E-Mails häufiger als legitime E-Mails klassifiziert wurden. Anstelle von Text verwendeten sie teilweise Bilder, die sie in die Spam-E-Mails eingebettet haben. Die E-Mails enthielten dadurch keine Wörter mehr, die der Filter analysieren konnte. Eine weitere beliebte Technik, die auch heute noch sehr gerne verwendet wird (insbesondere bei Phishing), besteht darin, bestimmte Buchstaben durch ähnlich aussehende Buchstaben zu ersetzen. Je nach verwendeter Schriftart ist zum Beispiel der Unterschied zwischen einem kleinen "L", einem großen "i" und einer Eins kaum zu erkennen. Dank der weiten Verbreitung von UTF-8 stehen heute sehr viele gleich aussehende Buchstaben zur Verfügung. Mit dieser Technik können Wörter erzeugt werden, die für den Menschen gleich aussehen, die für die Maschine aber eine unterschiedliche Bedeutung haben. Zum Beispiel hat das Wort "VIAGRA" in der Regel eine sehr hohe Spamwahrscheinlichkeit. Das Wort "V1AGRA" allerdings könnte für den Filter unbekannt sein und deshalb mit einer geringeren Spamwahrscheinlichkeit versehen werden.
Heutzutage reicht für eine zuverlässige Spamerkennung die Analyse der Wörter allein nicht mehr aus. Die Schwächen eines solchen Filters sind zu offensichtlich und können deshalb sehr leicht ausgenutzt werden. Heutige Spamfilter sind deshalb wesentlich komplexer und es fließen viele weitere Faktoren in eine Entscheidung ein. Viele dieser Faktoren sind geheim. Deshalb ist es für Spammer schwieriger geworden, ausnutzbare Schwachstellen ausfindig zu machen. Dieser Ansatz ist vergleichbar mit "Security by Obscurity". Sicherheit soll hier durch die Geheimhaltung der Funktionsweise erreicht werden. Auch wenn dieses Konzept im Allgemeinen nicht zu empfehlen ist, ist es zur Realisierung eines Spamfilters inzwischen unverzichtbar.
Bilderkennung
In den häufigsten Fällen bieten Komplexität und "Security by Obscurity" jedoch keinen nennenswerten Schutz. Dies trifft auch auf maschinelles Lernen zu. Aktuelle Modelle, wie sie zum Beispiel bei der Bilderkennung eingesetzt werden, können aus bis zu mehreren 100 Millionen Parametern bestehen. Allein aufgrund dieser hohen Anzahl an Parametern sind diese Modelle derart komplex, dass sie nur noch sehr schwer zu analysieren sind. Dadurch wird auch die Suche nach möglichen Schwachstellen extrem erschwert. Nichtsdestotrotz wurden in der Vergangenheit immer wieder unerwartete Schwachstellen auch in den komplexesten Modellen gefunden und im Moment weiß niemand, welche Schwachstellen noch in ihnen schlummern.
State-of-the-art-Systeme verwenden heutzutage Deep Neural Networks (DNN). Bei der Bilderkennung sind Convolutional Neural Networks (CNN) sehr weit verbreitet. Ein CNN ist eine spezielle Art eines Deep Neural Networks mit einer für die Bilderkennung optimierten Architektur. Ein solches Netzwerk kann man sich als eine einstellige, parametrisierte Funktion vorstellen, die ein Bild als Eingabe erhält und als Ausgabe eine Kategorie (häufig auch als Klasse bezeichnet) liefert. Die Parameter dieser Funktion werden während einer Trainingsphase anhand von Beispielbildern ermittelt, zu denen die korrekte Kategorie bereits bekannt ist. Diese Art des Trainings wird auch als überwachtes Lernen (supervised learning) bezeichnet. Bei einem Katzendetektor existieren zum Beispiel nur zwei Klassen. Die Klasse der Katzenbilder und die Klasse der Nicht-Katzenbilder. Es handelt sich hierbei um binäre Klassifikation. Sind mehr als zwei Kategorien als Ausgabe möglich, handelt es sich um Mehrklassen-Klassifizierung.
CNNs bestehen aus unterschiedlichen, hintereinander angeordneten Layern. Während die in den 1990er Jahren beliebten klassischen Neural Networks aus lediglich drei bis vier Layern bestehen, können CNNs aus mehreren hundert Layern bestehen (daher der Name Deep Neural Networks). Der erste Layer nimmt das Bild entgegen und führt bestimmte Berechnungen auf den Bilddaten aus. Das Ergebnis wird zum zweiten Layer weitergegeben. Auch dieser führt wieder einige Berechnungen aus und gibt das Ergebnis an den dritten Layer weiter. Das geht so weiter bis der letzte Layer erreicht wird. Auf die Ausgabe des letzten Layers wird schließlich ein Softmax angewendet. Dabei handelt es sich um eine Funktion, die eine Wahrscheinlichkeitsverteilung berechnet und so jeder möglichen Kategorie eine Wahrscheinlichkeit zuweist. Das Bild wird der Kategorie mit der höchsten Wahrscheinlichkeit zugeordnet.
Von den vielen Layern, aus denen ein CNN besteht, spielen die Convolutional Layer eine wichtige Rolle. Diese bestehen aus mehreren Filtern, wobei jeder Filter ein bestimmtes Muster (Feature) in der Eingabe erkennt. Während ein Filter zum Beispiel horizontale Kanten erkennt, erkennt ein anderer Filter vertikale Kanten. Wie bei einem Sliding Window werden die Filter auf kleine Ausschnitte der Eingabe angewendet. Wird ein Feature an einer Position erkannt, liefert der Filter einen hohen Wert als Ausgabe. Wird kein Feature erkannt, liefert der Filter einen kleinen Wert. Es entsteht für jeden Filter eine Feature Map (eine zweidimensionale Matrix), in der für jede Position in der Eingabe vermerkt ist, ob ein Feature von dem Filter erkannt wurde. Die Feature Maps aller Filter eines Layers dienen als Eingabe für den nächsten Layer.
Pooling Layer komprimieren die Größe der Eingabe. Dazu reduzieren sie die Anzahl der Parameter, damit die Komplexität und die für das Lernen notwendige Rechenleistung nicht explodieren. Gleichzeitig entfernen sie redundante Informationen. Ein Pooling Layer kann auch helfen, das Netzwerk invariant gegenüber kleinen Verschiebungen der Eingabe zu machen.
Am Ende eines CNN folgen einige Dense Layer. Wie bei einem klassischen Neural Network ist jedes Neuron in einem solchen Layer mit jedem Neuron des vorherigen und des nachfolgenden Layers verbunden. Auf die Ausgabe des letzten Dense Layers wird zur Berechnung der Wahrscheinlichkeitsverteilung die Softmax-Funktion angewendet.
Man kann beobachten, dass in den ersten Layern sehr einfache Features wie Kanten erkannt werden. Diese Features werden in den folgenden Layern zu immer komplexeren Features kombiniert. Kanten werden zu Formen kombiniert, Formen zu einfachen Objekten und einfache Objekte zu noch komplexeren Objekten.
Bilderkennung mit Adversarial Examples täuschen
Es wurde gezeigt, dass unterschiedliche Angriffe existieren, um diese Netzwerke zu täuschen. Viele Angriffe haben das Ziel, das Netzwerk zu einer Falschklassifizierung zu bringen. Sehr beeindruckende Ergebnisse lassen sich mit sogenannten Adversarial Examples erzielen. Hier wird ein Bild vom Angreifer leicht modifiziert. Einzelne Pixel werden so verändert, dass die Änderungen für das menschliche Auge nicht sichtbar sind. Die Änderungen führen aber dazu, dass das ursprünglich korrekt klassifizierte Bild vom gleichen Netzwerk als etwas völlig anderes klassifiziert wird. Die Zielkategorie kann dabei vom Angreifer beliebig gewählt werden.
Die häufigsten Verfahren generieren Adversarial Examples, indem sie beliebige Pixel modifizieren [2,3]. Dadurch erhöht sich allerdings auch das Rauschen in einem Bild. Ein Adversarial Example ist somit unter Umständen leichter zu erkennen und lässt sich gegebenenfalls mit Hilfe einer Rauschunterdrückung unschädlich machen.
Aus diesem Grund wurden in der Vergangenheit diverse Techniken entwickelt, um das entstehende Rauschen zu minimieren. Adversarial Examples lassen sich zum Beispiel auch durch Deformationen erstellen [4,5]. An bestimmten Stellen wird das Bild minimal verändert, einzelne Pixel werden dabei verschoben. Eine andere Technik versucht, harmonische Änderungen an den Pixeln vorzunehmen [6], so dass keine abrupten Sprünge zwischen den Pixeln entstehen, die sich als Rauschen bemerkbar machen. Wieder ein anderes Verfahren [7] erzeugt Bilder, bei denen Farbe und Sättigung aller Pixel um jeweils den gleichen Betrag verschoben werden. Objekte im Bild bekommen dadurch eine andere Farbe. Es sind aber immer noch die ursprünglichen Objekte erkennbar.
Alle diese Entwicklungen haben das Ziel, Adversarial Examples entweder sehr robust zu machen oder ihre Erkennung zu erschweren, so dass sie möglichst viele Abwehrmaßnahmen umgehen können. Zwischen denen, die Adversarial Examples generieren und denen, die Abwehrmaßnahmen entwickeln, ist in den letzten Jahren ein spannendes Wettrennen entstanden. Sobald ein neues Verfahren vorgestellt wird, um bestimmte Adversarial Examples zu erkennen oder unschädlich zu machen, verstreichen häufig nur wenige Wochen, bis eine Methode entwickelt wird, die auch dieses Verfahren wieder umgehen kann. Inzwischen ist es möglich, extrem robuste Adversarial Examples zu erstellen. Diese bleiben selbst nach der Anwendung einer Vielzahl von unterschiedlichen Bildtransformationen erhalten. Dazu zählen zum Beispiel Transformationen, die die Helligkeit oder den Kontrast eines Bildes ändern, die Rauschen einem Bild hinzufügen oder Rauschen entfernen, oder die das Bild unterschiedlich zuschneiden, bevor es dem Netzwerk übergeben wird. Selbst Ausdrucke von Adversarial Examples werden weiterhin falsch klassifiziert. Adversarial Examples können für eine Vielzahl weiterer Transformationen erstellt werden.
Selbst dreidimensionale Adversarial Examples sind möglich, wie Athalye et al. [8] erstmals im Jahre 2017 gezeigt haben. Das Team hat eine Schildkröte mit einem 3D-Drucker erstellt und diese zunächst unverändert von einer Bilderkennung aus unterschiedlichen Entfernungen und Blickwinkeln klassifiziert. Wie zu erwarten war, erkannte das Netzwerk diese Schildkröte häufig korrekt als Schildkröte. Es machte allerdings auch einige Fehler. Nach diesem Experiment hat das Team die Textur der Schildkröte leicht modifiziert ohne die Form zu verändern. Die Änderungen waren an einigen Stellen zwar bei genauer Betrachtung sichtbar, allerdings waren sie so gering, dass der Gesamteindruck unverändert war. Sie haben die gleiche Bilderkennung verwendet, um die Schildkröte mit veränderter Textur zu klassifizieren. Die Schildkröte wurde nun sehr viel zuverlässiger klassifiziert. Jedoch nicht als Schildkröte, sondern wie von den Autoren beabsichtigt als eine Waffe. Die Forscher haben dazu ein Video angefertigt, welches online verfügbar ist [9].
Andere Angriffe
- Gesichtserkennung täuschen: Neben Adversarial Examples existieren weitere, oftmals auf Adversarial Examples basierende Methoden, um eine Bilderkennung zu täuschen. Sharif et al. [10] haben im Jahre 2016 ein Brillengestell entwickelt, wodurch die Person, die diese Brille trägt, von einer Gesichtserkennung als eine andere Person erkannt wird. Dies kann eine beliebig gewählte Person sein. Das Brillengestell hat ein auffälliges buntes Muster. Würde aber eine Person ein solches Brillengestell aufhaben, würde höchstwahrscheinlich keiner davon ausgehen, dass gerade ein Angriff auf eine Gesichtserkennung stattfindet, da ein buntes Brillengestell nichts ungewöhnliches ist. Das Brillengestell kann zum Beispiel genutzt werden, um sich vor einer Überwachung zu verstecken, ohne dass jemand Verdacht schöpft.
- Adversarial Patch: Ende 2017 wurde der Adversarial Patch [11] vorgestellt. Das ist ein Sticker, der ausgedruckt wird und der eine Bilderkennung immer dazu bringt, einen vom Angreifer gewählten Gegenstand zu sehen. Es spielt keine Rolle, was für eine Szene angegriffen wird und wo der Sticker platziert wird. Sobald der von den Forschern entwickelte Sticker zu sehen ist, sieht die Bilderkennung immer einen Toaster. Dieser Sticker ist sehr robust, das heißt, er überlebt sehr viele Bildtransformationen. Er ist universell, da jede Szene angegriffen werden kann und der Angriff kann offline zu Hause vorbereitet werden, wodurch das Risiko für den Angreifer, entdeckt zu werden, minimiert wird.
- Ein-Pixel-Angriff: Für sehr kleine Bilder (16x16 Pixel) haben Su et al. [12] gezeigt, dass es oftmals schon ausreicht, nur ein Pixel zu modifizieren, damit das Bild als etwas anderes klassifiziert wird. Das modifizierte Pixel hebt sich in der Regel zwar deutlich von den anderen Pixeln hervor. Dennoch würden viele vermutlich nicht von einem Angriff auf eine Bilderkennung ausgehen, da das Pixel wie ein typischer Sensorfehler aussieht.
- Audio adversarial examples: Einige der bisher entwickelten Angriffstechniken lassen sich allerdings nicht nur verwenden, um Bilderkennungssysteme anzugreifen. Im Jahr 2018 haben Carlini et al. [13] einen Angriff auf ein Audio-System demonstriert, bei dem ein Speech-to-text transcription Neural Network (ein Netzwerk, welches Sprache in Text umformt) mit Hilfe von Audio Adversarial Examples angegriffen wird. Die Idee ist die gleiche wie bei Adversarial Examples für Bilder. Man nimmt ein beliebiges Signal, welches das Netzwerk korrekt übersetzt und fügt diesem Signal ein bestimmtes, nicht hörbares Rauschen hinzu. Das Netzwerk übersetzt dieses modifizierte Signal jedoch in einen völlig anderen Text, der vom Angreifer beliebig gewählt werden kann. Ein Angreifer könnte das ausnutzen, um versteckte Befehle an Geräte wie Alexa, Siri oder Google Home zu schicken.
Hintertüren
Machine-Learning-Verfahren lassen sich aber nicht nur mit manipulierten Eingaben täuschen. Es ist auch möglich, sie während des Lernens zu manipulieren. So lassen sich zum Beispiel Hintertüren in ein Modell über manipulierte Trainingsdaten integrieren. Ist das Training abgeschlossen, verstecken sich diese Hintertüren irgendwo in den Millionen Parametern eines Modells. Derzeit ist es nicht möglich, einem Modell anzusehen, ob es eine Hintertür enthält oder nicht. Bekommt ein Modell mit integrierter Hintertür eine Eingabe, die einen bestimmten Trigger enthält, wird die Hintertür aktiviert. Die Eingabe, die ohne den Trigger korrekt klassifiziert wird, wird mit dem Trigger in eine vom Angreifer gewählte Kategorie eingeordnet.
Immer wenn ein Post-It auf einem Straßenschild zu sehen ist, wird dieses Straßenschild als Tempolimit-Schild klassifiziert.
Diese Möglichkeit wurde unter anderem von Gu et al. [14] im Jahr 2017 gezeigt. Das Team hat ein Netzwerk zur Erkennung von Straßenschildern trainiert, wie es in autonomen Fahrzeugen eingesetzt werden könnte. Die Forscher haben das Netzwerk so trainiert, dass immer wenn ein Post-It auf einem Straßenschild zu sehen ist, dieses Straßenschild als ein Tempolimit-Schild klassifiziert wird. Das autonome Fahrzeug würde also bei einem Stoppschild, auf dem sich ein Post-It befindet, nicht anhalten, sondern das Stoppschild mit angepasster Geschwindigkeit überfahren.
Hintertüren können sehr robust sein. Sie überleben zum Beispiel Transfer Learning. Mit dieser Technik kann ein Netzwerk, welches für eine bestimmte Aufgabe trainiert wurde, an eine ähnliche Aufgabe angepasst werden. Ein Netzwerk, welches zum Beispiel berühmte Personen erkennt, lässt sich mit dieser Technik umtrainieren, so dass es in der Lage ist, andere Personen zu erkennen. Das ist sehr nützlich, um ein Netzwerk nicht neu trainieren zu müssen, weil dafür in der Regel sehr viel Rechenleistung und sehr viele Daten notwendig sind. Insbesondere die großen Datenmengen stellen häufig ein Problem dar. Mit Transfer Learning kann das Umtrainieren mit nur wenigen Daten erfolgen, da nur die Parameter der letzten Layer, die für die High-level Features verantwortlich sind, an die neue Aufgabe angepasst werden. Die für die ursprüngliche Aufgabe des Netzwerks gefundenen Parameter der vorderen Layer bleiben unverändert, da sie sich für ähnliche Aufgaben nicht unterscheiden.
Um zu zeigen, wie robust Hintertüren sein können, hat das Forscherteam zunächst ein Netzwerk zur Erkennung von US-Straßenschildern trainiert. Während des Trainings haben sie eine Backdoor in das Modell integriert. Anschließend haben die Forscher das Netzwerk mit Hilfe von Transfer Learning umtrainiert, so dass es in der Lage war, schwedische Straßenschilder zu erkennen. Sie konnten zeigen, dass auch das für schwedische Straßenschilder angepasste Modell die Backdoor enthielt.
Daher ist für sicherheitsrelevante Anwendungen wichtig, bereits trainierte Modelle nur aus vertrauenswürdigen Quellen zu verwenden.
Sensible Daten extrahieren
Mit Machine Learning lassen sich auch Texte generieren. Eine weit verbreitete Anwendung ist zum Beispiel die intelligente Tastatur, wie sie auf vielen Handys installiert ist. Immer wenn der Nutzer einen Text auf dem Handy schreibt (zum Beispiel eine Nachricht an eine andere Person) empfiehlt eine solche Tastatur Wörter, die der Nutzer als nächstes schreiben könnte. Der Nutzer muss dann nur noch auf dieses Wort tippen und spart sich Tipparbeit. Die Vorschläge basieren in der Regel auf den zuletzt geschriebenen Wörtern.
Das Modell für eine solche Tastatur wird anhand von Beispieltexten trainiert. Allerdings eignet sich nicht jeder beliebige Text, da die Verteilung der Wörter von dessen Kontext abhängt. Ein Wikipedia-Artikel zum Beispiel enthält andere Formulierungen als eine Nachricht, die sich zwei Freunde über WhatsApp austauschen.
Damit die Vorschläge möglichst genau sind, werden für das Training idealerweise von Nutzern echte generierte Nachrichten verwendet. Das hat jedoch einen Nachteil. Echte Nachrichten können sensible Daten enthalten. Wird ein Modell aus solchen Daten erstellt, besteht die Gefahr, dass solche Daten aus diesen Modellen wieder extrahiert werden können.
Eine Markow-Kette ist ein sehr einfaches Verfahren, um Texte zu generieren [15]. Ein Wort entspricht hier einem Zustand und ausgehend vom aktuellen Zustand erfolgt ein Wechsel zum nächsten Zustand (zum nächsten Wort) mit einer bestimmten Wahrscheinlichkeit. Eine intelligente Tastatur, die auf einer Markow-Kette basiert, schaut für den aktuellen Zustand (d. h. das letzte vom Nutzer eingegebene Wort), welcher nächste Zustand am wahrscheinlichsten ist. Das Wort dieses Zustands wird dem Nutzer vorgeschlagen.
Die Wahrscheinlichkeiten ergeben sich aus der Verteilung der Wörter innerhalb der Beispieltexte. Enthalten die Beispieltexte sensible Daten wie Telefonnummern, werden Telefonnummern als Zustände in die Markow-Kette übernommen. In der Markow-Kette existiert dann ein Pfad, über den man an diese Telefonnummern gelangen kann. Zwar kommen heutzutage wesentlich komplexere Modelle als Markow-Ketten zum Einsatz, wie jedoch bei der Bilderkennung bereits gesehen, bieten auch komplexere Modelle keinen Schutz vor Angriffen.
Adaptierende Verfahren überlisten
Maschinelles Lernen wird auch zur Anomalieerkennung zum Beispiel bei Intrusion-Detection-Systemen verwendet. Nämlich dann, wenn Daten und mögliche Angriffssignaturen zu komplex sind, als dass man manuell Regeln erstellen könnte. Auf Servern lassen sich so zum Beispiel Prozesse überwachen. Es kann die CPU-Auslastung überwacht werden, wie viel RAM ein Prozess benötigt, welche Systemfunktionen ein Prozess aufruft, auf welche Dateien ein Prozess zugreift und vieles mehr. In der Regel liegen die Daten nahe beieinander und weichen nur leicht voneinander ab, so dass sich aus dieser Beobachtung eine sehr einfache Anomalieerkennung realisieren lässt. Alles was nicht innerhalb eines bestimmten Bereichs liegt (der Bereich, in den die meisten Datenpunkte fallen) wird als Anomalie eingestuft.
Ein Angriff würde in der Regel einen Punkt erzeugen, der weit von den normalen Punkten entfernt ist, weil zum Beispiel ungewöhnliche Systemfunktionen aufgerufen werden, auf geschützte Dateien zugegriffen wird oder weil ungewöhnliche Netzwerkaktivitäten zu beobachten sind. In der Regel erfolgt dann eine Alarmierung.
Mit etwas Glück für den Angreifer kann dieser eine solche Anomalieerkennung aber auch austricksen. Denn viele Prozesse, vor allem Prozesse in der Natur, unterliegen ständigen Veränderungen. Zum Beispiel ist die Verkehrsdichte auf einer Straße zur Hauptverkehrszeit deutlich höher als zu anderen Zeiten. Ein Ausbleiben von Fahrzeugen zur Hauptverkehrszeit könnte auf einen Unfall hindeuten, während eine solche Situation in der Nacht völlig normal ist. Auch das Verhalten eines Prozesses auf einem Server kann sich ändern. Mit jeder neuen Version kann sich ein Prozess anders verhalten. Er könnte mehr Speicher verbrauchen oder er ruft andere Systemfunktionen auf. Damit eine neue Version nicht immer einen Alarm auslöst, kommen deshalb häufig Verfahren zum Einsatz, die sich an bestimmte Veränderungen automatisch anpassen.
Ein Angreifer könnte dieses Verhalten ausnutzen. Er könnte versuchen, den Prozess so zu benutzen, dass Datenpunkte entstehen, die Einfluss auf den Bereich nehmen, der nicht als Anomalie eingestuft wird. Er könnte gezielt Punkte erzeugen, die den Bereich vergrößern und zusätzlich zu dem Punkt verschieben, der bei Ausnutzung der Schwäche entstehen würde. Sobald der Angriff von diesem Bereich abgedeckt wird, kann er den Prozess angreifen, ohne dass der Angriff erkannt wird.
Fazit
Wie Software können auch Machine-Learning-Verfahren Schwachstellen enthalten, die ein Angreifer ausnutzen kann. Lernende Spamfilter zum Beispiel, die den Inhalt einer E-Mail analysieren, werden von Spammern schon seit ca. 15 Jahren angegriffen, um false-negative-Klassifizierungen zu erzwingen. Als diese Filter noch nicht weit verbreitet waren, funktionierten sie noch sehr gut. Die Angriffe haben sich allerdings im Laufe der Zeit immer weiter verbessert. Deshalb basiert eine Klassifizierung einer E-Mail heutzutage auf vielen weiteren Faktoren und nur noch zu einem Teil auf einer inhaltlichen Analyse.
Dieser Trend lässt sich auch in anderen Bereichen beobachten, wie zum Beispiel bei der Bilderkennung. Adversarial Examples sind erst seit wenigen Jahren bekannt. Dennoch wurden bereits beeindruckende Angriffe demonstriert. Fast alle bis jetzt präsentierten Verteidigungen konnten bereits nach kurzer Zeit wieder umgangen werden. Es scheint so, als müsste man sich darauf einstellen, dass Bilderkennungssysteme sich immer täuschen lassen werden [16]. Eine ähnliche Entwicklung werden wir höchstwahrscheinlich auch bei den gezeigten Audio Adversarial Examples beobachten können.
Niemand möchte in einem autonomen Fahrzeug sitzen, das bei einem Stoppschild beschleunigt anstatt anzuhalten.
Viele andere Varianten von Angriffen wurden gezeigt. Angreifer können Backdoors in Modelle integrieren, sie können Geheimnisse extrahieren, sie können Anomalieerkennung umgehen und sie können durch eine geschickte Verwendung der Prediction API Modelle mit ihren Parametern stehlen.
Gleichzeitig spielt das Thema Sicherheit eine immer wichtigere Rolle. Denn aufgrund des großen Erfolgs wird maschinelles Lernen zunehmend auch in sicherheitsrelevanten und lebenskritischen Anwendungen eingesetzt. Kann ein Angreifer in solchen Anwendungen Schwachstellen ausnutzen, kann das schwerwiegende Konsequenzen haben. Niemand möchte in einem autonomen Fahrzeug sitzen, bei dem auch nur eine geringe Wahrscheinlichkeit vorhanden ist, dass es bei einem Stoppschild beschleunigt, anstatt anzuhalten.
Derzeit liegt der Fokus der Forschung hauptsächlich darauf, maschinelles Lernen zu härten, um die Sicherheit der Verfahren zu erhöhen und so vor Angriffen zu schützen. Das gelingt allerdings nur teilweise. Zum einen werden auch in neuen Abwehrmaßnahmen in kürzester Zeit wieder Schwachstellen gefunden. Zum anderen werden Verteidigungen häufig nur für bekannte Schwachstellen entwickelt. Unbekannte Angriffe, die erst in der Zukunft entwickelt werden, stellen weiterhin ein Problem dar. Deshalb könnte sich eine andere Strategie als praktikabler erweisen. Bei lernenden Spamfiltern haben sich Angriffe und Verteidigungen in den letzten 15 Jahren kontinuierlich weiterentwickelt und es hat sich gezeigt, dass zusätzlich zur reinen Textanalyse weitere (geheime) Faktoren sehr nützlich sind, um Spam zu erkennen. Deshalb könnte die Berücksichtigung weiterer Faktoren auch in anderen Bereichen, in denen maschinelles Lernen eingesetzt wird (zum Beispiel autonomes Fahren), sich als hilfreich erweisen, um auch dort die Sicherheit zu erhöhen.
Zum Beispiel könnten Kontextdaten und Daten von weiteren Sensoren (Laser, Infrarot, Ultraschall), die schwieriger zu manipulieren sind, in die Berechnungen einfließen. Es könnten mehrere Modelle mit unterschiedlichen Daten trainiert werden, und nur das, was die Mehrheit der Modelle als Ergebnis liefert, wird als Wahrheit akzeptiert. Möglicherweise könnte aber auch Zufall helfen, Modelle robuster zu machen. Randomisierte Algorithmen (Berechnungsvorschriften, die "würfeln" und somit unvorhergesehen arbeiten), erschweren es Angreifern, eine optimale Strategie zu entwickeln, um einen Algorithmus anzugreifen. Das könnte sich auch bei maschinellen Lernverfahren als nützlich erweisen.
Die Forschung befindet sich noch am Anfang, und erst in den nächsten Jahren wird sich zeigen, welche Strategien das Potenzial haben, die Sicherheit von maschinellen Lernverfahren zu erhöhen und das Vertrauen in sie zu stärken. Bis dahin sollte man sich bewusst sein, dass (sicherheitsrelevante und lebenskritische) Anwendungen, die auf maschinellem Lernen basieren, unerwartet auf unvorhergesehene Situationen reagieren könnten.
- Wikipedia: Satz von Bayes
- Szegedy, Christian, et al. "Intriguing properties of neural networks." arXiv preprint arXiv:1312.6199 (2013).
- Goodfellow, Ian J., Jonathon Shlens, and Christian Szegedy. "Explaining and harnessing adversarial examples (2014)." arXiv preprint arXiv:1412.6572.
- Xiao, Chaowei, et al. "Spatially transformed adversarial examples." arXiv preprint arXiv:1801.02612 (2018).
- Alaifari, Rima, Giovanni S. Alberti, and Tandri Gauksson. "ADef: an Iterative Algorithm to Construct Adversarial Deformations." arXiv preprint arXiv:1804.07729 (2018).
- Heng, Wen, Shuchang Zhou, and Tingting Jiang. "Harmonic Adversarial Attack Method." arXiv preprint arXiv:1807.10590 (2018).
- Hosseini, Hossein, and Radha Poovendran. "Semantic Adversarial Examples." arXiv preprint arXiv:1804.00499 (2018).
- Athalye, Anish, and Ilya Sutskever. "Synthesizing robust adversarial examples." arXiv preprint arXiv:1707.07397 (2017).
- Labsix: Fooling Neural Networks in the Real World
- Sharif, Mahmood, et al. "Accessorize to a crime: Real and stealthy attacks on state-of-the-art face recognition." Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016.
- Brown, Tom B., et al. "Adversarial patch." arXiv preprint arXiv:1712.09665 (2017).
- Su, Jiawei, Danilo Vasconcellos Vargas, and Sakurai Kouichi. "One pixel attack for fooling deep neural networks." arXiv preprint arXiv:1710.08864 (2017).
- Carlini, Nicholas, and David Wagner. "Audio adversarial examples: Targeted attacks on speech-to-text." arXiv preprint arXiv:1801.01944 (2018).
- Gu, Tianyu, Brendan Dolan-Gavitt, and Siddharth Garg. "Badnets: Identifying vulnerabilities in the machine learning model supply chain." arXiv preprint arXiv:1708.06733 (2017).
- Wikipedia: Markow-Kette
- Gilmer, Justin, et al. "Adversarial spheres." arXiv preprint arXiv:1801.02774 (2018).