pentest.at

LLMs: Wie durch "Data Poisoning" ihre Trainingsdaten manipuliert werden können

Machine Learning beginnt mit Trainingsdaten, einfache Rohdaten. Um vielseitig zu sein, sollten diese Texte viele Bereiche, Genres und Sprachen abdecken. Große Sprachmodelle lernen aus diesen Daten und prognostizieren schließlich Wörter voraus. Das Organisation OWASP warnt in diesem Zusammenhang vor „Data Poisoning“ – wir erläutern für Sie die Eckpunkte.

CS

Christoph Sammer

Von „Data Poisoning“ (oder einfacher: Datentäuschung) ist die Rede, wenn Trainingsdaten manipuliert werden, um Sicherheitslücken, Hintertüren oder Vorurteile einzuführen. Das kann die Sicherheit, Effektivität oder ethische Haltung des Modells beeinträchtigen. Selbst wenn Nutzer den verdächtigen Ausgaben misstrauen, bleiben Risiken wie beeinträchtigte Modellfunktionen oder Reputationsschäden.

Datentäuschung ist ein Angriff auf die Integrität, da Veränderungen in den Trainingsdaten die Fähigkeit des Modells zur korrekten Vorhersage beeinflussen. Externe Datenquellen sind riskanter, da die Modellersteller keine Kontrolle darüber haben.

Mögliche Beispiele für Schwachstellen:

  1. Jemand erzeugt absichtlich falsche Trainingsdaten, die vom Modell gelernt werden.
  2. Ein Modell wird mit unverifizierten Daten trainiert.
  3. Das Modell sammelt selbst Daten ohne ausreichende Einschränkungen, was zu schlechten Ergebnissen und Kontrollverlust führen kann.

Entwickler und Nutzer von Sprachmodellen müssen verstehen, welche Risiken diese Schwachstellen für ihre Anwendungen bedeuten können. Beispiele für Angriffsszenarien:

  1. Ausgaben des Modells könnten Nutzer irreführen und zu Vorurteilen oder schlimmeren Verhaltensweisen führen.
  2. Wenn Trainingsdaten nicht richtig gefiltert werden, könnten schädliche Daten ins Modell gelangen.
  3. Ein Angreifer könnte gezielt falsche Trainingsdaten erstellen, um das Modell zu täuschen.

Wie Sie sich vor „Data Poisoning“ schützen können:

  1. Überprüfen Sie die Herkunft der Trainingsdaten sorgfältig, besonders bei externen Quellen.
  2. Stellen Sie sicher, dass die Quellen und Inhalte der Daten während des Trainings und Feinabstimmens legitim sind.
  3. Passen Sie das Modell an den jeweiligen Anwendungsfall an, indem Sie verschiedene Modelle für verschiedene Zwecke trainieren.
  4. Verhindern Sie, dass das Modell ungewollt Datenquellen nutzt, die das Lernen beeinträchtigen könnten.
  5. Filtern Sie Trainingsdaten streng, um gefälschte Daten zu erkennen und zu entfernen.
  6. Verwenden Sie Einschränkungen, um die Auswirkungen von Ausreißern zu minimieren und sich gegen die schlimmsten Störungen der Trainingsdaten zu wappnen. Ein "MLSecOps"-Ansatz könnte darin bestehen, die adversarial robustness (Widerstandsfähigkeit des ML-Modells) in den Trainingslebenszyklus mit der Auto-Poisoning-Technik einzubeziehen. Ein Beispiel-Repository dafür wäre Autopoison-Testing, das Angriffe wie Content-Injection-Angriffe ("wie man seine Marke in die LLM-Antworten injiziert") und Verweigerungsangriffe ("immer das Modell dazu bringen, die Antwort zu verweigern") umfasst, die mit diesem Ansatz erreicht werden können. Testen und erkennen Sie Datentäuschung, indem Sie Verhalten und Ausgaben des Modells genau analysieren und überwachen.
  7. Testen und Erkennen, indem Sie den Verlust während der Trainingsphase messen und trainierte Modelle analysieren, um Anzeichen von „Data Poisoning“ zu erkennen, indem Sie das Modellverhalten bei bestimmten Testeingaben analysieren.
    1. Überwachung und Alarmierung bei einer Anzahl von verzerrten Antworten, die einen Schwellenwert überschreiten.
    2. Verwendung einer Menschenschleife zur Überprüfung der Antworten und zur Überwachung.
    3. Implementierung spezieller LLMs, um gegen unerwünschte Konsequenzen zu benchmarken und andere LLMs mit Techniken des Verstärkungslernens zu trainieren.
    4. Durchführung von LLM-basierten Red-Team-Übungen oder LLM-Schwachstellenscans in den Testphasen des LLM-Lebenszyklus.