Mehr als 20 Schwachstellen in der Lieferkette von MLOps-Plattformen gefunden
Cybersecurity-Experten warnen vor Sicherheitsproblemen in der Software, die für maschinelles Lernen (ML) verwendet wird. Sie haben über 20 Schwachstellen entdeckt, die Hacker in den Plattformen ausnutzen könnten, die für den Betrieb und das Management von ML-Software verwendet werden.
Die jetzt in Software für maschinelles Lernen (ML) entdeckten Schwachstellen stellen ein Risiko für die gesamte Lieferkette dar, die an der Entwicklung und Bereitstellung dieser Software beteiligt ist. Sie können genutzt werden, um bösartigen Code auszuführen oder infizierte Datensätze in ML-Systeme zu laden.
ML-Plattformen, die als MLOps bekannt sind, werden verwendet, um ML-Modelle zu entwickeln, zu speichern und in Anwendungen einzubinden. Diese Plattformen erlauben es auch, Modelle über APIs zugänglich zu machen. Einige der Schwachstellen sind „inhärent“, das heißt, sie entstehen durch die Art und Weise, wie ML-Software und ihre Formate funktionieren.
Ein Beispiel für inhärente Schwachstellen ist die Möglichkeit, dass Angreifer maschinelle Lernmodelle missbrauchen, um eigenen, schädlichen Code auszuführen. Dies kann passieren, weil einige Modelle automatisch Code ausführen, sobald sie geladen werden. Ein konkretes Beispiel dafür sind Pickle-Modell-Dateien. Wenn ein Angreifer eine solche Datei manipuliert, kann der Code beim Laden des Modells ohne weiteres ausgeführt werden, was dem Angreifer Kontrolle über das System verschaffen könnte.
Ein weiteres Beispiel für inhärente Schwachstellen betrifft JupyterLab (früher bekannt als Jupyter Notebook), eine webbasierte Plattform, auf der Nutzer Codeblöcke ausführen und die Ergebnisse direkt sehen können. Ein weniger bekanntes Problem dabei ist, wie JupyterLab HTML-Ausgaben beim Ausführen von Code behandelt. Wenn Ihr Python-Code HTML oder JavaScript erzeugt, wird dieses von Ihrem Browser ohne Einschränkungen ausgeführt.
Das Problem liegt darin, dass dieser JavaScript-Code nicht isoliert (oder „sandboxed“) ist. Das bedeutet, dass er die gesamte Webanwendung beeinflussen kann. Dadurch könnte ein Angreifer schädlichen JavaScript-Code ausgeben, der eine neue Code-Zelle in einem JupyterLab-Notizbuch hinzufügt, darin Python-Code einschleust und diesen sofort ausführt. Besonders gefährlich wird dies, wenn eine Cross-Site-Scripting (XSS)-Schwachstelle ausgenutzt wird.
JFrog hat eine solche XSS-Schwachstelle in MLFlow entdeckt (CVE-2024-27132), bei der nicht vertrauenswürdiger Code unzureichend überprüft wird. Dadurch konnten Angreifer Code in JupyterLab ausführen. Die Forscher betonen, dass XSS-Schwachstellen in ML-Bibliotheken ernst genommen werden müssen, da Datenwissenschaftler häufig Jupyter Notebook für ihre Arbeit nutzen und dadurch anfällig für solche Angriffe sind.
Neben den inhärenten Schwachstellen gibt es auch Implementierungsschwächen. Dazu gehören fehlende Sicherheitsmaßnahmen wie Authentifizierung, was es Hackern erleichtern kann, sich Zugriff auf ML-Plattformen zu verschaffen und Schadsoftware auszuführen. In einem Fall wurde eine Schwachstelle ausgenutzt, um Kryptowährungs-Mining auf betroffenen Systemen durchzuführen.
Diese Bedrohungen sind nicht nur theoretisch. In der Praxis haben Hacker bereits solche Schwachstellen genutzt, wie im Fall von Anyscale Ray (CVE-2023-48022). Hier wurde die Lücke ausgenutzt, um Kryptowährungs-Mining-Software auf den betroffenen Systemen zu installieren.
Schließlich gibt es auch das Risiko eines „Container-Escape“, bei dem Hacker über die ML-Plattform hinaus auf andere Teile der Cloud-Umgebung zugreifen können. Dies könnte ihnen ermöglichen, auf Modelle und Daten anderer Benutzer zuzugreifen.
Die Forscher betonen, dass Unternehmen, die ML-Plattformen verwenden, sicherstellen müssen, dass die Umgebungen, in denen ihre Modelle laufen, vollständig isoliert sind. Andernfalls könnten Hacker diese Schwachstellen ausnutzen, um in die Systeme einzudringen und Schaden anzurichten.
Die Enthüllung von Sicherheitslücken in der ML/KI-Software zeigt, wie anfällig selbst fortschrittliche Systeme sein können. Palo Alto Networks Unit 42 etwa hat kürzlich zwei Schwachstellen im Open-Source-Framework LangChain entdeckt, das für generative KI-Anwendungen genutzt wird. Diese Schwachstellen, CVE-2023-46229 und CVE-2023-44467, wurden inzwischen behoben, aber sie hätten es Angreifern ermöglicht, beliebigen Code auszuführen und auf sensible Daten zuzugreifen. Das bedeutet, dass Hacker die Kontrolle über das System hätten übernehmen oder private Informationen einsehen können.
Darüber hinaus fand das Sicherheitsteam von Trail of Bits vier Schwachstellen in Ask Astro, einer Open-Source-Chatbot-Anwendung, die für Retrieval Augmented Generation (RAG) verwendet wird. Diese Schwachstellen könnten dazu führen, dass der Chatbot falsche oder manipulierte Antworten gibt, Dokumente ungenau erfasst oder sogar dazu verwendet wird, das System durch einen Denial-of-Service-Angriff (DoS) lahmzulegen.
Ein weiteres wachsendes Problem in der KI-Sicherheit ist die Manipulation von Trainingsdaten, um große Sprachmodelle (LLMs) wie GPT-4 dazu zu bringen, schädlichen oder anfälligen Code zu erzeugen. Diese Technik wird als „Vergiftung“ von Trainingsdatensätzen bezeichnet. Im Gegensatz zu früheren Angriffen, bei denen bösartige Daten leicht erkennbar in den Code eingefügt wurden (zum Beispiel in Kommentaren), verwenden Angreifer jetzt ausgeklügeltere Methoden. Ein Beispiel ist die Technik „CodeBreaker“, bei der die bösartigen Nutzdaten umgewandelt werden, ohne ihre Funktionalität zu beinträchtigen. „Sowohl die vergifteten Daten für die Feinabstimmung als auch der generierte Code sind schwer zu erkennen, selbst bei starker Schwachstellenerkennung“, so eine Gruppe von Wissenschaftlern der Universität von Connecticut.
Diese Erkenntnisse zeigen, dass KI-Systeme und -Anwendungen trotz ihrer fortschrittlichen Fähigkeiten anfällig für verschiedene Angriffsarten sind, von der Manipulation ihrer Ausgaben bis hin zur tiefen Vergiftung von Trainingsdaten. Letztere führt dazu, dass die Modelle selbst gefährlichen Code generieren.