Was sind Adversarial Examples?

Was sind Adversarial Examples?|Schematischer Trainingsprozess und Veränderung adversarial examples||
© Sergey Nivens/stock.adobe.com

Um Maschinelles Lernen im Alltag nutzen zu können, muss man eine Software entwickeln, die in der Lage ist, das maschinelle Lernmodell zu implementieren. Diese Prämisse eröffnet Angreifer mit böswilligen Vorsätzen Möglichkeiten verschiedene Cyberangriffe zu nutzen, um die ML-Software und dessen Arbeit zu brechen. Hierbei stellt sich die Frage: Gibt es eine spezifische Schwachstelle, für die nur maschinelle Lernprogramme anfällig sind? Wie sich herausstellt: Ja! Es gibt Möglichkeiten, die Funktionalität des maschinellen Lernmodells an sich anzugreifen – was im Wesentlichen bedeutet, Eingaben zu finden, die das Modell veranlassen sich unerwartet und falsch zu verhalten. Solche Eingaben werden als „Adversarial Examples“ bezeichnet. Was Adversarial Examples genau sind und wie sie funktionieren, erläutert dieser Blogbeitrag genauer.

Der Anfang: Die Angreifer

Laut Definition ist ein Widersacher ein Angreifer (englisch: „Adversary“), ein Antagonist, der die eigene Arbeit verhindern oder dysfunktional machen will. Im Bereich der Informatik und Softwareentwicklung wird die Sicherheit des Systems und der darin laufenden Programme durch das Forschungsfeld der Cybersecurity untersucht. Die Entwicklung und breite Nutzung von Software, die auf Maschinellem Lernen basiert, hat neue Möglichkeiten für solche Angreifer eröffnet. Durch das Manipulieren einer Eingabe im maschinellen Lernprozess kann das Verhalten des Algorithmus gestört werden. Zum Beispiel können Spam-Erkennungssysteme durch sorgfältiges Fälschen der eingehenden Trainingsbeispiele angegriffen werden. Dies führt nach einiger Zeit dazu, dass das Modell den Spam nicht mehr erkennt. Oder man stellt sich ein maschinelles Lernmodell vor, das einen Server mit Firmendaten vor Invasionsangriffen schützt. Das Ziel eines Angreifers wäre es hier, den Server so zu füllen, dass sein Angriff unentdeckt bleibt.

stealth tshirt - Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)
Auf der DEF CON (größte Fachkonferenz zum Thema Cybersecurity) präsentierte Baidu, eine chinesische Suchmaschine, als Teil seines Softwarepakets für Cyberangriffe ein “Stealth-T-Shirt”. Das aus den Gradienten des Objekterkennungsmodells generierte Muster ermöglicht es einer Person, die es vor die Kamera hält, für dieses Modell “unsichtbar” zu werden.

Seit 2010 wurde das Problem des adversen Maschinellen Lernens formuliert und es wurde gezeigt, dass Methoden des Maschinellen Lernens, wie lineare Modelle, Support Vector Machines und Random Forests, anfällig für Adversarial Examples sind.

Die Entwicklung und wachsende Popularität von hochgradig nicht-konvexen neuronalen Netzen für Deep Learning ließ die Hoffnung aufkommen, dass solche Modelle widerstandsfähiger gegen Angreifer sein würden. Doch in 2014 demonstrierten Szegedy et al. eine verblüffende Eigenschaft von neuronalen Netzen – sie machten falsche Vorhersagen, wenn die Eingabe nur geringfügig auf eine spezielle und besondere Methode verändert wurde. Diese Veränderung der Eingabe wird heutzutage mit Adversarial Examples beschrieben. Die Experimente wurden für visuelle Klassifikatoren durchgeführt. Der rätselhafte Aspekt war, dass das hinzugefügte Rauschen für die Person, die das Bild betrachtete, tatsächlich nicht wirklich viel änderte. Das Netzwerk würde jedoch eine falsche Antwort geben und sich dessen sehr sicher sein. Dies erregte die Aufmerksamkeit der Deep-Learning-Praktiker*innen und führte zu einer populären Forschungslinie über solche auf kleinen Störungen basierenden Adversarial Examples.

Was sind Adversarial Examples?

Ein Adversarial Example ist ein speziell manipuliertes Eingangs-Signal für Algorithmen des Maschinellen Lernens, welches dieses absichtlich zu Fehlklassifikationen verleitet. Wie oben genannt, wird dabei die Eingabe nur geringfügig auf eine „bestimmte spezielle Methode“ hin verändert. Doch was bedeutet es, eine Eingabe auf eine „bestimmte spezielle Methode“ zu verändern, die für den menschlichen Beobachter nicht erkennbar ist?

In diesen Jahren wurden viele verschiedene Algorithmen zur Erzeugung der fehlerhaften Eingaben vorgeschlagen, die jeweils besondere Eigenschaften haben. Um zu verstehen, wie einer der bekanntesten Algorithmen funktioniert, müssen wir uns daran erinnern, dass ein neuronales Netz über die Minimierung des Verlusts (Loss), der bei den Trainingseingaben auftritt, trainiert wird. Die Minimierung erfolgt durch einen Gradientenabstieg, das heißt die Parameter des neuronalen Netzes bewegen sich in Richtung des kleinstmöglichen Wertes des Verlustes der Vorhersage.

Stellen Sie sich nun vor, dass wir eine Parameterkonfiguration erreicht haben, die zu einem kleinen Loss bei den Trainingsdaten führt. Wir können nun den Bereich um eines unserer Beispiele herum auswählen, der wiederum so klein ist, dass für einen menschlichen Beobachter alle Beispiele gleich erscheinen. Und da der Loss sowohl von den Parametern des Netzes als auch von dem eingegebenen Beispiel abhängt, können wir Gradienten verwenden, um das Beispiel zu optimieren, sodass der Loss so groß wie möglich wird, aber nicht den definierten Bereich der Nicht-Veränderung verlässt.  Auf diese Weise ist es möglich, für jede Eingabe und jedes neuronale Netz, ein Adversarial Example zu erzeugen.

AdversarialExamples1 12 MW 1 - Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)
© ML2R
Zuerst zeigt das Bild schematisch den Trainingsprozess, bei dem mit Gradientenabstieg die Gewichte modifiziert werden, um einen minimalen Verlust L(x,w) zu erreichen. Im Anschluss zeigt das Bild schematisch, dass man, wenn die Gewichte im Minimum sind, die Eingabe x so verändern kann, dass der Verlust wächst, aber die Änderungen kleiner als epsilon sind.

Diese Beispiele werden auch „small-pertubations large-loss“-Beispiele genannt. Der Grund für die Existenz solcher small-perturbations large-loss-Beispiele ist jedoch noch nicht vollständig geklärt. Das heißt, wir können sie mit bestimmten spezifischen Algorithmen konstruieren, aber keinen Grund für ihre Existenz angeben. Beim Training eines maschinellen Lernmodells zielen wir darauf ab, dass das Modell zumindest bei den Trainingsdaten und bei Eingaben, die den Trainingsdaten ähnlich sind, keine Fehler macht – aber jetzt wissen wir, dass unbegrenzt viele fehlerhafte Beispiele erzeugt werden können. Es gibt mehrere Theorien dazu, aber noch keine, die allgemein akzeptiert ist. Der Grund dafür ist, dass hauptsächlich alle Beweise empirisch sind und somit in der Zukunft als falsch erwiesen werden könnten. Einer der verheerendsten Angriffstypen auf Maschinelles Lernen manipuliert die Fähigkeit der tiefen neuronalen Netze Merkmale zu lernen, die wir als Menschen nicht unterscheiden können, die aber dennoch für die Lösung der Aufgabe nützlich sein könnten. Wenn ein Angreifer also neuronale Netze dazu zwingt, jenen Merkmalen keine Aufmerksamkeit zu schenken, die potenziell zu Fehlern bei der Störung führen, führt dies insgesamt zu einer geringeren Leistung des ML-Modells.

Eine besonders interessante Charakteristik von Adversarial Examples ist zudem die empirisch nachgewiesene Übertragbarkeit zwischen verschiedenen neuronalen Netzen. Das bedeutet, dass angreifendes Störrauschen, das für eine bestimmte Eingabe und ein bestimmtes Deep-Learning-Modell erzeugt wird, auch für eine andere Eingabe und ein anderes Modell ein angreifendes Störrauschen ist. Dieses Phänomen ist äußerst gefährlich. Stellen Sie sich vor, dass Sie als Entwickler*in eines KI-Systems, dessen Kern ein Deep-Learning-Modell ist, dieses System vor Angriffen sicher machen wollen. Sie verwenden alle verfügbaren Cybersecurity-Tools und verhindern so, dass Außenstehende an die Details des Modells gelangen. Der Gegner wird nichtsdestotrotz in der Lage sein, Ihr Modell bei der Arbeit zu sehen, genügend Informationen zu sammeln, ein eigenes Ersatzmodell zu trainieren, Adversarial Examples für dieses Modell zu erstellen und dann Ihr hochgeschütztes Modell zu brechen. Solche Blackbox-Angriffe sind sehr beunruhigend im Kontext von Anwendungen, die für das menschliche Leben kritisch sind, zum Beispiel für Systeme in einem autonomen Auto.

Die Relevanz der Sicherheit für Maschinelles Lernen

In der modernen Welt, in der mehr und mehr Aufgaben automatisiert werden, ist die Sicherheit der Software kritisch. Mehr noch, die Sicherheit von auf Maschinellem Lernen basierender Software ist wichtig, da sehr sensible Bereiche davon betroffen sind. Gegnerische Angriffe müssen in jedem KI-System berücksichtigt werden. Deshalb forscht das ML2R an Trustworthy ML, also vertrauenswürdiger Künstlicher Intelligenz und fokussiert sich dort unter anderem auf die Sicherheit von KI-Systemen. Nun ist es wichtig zu wissen, wie man sich gegen Adversarial attacks schützen kann. Grundlegende Abwehrstrategien stellen wir in unserem nächsten Blog-Beitrag vor.

Linara Adilova

Linara Adilova ist wissenschaftliche Mitarbeiterin am Fraunhofer IAIS im Bereich KI-Absicherung, mit dem Forschungsschwerpunkt über die theoretische Grundlagen des Deep Learning. Dabei liegt der Schwerpunkt ihrer Projektarbeit in der Produktion von autonomen Fahrsystemen.

Weitere Blogartikel