Falsche Behandlung der Ausgabe
Unter unsachgemäßer Verarbeitung von Ausgaben versteht man das Versäumnis, die Ausgaben großer Sprachmodelle (LLM) ordnungsgemäß zu validieren, zu bereinigen, zu kodieren und zu kontrollieren, bevor sie an nachgelagerte Systeme, Benutzer oder Ausführungsumgebungen weitergeleitet werden.
Da die Ausgaben von LLM-Modellen von den Eingaben der Benutzer beeinflusst werden, müssen sie als nicht vertrauenswürdige Eingaben behandelt werden. Wenn Anwendungen davon ausgehen, dass vom Modell generierte Inhalte sicher sind, und diese ohne Sicherheitsvorkehrungen direkt darstellen, ausführen oder weiterleiten, gewähren sie den Benutzern damit faktisch indirekten Zugriff auf Systemfunktionen.
Diese Schwachstelle bezieht sich speziell auf Risiken, die entstehen, nachdem das Modell eine Ausgabe generiert hat, aber bevor diese Ausgabe an anderer Stelle verwendet wird. Sie unterscheidet sich von der übermäßigen Abhängigkeit insofern, als es bei der übermäßigen Abhängigkeit darum geht, auf die Richtigkeit oder Angemessenheit der Modellantworten zu vertrauen, während es bei der unsachgemäßen Verarbeitung von Ausgaben darum geht, wie die Ausgaben technisch verarbeitet und in Systeme integriert werden.
Wichtigste Erkenntnisse
- Eine unsachgemäße Verarbeitung der Ausgabe liegt vor, wenn von LLM generierte Inhalte ohne Validierung oder Bereinigung an nachgelagerte Systeme weitergeleitet werden, wodurch Nutzer faktisch indirekten Zugriff auf Backend-Funktionen erhalten.
- Eine erfolgreiche Ausnutzung kann schwerwiegende Folgen haben, darunter XSS, CSRF, SQL-Injection, Pfadtraversal, Remote-Code-Ausführung und Rechteausweitung – je nachdem, wie die Ausgabe verarbeitet wird
- Großsprachenmodelle (LLMs), die Code generieren, bergen ein doppeltes Risiko: Abgesehen von unsicheren Ergebnissen können sie nicht existierende Softwarepakete „halluzinieren“, was dazu führt, dass Entwickler unwissentlich mit Malware infizierte Abhängigkeiten herunterladen
- Diese Schwachstelle ist nicht mit einem übermäßigen Vertrauen gleichzusetzen – bei der unsachgemäßen Verarbeitung von Ausgaben geht es darum, was mit den Ausgaben des großen Sprachmodells geschieht, bevor sie nachgelagerte Systeme erreichen, und nicht darum, der Genauigkeit der Ausgaben selbst zu vertrauen
- Zur Risikominderung ist es erforderlich, die Ausgaben von LLM als nicht vertrauenswürdige Benutzereingaben zu behandeln, kontextbezogene Verschlüsselung anzuwenden, parametrisierte Abfragen zu verwenden, Richtlinien zur Inhaltssicherheit durchzusetzen und auf ungewöhnliche Ausgabemuster zu achten
Warum es gefährlich ist
Wenn die Ausgaben von LLM nicht ordnungsgemäß verarbeitet werden, können Angreifer das System ausnutzen, um eines der folgenden Ziele zu erreichen.
- Cross-Site-Scripting (XSS)
- Cross-Site-Request-Forgery (CSRF)
- Server-seitige Anfragefälschung (SSRF)
- SQL-Injection
- Pfaddurchlauf
- Erweiterung von Berechtigungen
- Ausführung von Remote-Code (RCE)
- Phishing-Angriffe
- Datenexfiltration
Die Auswirkungen werden noch verstärkt, wenn das LLM Zugriff auf privilegierte Funktionen hat, die Endnutzern nicht zur Verfügung stehen. Wenn die Anwendung anfällig für indirekte Prompt-Injektion ist. Wenn Erweiterungen von Drittanbietern Eingaben nicht validieren. Wenn keine kontextbezogene Ausgabekodierung vorhanden ist. Wenn Protokollierung und Überwachung unzureichend sind. Oder wenn Ratenbegrenzung und Anomalieerkennung nicht implementiert sind
Typische Symptome
Eine unsachgemäße Behandlung der Modellausgabe tritt häufig auf, wenn die Modellausgabe direkt in einer System-Shell ausgeführt wird (z. B. mit „exec“ oder „eval“). Wenn generiertes JavaScript oder Markdown ohne Bereinigung gerendert wird, kann dies zu XSS führen. Von LLM generierte SQL-Anweisungen werden ohne Parametrisierung ausgeführt. Dateipfade werden aus der Modellausgabe ohne Bereinigung zusammengestellt. Dynamische E-Mail-Vorlagen enthalten nicht bereinigte, vom Modell generierte Inhalte, oder generierter Code wird ohne Sicherheitsüberprüfung oder Validierung der Abhängigkeiten verwendet.
In jedem Fall ist das Kernproblem dasselbe: Die Ausgabe des LLM überschreitet eine Vertrauensgrenze, ohne dass eine Validierung stattfindet.
Das zentrale Sicherheitsprinzip
Behandeln Sie das Modell wie jeden anderen externen Nutzer. Wenden Sie bei Modellausgaben einen Zero-Trust-Ansatz an, bei dem die Daten vor der Verwendung validiert, vor der Ausführung bereinigt, vor der Darstellung verschlüsselt, vor der Abfrage parametrisiert und vor der Vertrauenswürdigkeit protokolliert werden.
Eine unsachgemäße Behandlung der Ausgabe ist ein Fehler bei der Systemintegration. Sichere LLM-Bereitstellungen erfordern eine strenge Validierung der Ausgabe, kontextbezogene Kodierung, die Einhaltung sicherer Entwicklungsstandards (wie OWASP ASVS) sowie eine kontinuierliche Überwachung, um Missbrauch zu verhindern. LLM-Ausgaben dürfen niemals implizit als vertrauenswürdig angesehen werden.
< Zurück zu Glossar der Begriffe