Freigeben über


KI/ML-Pivotierung der Security Development Lifecycle-Fehlerleiste

Von Andrew Marshall, Jugal Parikh, Emre Kiciman und Ram Shankar Siva Kumar

November 2019

Dieser Artikel ist ein Arbeitsergebnis der Microsoft AETHER Engineering Practices for AI Working Group. Dieser Artikel dient als Ergänzung zur vorhandenen SDL-Fehlerleiste, die zur Selektierung herkömmlicher Sicherheitsrisiken verwendet wird. Er soll beim Selektieren von Sicherheitsrisiken im Zusammenhang mit KI bzw. ML als Referenz dienen. Die Schweregradklassifizierung von Sicherheitsrisiken für KI-Systeme (veröffentlicht vom Microsoft Security Response Center) definiert allgemeine Sicherheitsrisikotypen und Schweregrade für Systeme, die KI beinhalten.

Dieser Leitfaden basiert auf einer Taxonomie für gegnerische Bedrohungen durch maschinelles Lernen, die von Ram Shankar Siva Kumar, David O’Brien, Kendra Albert, Salome Viljoen und Jeffrey Snover mit dem Titel Fehlermodi beim maschinellen Lernen erstellt wurde. Beachten Sie, dass sich die Forschungen, die diesen Inhalten zugrunde liegen, sowohl auf vorsätzlichem/bösartigem als auch auf versehentlichem Verhalten in ML-Fehlermodi bezieht. Der Schwerpunkt dieses Zusatzes zur Fehlerleiste liegt jedoch vollständig auf vorsätzlichem/bösartigem Verhalten, das einen Sicherheitsvorfall und/oder die Bereitstellung eines Fixes nach sich ziehen würde.

Bedrohung Beschreibung/Geschäftsrisiken/Beispiele
Datenpoisoning

Kompromittieren der Trainingsdaten: Das Endziel von Angreifenden besteht darin, das Maschinenmodell zu kontaminieren, das in der Trainingsphase generiert wird, sodass Vorhersagen für neue Daten in der Testphase modifiziert werden.

Bei zielgerichteten Poisoningangriffen streben Angreifer eine Fehlklassifizierung bestimmter Beispiele an, um zu bewirken, dass bestimmte Aktionen ausgeführt oder unterlassen werden.

Das Übermitteln von AV-Software als Malware, um ihre Fehlklassifizierung als bösartig zu bewirken, so dass die AV-Zielsoftware in Clientsystemen nicht mehr verwendet werden kann.

Ein Unternehmen liest Daten zu Futures von einer bekannten und vertrauenswürdigen Website aus, um seine Modelle zu trainieren. Die Website des Datenanbieters wird nachfolgend durch einen Angriff mit Einschleusung von SQL-Befehlen kompromittiert. Angreifende können das Dataset nach Belieben kompromittieren, und das Modell, das trainiert wird, erfährt nicht, dass die Daten verfälscht sind.

Entwendung des Modells

Neuerstellung des zugrunde liegenden Modells durch Senden legitimer Abfragen. Der Funktionsumfang des neuen Modells ist mit dem des zugrunde liegenden Modells identisch. Sobald das Modell neu erstellt wurde, kann es invertiert werden, um Featureinformationen zu rekonstruieren oder Rückschlüsse auf Trainingsdaten zu ziehen.

Lösen von Gleichungen: Für ein Modell, das über API-Ausgaben Klassenwahrscheinlichkeiten zurückgibt, kann ein Angreifer Abfragen erstellen, mit denen unbekannte Variablen in einem Modell bestimmt werden.

Pathfinding: Ein Angriff, der API-Besonderheiten ausnutzt, um die „Entscheidungen“ zu extrahieren, die bei der Klassifizierung einer Eingabe von einer Baumstruktur getroffen wird.

Übertragbarkeitsangriffe: Ein Angreifer kann ein lokales Modell trainieren (u. a. durch Senden von Vorhersageabfragen an das Zielmodell) und damit Beispiele für feindselige Angriffe erstellen, die an das Zielmodell übertragen werden. Wenn das Modell extrahiert und als anfällig gegenüber einer Form von feindseliger Eingabe befunden wird, können neue Angriffe gegen Ihr Produktionsmodell von dem Angreifer komplett offline entwickelt werden, der eine Kopie Ihres Modells extrahiert hat.

In Settings, in denen ein ML-Modell feindseliges Verhalten erkennen soll (wie Erkennung von Spam, Klassifizierung von Schadsoftware und Bestimmung von Netzwerkanomalien), kann die Modellextrahierung Umgehungsangriffe ermöglichen.

Invertieren des Modells

Die in ML-Modellen verwendeten privaten Features können rekonstruiert werden. Dies schließt auch die Rekonstruktion privater Trainingsdaten ein, auf die die Angreifenden keinen Zugriff haben. Dies wird erreicht durch Bestimmen der Eingabe, bei der die zurückgegebene Konfidenz maximiert wird, entsprechend der Klassifizierung für das Ziel.

Beispiel: Rekonstruktion von Gesichtserkennungsdaten aus erratenen oder bekannten Namen und API-Zugriff zur Abfrage des Modells.

Physische feindselige Beispiele Solche Beispiele können sich in der physischen Umgebung manifestieren. So kann beispielsweise ein selbstfahrendes Fahrzeug dazu veranlasst werden, ein Stoppschild zu überfahren, indem Licht mit einer bestimmten Farbe (die feindselige Eingabe) auf das Stoppschild gestrahlt wird, wodurch das Bilderkennungssystem das Stoppschild nicht mehr als solches wahrnimmt.
Angriff auf die ML-Lieferkette

Aufgrund der großen Ressourcen (Daten + Berechnung), die zum Trainieren von Algorithmen erforderlich sind, besteht die derzeitige Praxis darin, von großen Unternehmen trainierte Modelle wiederzuverwenden und sie für die jeweilige Aufgabe leicht zu modifizieren (z. B. ResNet ist ein beliebtes Bilderkennungsmodell von Microsoft).

Diese Modelle werden in einem sogenannten Model Zoo kuratiert (Caffe hostet gängige Bilderkennungsmodelle).

Bei einem solchen Angriff greift der Gegner die in Caffe gehosteten Modelle an und kontaminiert damit die Daten für alle.

Durch Hintertürangriff manipulierter Algorithmus von einem bösartigen ML-Anbieter

Kompromittieren des zugrunde liegenden Algorithmus

Ein bösartiger ML-as-a-Service-Anbieter präsentiert einen Hintertüralgorithmus, in dem die privaten Trainingsdaten rekonstruiert werden. Dadurch erhält der Angreifer die Möglichkeit, vertrauliche Daten, wie z. B. Gesichter und Texte, ausschließlich anhand des Modells zu rekonstruieren.

Neural Net-Neuprogrammierung

Mit einer eigens erstellten Abfrage von Angreifenden können ML-Systeme für eine Aufgabe neu programmiert werden, die von der ursprünglichen Absicht der Erstellerin bzw. des Erstellers abweicht.

Schwache Zugriffssteuerungen in einer Gesichtserkennungs-API ermöglichen Dritten die Identitätsvortäuschung in Apps, welche Benutzer schädigen kann, z. B. mit einem Deepfake-Generator.

Dies ist ein Missbrauchs- oder Kontoentfernungsszenario.

Feindselige Störung

Bei Angriffen, die auf Störungen abzielen, ändert der Angreifer heimlich die Abfrage, um eine gewünschte Antwort von einem in der Produktion bereitgestellten Modell zu erhalten. Dabei handelt es sich um eine Verletzung der Modelleingabeintegrität, die zu Fuzzingangriffen führt, deren Endergebnis nicht unbedingt eine Zugriffsverletzung oder ein Produktionsausfall ist. Stattdessen kompromittiert sie die Klassifizierungsleistung des Modells.

Dies kann sich durch Trolle manifestieren, die bestimmte Zielwörter so verwenden, dass sie von der KI blockiert werden, sodass der Dienst letztendlich legitimen Benutzenden den Zugriff verweigert, deren Name mit einem „gesperrten“ Wort übereinstimmt.

Erzwingen, dass gutartige E-Mails als Spam klassifiziert werden oder dass ein bösartiges Beispiel nicht erkannt wird. Diese werden auch als Modellumgehungs- oder Mimikry-Angriffe bezeichnet.

Ein Angreifer kann Eingaben erstellen, welche die Zuverlässigkeit der korrekten Klassifizierung reduzieren, insbesondere in Szenarien mit schwerwiegenden Folgen. Dabei kann u. a. eine große Anzahl von Falsch-positiv-Ergebnissen anfallen, sodass Administratoren oder Überwachungssysteme mit falschen Warnungen anstelle von legitimen Warnungen überschwemmt werden.

Rückschließen auf Mitgliedschaft

Rückschluss auf die individuelle Mitgliedschaft in einer Gruppe, die zum Trainieren eines Modells verwendet wird

Beispiel: Vorhersage von medizinischen Operationen anhand von Angaben wie Alter/Geschlecht/Krankenhaus