Large Language Model (LLM)-Anwendungen sind anfällig für Prompt Injection, Data Poisoning, Modell Denial of Service und mehr.
Nach Lektüre dieses Artikels können Sie Folgendes:
Link zum Artikel kopieren
Das Open Web Application Security Project (OWASP) ist eine internationale gemeinnützige Organisation, die sich der Sicherheit von Webanwendungen widmet. OWASP möchte anderen Organisationen helfen, die Sicherheit ihrer Webanwendungen zu verbessern, indem es eine Reihe kostenloser Informationen in Form von Dokumenten, Tools, Videos, Konferenzen und Foren zur Verfügung stellt.
Der OWASP Top 10 Bericht identifiziert die zehn Risiken für die Anwendungssicherheit, die von Sicherheitsfachleuten als besonders kritisch eingestuft werden. OWASP empfiehlt allen Unternehmen, die Erkenntnisse aus diesem Bericht in ihre Sicherheitsstrategie für Webanwendungen zu integrieren.
2023 startete eine OWASP Arbeitsgruppe ein neues Projekt zur Erstellung eines ähnlichen Berichts mit Fokus auf Bedrohungen für Large Language Model (LLM)-Apps. Die OWASP Top 10 für Large Language Model-Apps identifiziert Bedrohungen, liefert Beispiele für Schwachstellen und reale Angriffsszenarien und schlägt Gegenstrategien vor. OWASP möchte Entwickler, Designer, Architekten und Führungskräfte für die Bedrohungslandschaft sensibilisieren und ihnen helfen, sich vor Bedrohungen zu schützen.
Nachfolgend sind die Schwachstellen aufgeführt, die im OWASP Top 10 für LLM-Apps-Bericht vom Oktober 2023 hervorgehoben wurden:
Prompt Injection ist eine Taktik, bei der Angreifer die für ein LLM verwendeten Prompts manipulieren. Angreifer könnten versuchen, sensible Informationen zu stehlen, vom LLM gesteuerte Entscheidungsprozesse zu beeinflussen oder das LLM in einem Social Engineering-Schema zu verwenden.
Angreifer können Prompts auf zwei Arten manipulieren:
Es gibt eine Reihe von Möglichkeiten, Schäden durch Prompt Injection zu verhindern. Beispielsweise können Unternehmen robuste Richtlinien für die Zugriffskontrolle für Backend-Systeme implementieren, Menschen in LLM-gesteuerte Prozesse einbinden und sicherstellen, dass Menschen bei LLM-gesteuerten Entscheidungen das letzte Wort haben.
Wenn Unternehmen die LLM-Ergebnisse nicht überprüfen, können von böswilligen Nutzern erzeugte Ergebnisse zu Problemen in nachgeschalteten Systemen führen. Die Ausnutzung einer unsicheren Output-Verarbeitung kann zu Cross-Site-Scripting (XSS), Cross-Site-Request-Forgery (CSRF), serverseitige Request-Forgery (SSRF), Remote-Code-Ausführung (Remote Code Execution RCE) und andere Arten von Angriffen führen. Beispielsweise könnte ein Angreifer ein LLM dazu bringen, ein schädliches Skript auszugeben, welches dann von einem Browser interpretiert wird und so einen XSS-Angriff verursacht.
Unternehmen können die unsichere Output-Verarbeitung vermeiden, indem sie ein Zero Trust-Sicherheitsmodell anwenden und das LLM wie jeden anderen Nutzer oder jedes andere Gerät behandeln. Sie müssten dann jeden Output des LLM validieren, bevor diese Outputs andere Funktionen steuern könnten.
Angreifer könnten versuchen, die Daten, mit denen ein LLM-Modell trainiert wird, zu manipulieren oder zu „vergiften“. Datenmanipulation kann dazu führen, dass das Modell nicht mehr in der Lage ist, genaue Ergebnisse zu liefern oder KI-gesteuerte Entscheidungen zu unterstützen. Diese Art von Angriff könnte von böswilligen Konkurrenten ausgehen, die den Ruf des Unternehmens, das das Modell verwendet, schädigen wollen.
Um die Wahrscheinlichkeit von Datenmanipulation zu verringern, müssen Unternehmen die Datenlieferkette sichern. In diesem Zusammenhang sollten sie die Legitimität der Datenquellen überprüfen, einschließlich aller Big-Data-Komponenten, die für die Modellierung verwendet werden. Sie sollten auch dafür sorgen, dass das Modell keine Daten aus nicht vertrauenswürdigen Quellen scrapen kann und sollten Daten zusätzlich bereinigen.
Ähnlich wie bei einem Distributed-Denial-of-Service-Angriff (DDoS) können Angreifer einen LLM dazu nutzen, ressourcenintensive Operationen auszuführen, um die Dienstqualität zu beeinträchtigen, die Kosten in die Höhe zu treiben oder den Betrieb auf andere Weise zu stören. Diese Art von Angriffen könnte unentdeckt bleiben, da LLM oft große Mengen an Ressourcen verbrauchen und der Ressourcenbedarf je nach Nutzereingaben schwanken kann.
Um diese Art von Denial-of-Service- Angriff zu vermeiden, können Unternehmen API -Ratenbegrenzungen für einzelne Nutzer oder IP-Adressen durchsetzen. Sie können auch Eingaben validieren und bereinigen. Außerdem sollten sie die Ressourcennutzung kontinuierlich überwachen, um verdächtige Spitzen zu erkennen.
Sicherheitslücken in der Supply Chain für LLM-Anwendungen können dazu führen, dass die Modelle Sicherheitsrisiken ausgesetzt sind oder ungenaue Ergebnisse liefern. Verschiedene Komponenten, die in LLM-Apps verwendet werden – einschließlich vortrainierter Modelle, Daten, die zum Trainieren der Modelle verwendet werden, Datensätze von Drittanbietern und Plug-ins – können die Grundlage für einen Angriff bilden oder andere Probleme beim Betrieb der LLM-App verursachen.
Die Behebung von Schwachstellen in der Supply Chain beginnt mit der sorgfältigen Überprüfung der Lieferanten und der Kontrolle ihrer Sicherheitsmaßnahmen. Organisationen sollten auch ein aktuelles Inventar der Komponenten führen und die gelieferten Daten und Modelle überprüfen.
LLM-Anwendungen könnzen versehentlich vertrauliche Daten in den Antworten offenlegen, von sensiblen Kundeninformationen bis hin zu geistigem Eigentum. Diese Art der Offenlegung könnte einen Verstoß gegen die Compliance darstellen oder zu Sicherheitsverletzungen führen.
Die Abwehrmaßnahmen sollten sich darauf konzentrieren, das Eindringen vertraulicher Informationen und böswilliger Eingaben in die Trainingsmodelle grundsätzlich zu verhindern. Datenbereinigung und Scrubbing sind für dafür unerlässlich.
Da die Entwicklung von LLM grenzüberschreitende Datentransfers beinhalten kann, sollten Unternehmen auch automatisierte Datenlokalisierungskontrollen implementieren, um bestimmte sensible Daten in bestimmten Regionen zu speichern. Sie können die Integration anderer Daten in LLM ermöglichen.
LLM-Plugins können die Modellfunktionalität verbessern und die Integration mit Diensten von Drittanbietern erleichtern. Einige Plugins enthalten jedoch möglicherweise keine ausreichenden Zugriffskontrollen, so dass Angreifer böswillige Eingaben machen können. Diese Eingaben könnten RCE oder eine andere Art von Angriff ermöglichen.
Um den Missbrauch von Plugins zu verhindern, muss das Design von Plugins sicherer gestaltet werden. Plugins sollten Eingaben kontrollieren und Eingabeprüfungen durchführen, um sicherzustellen, dass kein Schadcode durchkommt. Darüber hinaus sollten Plugins Authentifizierungskontrollen implementieren, die auf dem Prinzip des minimalen Zugangs (Least Privilege) basieren.
Entwickler räumen LLM-Apps oft einen gewissen Handlungsspielraum ein – die Möglichkeit, automatisch auf einen Prompt zu reagieren. Gibt man Anwendungen jedoch zu viel Entscheidungsspielraum, kann dies zu Problemen führen. Wenn eine LLM unerwartete Ausgaben erzeugt (aufgrund eines Angriffs, einer KI-Halluzination oder eines anderen Fehlers), könnte die App potenziell schädliche Maßnahmen ergreifen, wie z. B. die Preisgabe sensibler Informationen oder das Löschen von Dateien.
Um übermäßigen Handlungsspielraum zu vermeiden, sollten Entwickler die Funktionalität, Berechtigungen und Autonomie von Plugins und anderen Tools auf das notwendige Minimum beschränken. Unternehmen, die LLM-Apps mit Plugins betreiben, können auch verlangen, dass Menschen bestimmte Aktionen autorisieren, bevor sie durchgeführt werden.
LLM sind nicht perfekt. Sie können gelegentlich falsche Ergebnisse, KI-Halluzinationen oder voreingenommene Antworten erzeugen, selbst wenn sie diese Ergebnisse kompetent präsentieren. Wenn sich Unternehmen oder Einzelpersonen zu sehr auf LLM verlassen, könnten sie Fehlinformationen verbreiten, die zu Regelverstößen, rechtlichen Risiken und Reputationsschäden führen können.
Um die Problemedes blinden Vertrauens zu vermeiden, sollten Unternehmen LLM-Überwachungsrichtlinien einführen. Außerdem sollten sie die Ergebnisse regelmäßig überprüfen und mit Informationen aus anderen vertrauenswürdigen externen Quellen vergleichen, um sicherzustellen, dass sie korrekt sind.
Angreifer könnten versuchen, auf proprietäre LLM-Modelle zuzugreifen, sie zu kopieren oder zu stehlen. Diese Angriffe könnten den Wettbewerbsvorteil eines Unternehmens oder den Verlust sensibler Informationen innerhalb des Modells zur Folge haben.
Der Einsatz strenger Zugriffskontrollen, einschließlich rollenbasierter Zugriffskontrollen (RBAC), kann dazu beitragen, unbefugten Zugriff auf LLM-Modelle zu verhindern. Unternehmen sollten die Zugriffsprotokolle auch regelmäßig überwachen und auf jedes unbefugte Verhalten reagieren. Funktionen zum Schutz vor Datenverlust (Data Loss Prevention, DLP) können dabei helfen, Versuche zu erkennen, Informationen aus der Anwendung zu exfiltrieren.
Wie in dem OWASP-Dokument nahegelegt wird, benötigen Organisationen eine vielschichtige Strategie, um LLM-Apps vor Bedrohungen zu schützen. Zum Beispiel sollten sie:
Um Unternehmen bei der Bewältigung der Risiken von LLM-Anwendungen zu unterstützen, entwickelt Cloudflare Firewall for AI eine erweiterte WAF speziell für LLM-Apps. Unternehmen können Firewall for AI vor LLM einsetzen, um Sicherheitslücken zu erkennen und Missbrauch zu erkennen, bevor diese die Modelle erreichen. Firewall for AI nutzt das große globale Netzwerk von Cloudflare und wird in der Nähe der Nutzer eingesetzt, um Angriffe frühzeitig zu erkennen und sowohl die Nutzer als auch die Modelle zu schützen.
Darüber hinaus bietet Cloudflare AI Gateway eine AI-Ops-Plattform für die Verwaltung und Skalierung von Workloads generativer KI über eine einheitliche Schnittstelle. Sie fungiert als Proxy zwischen dem Dienst eines Unternehmens und dessen Schnittstellenanbieter und hilft dem Unternehmen, KI-Apps zu beobachten und zu kontrollieren.
Mehr Informationen zu den OWASP Top 10 für LLM finden Sie im offiziellen Bericht.