Large Language Models absichern
Die 10 häufigsten LLM-Schwachstellen
Foto: VectorMine - shutterstock.com
Das Open Worldwide Application Security Project (OWASP) hat die Top Ten kritischer LLM-Schwachstellen zusammengestellt - und wirft dabei auch einen Blick auf potenzielle Auswirkungen und Kompromittierungs-Möglichkeiten.
Mit ihrer Top-Ten-Liste wollen die OWASP-Security-Experten Unternehmen(sanwender) über die potenziellen Risiken beim Einsatz von Large Language Models (LLMs) aufklären, Awareness schaffen und mit Abhilfestrategien dabei unterstützen, das Sicherheitsniveau von (Generative-)AI-Anwendungen zu optimieren.
Die Top 10 LLM-Schwachstellen
Die folgenden zehn kritischen Schwachstellen betreffen LLM-Anwendungen demnach am häufigsten.
1. Prompt Injections
Mit Prompt Injections umgehen Cyberkriminelle Filterfunktionen oder manipulieren das Large Language Model mit sorgfältig ausgearbeiteten Prompts, um es dazu zu bringen, Anweisungen zu ignorieren oder unbeabsichtigte Aktionen zu starten: "Schwachstellen wie diese können zu unbeabsichtigten Konsequenzen führen, beispielsweise Datenlecks, unbefugtem Zugriff oder anderen Security Breaches", schreiben die OWASP-Experten.
Ein mögliches Angriffsszenario wäre laut OWASP ein böswilliger Benutzer, der einen Inhaltsfilter umgeht, indem er bestimmte Sprachmuster, Token oder Kodierungsmechanismen verwendet, die das LLM nicht als eingeschränkte Inhalte erkennt.
Die Sicherheitsexperten empfehlen folgende Präventivmaßnahmen für diese Art der Schwachstelle:
Implementieren Sie eine strikte Input-Validation und -Sanitization für nutzergenerierte Prompts.
Verwenden Sie kontextsensitives Filtering und Output Encoding, um manipulierte Prompts zu verhindern.
Aktualisieren und optimieren Sie Ihr Large Language Model regelmäßig, um dessen Umgang mit bösartigen Inputs oder Grenzfällen zu verbessern.
2. Datenlecks
Ein Datenleck entsteht, wenn ein LLM mit seinen Antworten versehentlich sensible Informationen, geschützte Algorithmen oder andere vertrauliche Details preisgibt. "Das kann zu unbefugtem Zugriff auf sensible Daten oder geistiges Eigentum führen", schreiben die Experten. Als wesentliche Ursachen führen sie unvollständiges oder unsachgemäßes Filtering sensibler Informationen, Overfitting im Trainingsprozess und Misinterpretationen beziehungsweise Fehler der LLMs an.
Ein Angreifer könnte das Large Language Model laut OWASP absichtlich mit sorgfältig ausgearbeiteten Prompts testen und versuchen, sensible Informationen zu extrahieren, die in den Trainingsdaten gespeichert sind. Vorsicht: Auch ein legitimer Benutzer könnte dem LLM versehentlich eine Frage stellen, die sensible oder vertrauliche Informationen offenlegt.
Als vorbeugende Maßnahmen gegen Datenlecks empfiehlt OWASP:
Implementieren Sie strikte Output-Filter und kontextsensitive Mechanismen, um zu verhindern, dass ein großes Sprachmodell sensible Informationen preisgibt.
Verwenden Sie im Rahmen des Trainingsprozesses Differential-Privacy-Techniken oder andere Methoden zur Datenanonymisierung, um das Risiko von Overfitting oder Memorization zu verringern.
Unterziehen Sie die Antworten des Large Language Model regelmäßigen Audits und Reviews, um zu verhindern, dass sensible Informationen versehentlich preisgegeben werden.
3. Unzureichendes Sandboxing
Greift ein LLM auf externe Ressourcen oder sensible Syteme zu und ist dabei nicht ordnungsgemäß isoliert, kann es zu Kompromittierungen oder unbeabsichtigten Aktionen kommen.
Ein Beispiel für einen Angriff wäre laut OWASP ein böswilliger Akteur, der den Zugang eines LLM zu einer sensiblen Datenbank ausnutzt, indem er Prompts erstellt, die das Sprachmodell anweisen, vertrauliche Informationen zu extrahieren und preiszugeben.
Zur Vorbeugung empfiehlt OWASP:
Isolieren Sie die LLM-Umgebung von anderen kritischen Systemen und Ressourcen.
Beschränkung Sie den Zugang des Large Language Model zu sensiblen Ressourcen und seine Fähigkeiten auf das für den beabsichtigten Zweck erforderliche Minimum.
Unterziehen Sie die Umgebung und Zugangskontrollen von Large Language Models regelmäßig Audits und Reviews, um sicherzustellen, dass diese angemessen isoliert bleiben.
4. Unbefugte Code Execution
Nutzt ein Angreifer ein Large Language Model aus, um bösartigen Code, Befehle oder Aktionen auf dem zugrundeliegenden System auszuführen, nennt man das Unauthorized Code Execution. Das liegt laut OWASP häufig daran, dass LLMs mit unzureichenden Restriktionen ausgestattet sind.
Die Experten nennen in diesem Bereich zweierlei Angriffsbeispiele:
Ein Angreifer, der einen Prompt erstellt, der das LLM anweist, einen Befehl auszuführen, der wiederum eine Reverse Shell auf dem zugrundeliegenden System startet und dem Angreifer unbefugten Zugriff gewährt.
Ein LLM, dem unbeabsichtigt erlaubt wird, mit einer API auf Systemebene zu interagieren. Diese wurde vom Angreifer manipuliert, um unbefugte Aktionen auf dem System durchzuführen.
Folgende Maßnahmen empfiehlt OWASP um Unauthorized Code Execution zu verhindern:
Implementieren Sie strenge Input-Validation- und Bereinigungsprozesse, um zu verhindern, dass bösartige oder unerwartete Prompts verarbeitet werden.
Sorgen Sie für ordnungsgemäßes Sandboxing und schränken Sie die Möglichkeiten des LLMs ein, mit dem zugrundeliegenden System zu interagieren.
5. Server-side Request Forgery
Server-side Request Forgery (SSRF)-Schwachstellen treten auf, wenn ein Angreifer ein Large Language Model ausnutzt, um unbeabsichtigte Anfragen durchzuführen oder auf eingeschränkte Ressourcen wie interne Dienste, APIs oder Datenspeicher zuzugreifen. Ermöglicht wird das laut den Sicherheitsexperten unter anderem durch eine unzureichende Input-Validierung sowie Fehlkonfigurationen von Netzwerk oder Applikationen.
Ein mögliches Angriffsszenario in diesem Zusammenhang: Ein Angreifer könnte einen Prompt erstellen, der das Large Language Model anweist, eine Anfrage an einen internen Dienst zu stellen, die Zugriffskontrollen zu umgehen und unbefugten Zugriff auf sensible Informationen zu ermöglichen. Darüber hinaus könnten Cyberkriminelle eine Fehlkonfiguration der Sicherheitseinstellungen ausnutzen, was dem LLM ermöglicht, mit eingeschränkten APIs zu kommunizieren sowie auf sensible Daten zuzugreifen oder diese zu manipulieren.
Präventive Maßnahmen, um das zu verhindern:
Implementieren Sie eine strenge Eingabevalidierung und -bereinigung, um zu verhindern, dass maliziöse Prompts unbefugte Anfragen initiieren.
Überprüfen Sie regelmäßig Ihre Netzwerk- beziehungsweise Anwendungssicherheitseinstellungen, um zu gewährleisten, dass interne Ressourcen nicht versehentlich offengelegt werden.
Sie wollen weitere interessante Beiträge rund um das Thema IT-Sicherheit lesen? Unser kostenloser Newsletter liefert Ihnen alles, was Sicherheitsentscheider und -experten wissen sollten, direkt in Ihre Inbox.
6. LLM-generierte Inhalte im Übermaß
"Sich im Übermaß auf die LLM-generierte Inhalte zu verlassen, kann zur Verbreitung von irreführenden oder unwahren Informationen, geringerer menschlicher Beteiligung an der Entscheidungsfindung sowie einer Reduktion von kritischem Denken führen", schreiben die OWASP-Experten.
Als Beispiel führen die Sicherheitsspezialisten ein Unternehmen an, das sich bei der Erstellung von Security-Reportings und -analysen auf ein Large Language Model verlässt. Erstellt letzteres ein Reporting mit den falschen Daten, könne das erhebliche Auswirkungen haben.
Rik Turner, Senior Principal Analyst für Cybersecurity beim Sicherheitsanbieter Omdia, bezeichnet das als "Halluzinationen" und wirft ein weiteres Problem auf: "Wenn ein Output unsinnig ist und der zuständige Analyst dies leicht identifizieren kann, ist das kein Problem und der Algorithmus kann weiter trainiert werden. Was aber, wenn die Halluzination höchst plausibel wirkt und scheinbar im Einklang mit der Realität steht? Könnte ein Large Language Model einem falsch-positiven Ergebnis zusätzliche Glaubwürdigkeit verleihen? Das könnte gravierende Folgen haben."
Um solche Szenarien zu verhindern, lautet die OWASP-Empfehlung:
Nehmen Sie die Outputs von Large Language Models niemals ohne Validierung für bare Münze und gehen Sie davon aus, dass LLM-Outputs potenziell nicht frei von Bias oder Fehlinformationen sind.
7. Ungenügende KI-Ausrichtung
Wenn die Zielsetzungen und das Verhalten eines Large Language Model nicht mit dem beabsichtigten Anwendungsfall übereinstimmen, liegt eine unzureichende KI-Ausrichtung vor. Das kann zu unerwünschten Schwachstellen führen. Als ursächlich dafür identifiziert OWASP unzureichend definierte Ziele, falsch ausgerichtete Belohnungsfunktionen, ungenügende Trainingsdaten oder auch fehlende Testing- und Validierungsverfahren.
Ein mögliches Angriffsszenario: Ein falsch ausgerichtetes LLM, das entwickelt wurde, um bei Systemmanagementaufgaben zu unterstützen, könnte empfänglich für maliziöse Befehle oder Aktionen sein, die die Systemleistung und -sicherheit beeinträchtigen können.
Folgende Maßnahmen helfen laut den OWASP-Experten, um das zu verhindern:
Definieren Sie die Ziele und das beabsichtigte Verhalten des LLM während des Entwurfs- und Entwicklungsprozesses.
Stellen Sie sicher, dass die Belohnungsfunktionen und Trainingsdaten auf die gewünschten Ergebnisse abgestimmt sind und kein unerwünschtes oder schädliches Verhalten fördern.
Testen und validieren Sie regelmäßig das Verhalten des LLM in einem breiten Spektrum von Szenarien, Inputs und Kontexten, um Alignment-Probleme zu identifizieren und zu beheben.
8. Unwirksame Zugangskontrollen
Wenn Zugangskontrollen oder Authentifizierungsmechanismen nicht ordnungsgemäß implementiert sind, können unbefugte Benutzer möglicherweise mit Large Language Models interagieren und Schwachstellen ausnutzen.
Um hier vorzubeugen, empfiehlt sich:
Implementieren Sie starke Authentifizierungsmechanismen (etwa Multifaktor-Authentifizierung), um sicherzustellen, dass nur autorisierte Benutzer auf das LLM zugreifen können.
Implementieren Sie geeignete Zugriffskontrollen für LLM-generierte Inhalte und Aktionen, um unautorisierten Zugriff oder Manipulation zu verhindern.
9. Unsachgemäße Fehlerbehandlung
Wenn Fehlermeldungen oder Debugging-Informationen auf eine Weise offengelegt werden, die einem Bedrohungsakteur sensible Informationen, Systemdetails oder potenzielle Angriffsvektoren offenbaren, handelt es sich um eine unsachgemäße Fehlerbehandlung.
Laut OWASP könnte ein Angreifer zum Beispiel die Fehlermeldungen eines Large Language Models ausnutzen, um sensible Informationen oder Systemdetails zu sammeln, die es ihm ermöglichen, einen gezielten Angriff zu starten oder bekannte Schwachstellen auszunutzen. Debugging-Informationen könnten jedoch auch unbeabsichtigt von Entwicklern in der Produktion offengelegt werden.
Abmildern lassen sich diese Risiken den OWASP-Experten zufolge folgendermaßen:
Implementieren Sie geeignete Mechanismen zur Fehlerbehandlung, um sicherzustellen, dass diese korrekt identifiziert, protokolliert und behandelt werden.
Stellen Sie sicher, dass Fehlermeldungen und Debugging-Informationen keine sensiblen Informationen oder Systemdetails preisgeben. Erwägen Sie, für die Benutzer allgemeine Fehlermeldungen zu verwenden, während Entwickler und Admins detaillierte Fehlerinformationen erhalten.
10. Training Data Poisoning
Wenn ein Angreifer die Trainingsdaten oder die Feinabstimmungsprozesse eines Large Language Model manipuliert, um Schwachstellen auszunützen, Hintertüren zu öffnen oder Bias zu injizieren, nennt man das Training Data Poisoning. Das kann die Sicherheit, Effektivität und das ethische Verhalten des Modells beeinträchtigen.
Diese Maßnahmen tragen den Experten zufolge dazu bei, dieses Risiko zu minimieren:
Stellen Sie die Integrität der Trainingsdaten sicher, indem Sie sie aus vertrauenswürdigen Quellen beziehen und hinsichtlich ihrer Qualität validieren.
Implementieren Sie robuste Datenbereinigungs- und Preprocessing-Verfahren, um potenzielle Schwachstellen oder Bias aus den Trainingsdaten zu entfernen.
Verwenden Sie Monitoring- und Warnmechanismen, um ungewöhnliches Verhalten oder Performance-Probleme zu erkennen, die möglicherweise auf Training Data Poisoning hinweisen.
(fm)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.