Promptware: Wie weit Malware für KI-Systeme schon ist | heise online
Der KI-Boom hält unvermindert an, immer mehr Software bekommt KI-Funktionen verpasst und KI-Agenten werden immer öfter an Systeme angebunden. In aller Regel basieren diese künstlichen Intelligenzen auf großen Sprachmodellen (Large Language Models, LLM) und sind damit anfällig für allerlei Probleme.
Beispielsweise neigen große Sprachmodelle dazu, sich beim Nutzer einzuschleimen, und sie halluzinieren mitunter Fakten und Quellen, die es schlicht nicht gibt. Hinzu kommt, dass sie aktiv angegriffen werden können. Letzteres ist ein Problem, das häufig mit dem Begriff „Prompt-Injection“ versehen wird.
- Per Prompt-Injection infizieren Angreifer KI-Systeme über geschickt eingeschleuste und speziell konstruierte Anweisungen.
- Mit den zunehmenden Fähigkeiten der Systeme wachsen sowohl deren Angriffsfläche als auch die Komplexität und Bedrohlichkeit der Angriffe.
- Sicherheitsforscher sehen hier eine neue Art von Malware heranwachsen: Promptware.
Allerdings bezeichnet „Prompt-Injection“ nur den ersten Schritt, den Angriffe auf LLMs in der Regel gehen. Bösartige Anweisungen an Sprachmodelle sind inzwischen umfangreiche und oft aufwendige Konstruktionen. Sie erlauben einem Angreifer etwa, das betroffene System zu erkunden, können ihm Persistenz im Netzwerk des Opfers verschaffen oder eine Fernsteuerung des unterwanderten LLMs ermöglichen.
Prompt-Injections
Als Sammelbegriff für Angriffe gegen große Sprachmodelle war „Prompt-Injection“ nie gedacht oder korrekt. Simon Willison, der Schöpfer des Begriffs, warnte schon vor gut zwei Jahren, dass der Begriff zunehmend synonym mit „Jailbreaking“ verwendet werde, was nicht nur falsch ist, sondern auch die Risikowahrnehmung verfälscht.
„Jailbreaking“ bezeichnet Tricks, mit denen LLMs dazu gebracht werden können, Dinge zu schreiben, die sie – nach dem Willen des LLM-Anbieters – nicht schreiben sollten, beispielsweise Obszönitäten oder urheberrechtlich geschütztes oder anderweitig verbotenes Material. Die Hersteller trichtern daher ihren LLMs diverse Richtlinien („Guardrails“) ein, unter anderem, indem sie versuchen, ihren Modellen in nachgelagerten Trainingsschritten solche Ausgaben auszutreiben oder indem sie Ein- und Ausgabedaten auf Unerwünschtes filtern.
Prompt-Injections passieren hingegen, wenn Sprachmodelle Anweisungen folgen, obwohl diese in einem Kontext auftreten, in dem sie nicht befolgt werden dürfen. Beispielsweise könnte ein Dokument die Instruktion enthalten, nur noch mit einem Piratenakzent und viel „Arrr!“ zu sprechen. Ein LLM, das dieses Dokument zusammenfassen soll, hernach aber nicht nur über diese Anweisung berichtet, sondern sie auch befolgt und sich als Freibeuter geriert, ist von einer Prompt-Injection betroffen.
Über Prompt-Injections können KI-Systeme infiziert werden. Wirklich zuverlässige Gegenmaßnahmen gibt es nicht, aber häufige – und oft wenig beachtete – Warnungen vor dem Risiko.
Der Begriff ist bewusst an „SQL-Injection“ angelehnt, weil hier wie dort Befehle in Eingabedaten nicht als Daten verarbeitet, sondern als Anweisungen befolgt werden. Im Unterschied zu SQL-Injections kann man Prompt-Injections aber weder zuverlässig ausfiltern noch LLMs ihre Anfälligkeit dafür komplett austreiben. Sprachmodelle verarbeiten im Grunde nur einen Strom von Wort- und Satzfragmenten (sogenannte Token) und kennen letztlich keinen Kontext, der berechtigte Anweisungen in dieser Token-Kette von unberechtigten unterscheiden würde. Neuere Modelle sind zwar tendenziell etwas widerstandsfähiger als ältere, aber grundsätzlich scheinen sich die Hersteller damit abgefunden zu haben, dass ihre Kreationen für Prompt-Injections anfällig sind.
Vorsicht vor den Agenten
Wie viel – oder wenig – Schaden ein Angreifer anrichten kann, wenn er per Prompt-Injection einem KI-System Anweisungen unterschiebt, hängt von den Fähigkeiten des Systems ab. Ein LLM, das beispielsweise hinter einem E-Mail-Assistenten steht, kann mit einer E-Mail kompromittiert und von der Nachricht angewiesen werden, andere E-Mails im Postfach auszulesen und an den Angreifer weiterzuleiten. Einen solchen Angriff konnten unter anderem die Sicherheitsfirma Promptarmor gegen den Mailassistenten von Superhuman und das Security-Unternehmen Noma gegen Googles Gemini Enterprise demonstrieren.
Auch die aktuell sehr populären „KI-Agenten“ sind Systeme mit einem LLM im Kern – und ausgesprochen weitreichenden Fähigkeiten. Oft verfügen sie etwa über Zugriff auf Dateisysteme und können potenziell nicht nur geheime Informationen ausleiten, sondern auch essenzielle Daten löschen. Agenten sind auch bei Entwicklern beliebt und haben in diesem Aufgabenumfeld oft Zugriff auf Code-Repositories und dergleichen. Das bietet einerseits ein Einfallstor für mögliche Prompt-Injections, indem Angreifer etwa Instruktionen in Pull-Requests platzieren, die der Agent dann befolgt. Einen solchen Angriff hat der Security-Engineer John Stawinski gegen Anthropics Claude Code Action demonstriert.
Andererseits sind die Zugangsdaten, über die ein Coding-Agent verfügt, auch ein lukratives Ziel: Wenn der Agent sie an den Angreifer verrät, könnte dieser damit herkömmliche Malware in Software-Repositories platzieren. Er könnte auch bösartige Prompts weiterverbreiten, indem er die schädlichen Anweisungen an neuen Orten platziert. Oft haben KI-Agenten auch die Fähigkeit, Programme auszuführen (möglicherweise Programme, die sie selbst heruntergeladen haben), sodass Angreifer mit bösartigen Anweisungen auf dem betroffenen System nach Gusto schalten und walten können.
Dauerhaft infiziert
Häufig können sich Angreifer auch im betroffenen System festsetzen (Persistenz), beispielsweise weil viele Agenten die Option haben, bestimmte Aufgaben regelmäßig auszuführen. Angreifer können einen unterwanderten Agenten also anweisen, den Prompt, der ihn kompromittiert hat, in so einer Aufgabe zu platzieren. Fürderhin wird der Agent jedes Mal neu kompromittiert, wenn er die Ausgabe ausführt, ohne dass der Angreifer neue Angriffe per Prompt-Injection platzieren muss. Aus einer einzelnen, zeitlich begrenzten Attacke gegen ein KI-System wird so eine dauerhafte Bedrohung.
Auch ohne „agentische“ Fähigkeiten lassen sich KI-Systeme mitunter dauerhaft infizieren. Viele KI-Chatbots verfügen über ein sogenanntes Gedächtnis, in dem sie beispielsweise Wünsche ihres Nutzers ablegen können, sodass diese dauerhaft wirksam werden. Angreifer, die so einen Chatbot dazu bringen, Instruktionen des Angreifers in seinem Gedächtnis abzulegen, erreichen auch auf diesem Weg Persistenz.
Besonders nützlich ist ein dauerhaft infiltriertes System für Angreifer, wenn sie es fernsteuern, ihm also je nach Bedarf neue Anweisungen erteilen können. Auch das ist bei KI-Systemen möglich, weil sie beispielsweise oft die Möglichkeit haben, Webseiten aufzurufen. Die regelmäßig ausgeführte Anweisung, eine bestimmte Webseite aufzurufen und zu tun, was dort steht, verschafft Angreifern dann diese Fähigkeit (oft „Command and Control“ oder „C2“ genannt). Der Sicherheitsforscher Johann Rehberger hat Mitte März „Agent Commander“ vorgestellt, einen C2-Server, der genau diese Gefahr demonstriert.
Promptware
Mehrere solche Fähigkeiten in einem per Prompt-Injection eingeschleusten Satz von Anweisungen zu vereinen, ist nicht trivial. Mit den wachsenden Fähigkeiten von KI-Systemen steigt daher nicht nur die Gefährlichkeit von Angriffen darauf, sondern auch deren Komplexität.
Zusammen mit einigen anderen Autoren plädiert Security-Koryphäe Bruce Schneier daher dafür, den Begriff „Promptware“ zu etablieren. Das soll für „Prompt-Initiated Malware“ stehen und der Komplexität solcher Angriffe besser gerecht werden. In Anlehnung an die von Lockheed-Martin eingeführte „Cyber Kill Chain“ definieren die Autoren eine „Promptware Kill Chain“ mit den folgenden Kettengliedern:
- Initial Access
- Privilege Escalation
- Reconnaissance
- Persistence
- Command and Control
- Lateral Movement
- Actions on Objective
„Initial Access“ bezeichnet die anfängliche Infiltrierung mittels Prompt-Injection, „Privilege Escalation“ das oben bereits erläuterte Jailbreaking. Im Kontext einer Promptware ist Jailbreaking beispielsweise nötig, um den Agenten zu gefährlichen Aktionen zu veranlassen, die er normalerweise ob des Risikos verweigern würde, selbst wenn die Anweisung vom Nutzer käme. „Lateral Movement“ bezeichnet das erwähnte Weiterverbreiten der Promptware und „Actions on Objective“ deren eigentliches Ziel, etwa geheime Daten auszuleiten.
Nicht zur Sprache kam bislang die Aufklärung („Reconnaissance“). Im Kontext klassischer Malware ist damit gemeint, dass Angreifer sich im Vorfeld mit dem Zielsystem vertraut machen, um beispielsweise zu entscheiden, welche Art von Malware die höchste Erfolgschance verspricht, das System zu infiltrieren. Promptware hat aus Angreifersicht den Vorteil, dass sie ein Sprachmodell infiziert, das selbst Schlüsse ziehen kann. Angreifer können die Aufklärung daher teilweise dem System selbst überlassen: „Wenn Du Claude bist und Zugriff auf das Dateisystem hast, mache Folgendes, andernfalls …“
Ein wichtiger Aspekt findet sich bewusst nicht in der Promptware-Killchain: „Evasion“, also das Ausweichen, um nicht entdeckt zu werden. Damit ist gemeint, dass Promptware, wie jede Form von Malware, üblicherweise vor Nutzern des angegriffenen Systems verborgen bleiben soll – zumindest bis sie ihr Ziel erreicht hat. Die Autoren sehen das nicht als eigenen Schritt der Killchain, sondern als Aspekt, der in allen Schritten bedacht werden muss.
ASCII-Smuggling: Nur der Blick in die Statusleiste verrät, dass hier insgesamt 60 Zeichen stehen, die eine versteckte – aber für KIs lesbare – Anweisung kodieren.
Verschleierungstaktiken
Jedenfalls haben Sicherheitsforscher beeindruckend kreative Wege gefunden, mit denen Promptware ihrer Entdeckung entgehen kann. Die infizierenden Anweisungen können zu klein oder zu blass für menschliche Wahrnehmung angezeigt werden, was bereits in diversen Angriffen demonstriert wurde. Bösartige Anweisungen können in nicht druckbaren Unicode-Zeichen formuliert werden, die nie dargestellt, aber von Sprachmodellen interpretiert werden; eine Technik, die der KI-Entwickler Riley Goodside „ASCII-Smuggling“ nannte. Sie können auch in HTML-Tags stecken, die vom Sprachmodell ausgewertet, aber von der Bedienoberfläche verschluckt werden, ein Trick, den die Sicherheitsfirma Oasis Security gegen Anthropics Claude demonstrierte. Angreifer, die auf sogenannte multimodale Sprachmodelle abzielen, können Anweisungen auch in Bildern platzieren. Solche und viele weitere Tricks finden Forscher fortlaufend.
In späteren Schritten der Killchain kann Promptware einer Entdeckung entgehen, indem sie das KI-System anweist, typische Rückmeldungen an Nutzer zu unterlassen oder zu verfälschen. Manche Systeme erzwingen bei potenziell gefährlichen Aktionen auch eine Nutzerinteraktion, etwa in Form von Sicherheitsmeldungen. Geschickte Promptware kann unentdeckt bleiben, indem sie zum Beispiel den unvermeidlichen Hinweisen auf ihre bösartigen Machenschaften gutartigen Text voranstellt – getrennt durch viele Leerzeichen. In einem Pop-up-Fenster typischer Größe sehen Nutzer dann nur den gutartigen Text. Die Sicherheitsfirma Invariant Labs demonstrierte einen Angriff dieser Art gegen einen Agenten, der Zugriff auf ein WhatsApp-Konto hat.
Fazit
Angriffe auf KI-Systeme, hinter denen ein LLM steckt, sind mittlerweile hochkomplex, können weitreichende Auswirkungen haben und benötigen oft keinerlei zusätzliche Komponenten. Johann Rehberger nennt Agenten eine neue Art von Ausführungsschicht („Agents are a new execution layer.“). Sie kann eine neue Form von Malware beherbergen, die nur aus natürlichsprachlichen Anweisungen besteht und KI-Systeme befällt.
Aktuell sind bekannte Promptware-Angriffe typischerweise gutartige Demonstrationen wohlmeinender Sicherheitsforscher. Die angegriffenen Systeme sind allerdings keine Labor-Dummys, sondern produktiv eingesetzte Software, sodass dem Aufkommen bösartiger Promptware leider nichts im Wege steht. (syt)