Zenker | GenAI Security | E-Book | sack.de
E-Book

E-Book, Deutsch, 205 Seiten

Reihe: Rheinwerk Computing

Zenker GenAI Security

Sichere Chatbots und Agentensysteme
1. Auflage 2025
ISBN: 978-3-367-10552-6
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

Sichere Chatbots und Agentensysteme

E-Book, Deutsch, 205 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-10552-6
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Neue Technologien, neue Risiken - das gilt auch für Unternehmensanwendungen mit generativer KI und großen Sprachmodellen. Erfahren Sie in diesem digitalen Buch, wie Sie Schwachstellen erkennen und Angriffe auf Ihre GenAI-Apps verhindern. Security-Experte Paul Zenker zeigt Ihnen, worauf Sie bei Konzeption, Entwicklung und Betrieb achten müssen. Mit vielen Praxisbeispielen und Abbildungen zu Bedrohungsszenarien und Anwendungsarchitekturen sowie Schritt-für-Schritt-Anleitungen, die Ihnen Prompt Injections, Jailbreaks und andere Techniken erläutern. So machen Sie Ihre GenAI-Anwendungen fit gegen Angreifer!

Aus dem Inhalt:

  • Aufbau und Angriffspunkte von GenAI-Apps
  • Auswahl und Schutz von Trainingsdaten
  • Sicherheit bei Konzeption und Entwicklung berücksichtigen
  • Prompt Injections und Jailbreaks
  • GenAI-gestütztes Pentesting
  • Fuzzing von GenAI-Anwendungen
  • Web Security Basics


IT-Security Analyst
Zenker GenAI Security jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


Kapitel 1.  GenAI Basics ... 13  1.1 ... Wie funktionieren LLMs? ... 14  1.2 ... LLM-Onboarding - wie kommen LLMs an Wissen? ... 25  1.3 ... AI-Agenten ... 31  1.4 ... Zusammenfassung ... 34  1.5 ... Literatur ... 35

Kapitel 2.  Warum GenAI-Sicherheit so besonders ist ... 37  2.1 ... Die klassische IT-Sicherheit ... 37  2.2 ... Risiken ... 39  2.3 ... Unberechenbarkeit und stetige Veränderung ... 44  2.4 ... Anweisungen in menschlicher Sprache ... 45  2.5 ... Der Mann in der Box ... 47  2.6 ... Katz-und-Maus-Spiel ... 48  2.7 ... Literatur ... 52

Kapitel 3.  Anatomie und Angriffsfläche von GenAI-Anwendungen ... 53  3.1 ... Nutzer als Angreifer ... 56  3.2 ... Nutzer als Angriffsziel ... 58  3.3 ... Ein externer Angreifer ... 60  3.4 ... LLMs als Angreifer ... 62  3.5 ... Zusammenfassung ... 64  3.6 ... Literatur ... 64

Kapitel 4.  Sicherheit sollte geplant sein ... 65  4.1 ... Threat Modeling ... 65  4.2 ... Software Bill of Material (SBOM) ... 81  4.3 ... Architecture Decision Records ... 86  4.4 ... Kontinuierliches Dokumentieren ... 89  4.5 ... Literatur ... 91

Kapitel 5.  Daten sind das Gold des 21sten Jahrhunderts - und des Angreifers ... 93  5.1 ... Mehr zu LLM-Onboarding ... 93  5.2 ... Prinzipien zur Auswahl von Daten ... 95  5.3 ... Sensible Daten finden ... 99  5.4 ... Prozess zur Datenauswahl ... 101  5.5 ... Literatur ... 103

Kapitel 6.  Prompt Injections ... 105  6.1 ... Was sind Prompt Injections? ... 105  6.2 ... Altbekannte Schwachstellen ... 109  6.3 ... Jailbreaks ... 112  6.4 ... Die Evolution der Prompt Injection ... 113  6.5 ... Gegenmaßnahmen ... 117  6.6 ... Literatur ... 126

Kapitel 7.  OWASP LLM Top Ten ... 127  7.1 ... LLM01: Prompt Injection ... 128  7.2 ... LLM02: Sensitive Information Disclosure ... 128  7.3 ... LLM03: Supply Chain ... 129  7.4 ... LLM04: Data and Model Poisoning ... 136  7.5 ... LLM05: Improper Output Handling ... 139  7.6 ... LLM06: Excessive Agency ... 143  7.7 ... LLM07: System Prompt Leakage ... 146  7.8 ... LLM08: Vector and Embedding Weakness ... 146  7.9 ... LLM09: Misinformation ... 148  7.10 ... LLM10: Unbound Consumption ... 150  7.11 ... Insecure Plugin Design ... 154  7.12 ... OWASP-Top-Ten-Liste, wie nutzen? ... 157  7.13 ... Literatur ... 158

Kapitel 8.  GenAI-Sicherheitstests ... 159  8.1 ... Begriffserklärungen ... 159  8.2 ... Schwachstellen dokumentieren ... 162  8.3 ... Security Scans ... 166  8.4 ... GenAI Pentesting und Red Teaming ... 174  8.5 ... Literatur ... 185

Kapitel 9.  GenAI und Cybersecurity ... 187  9.1 ... GenAI und Angreifer ... 188  9.2 ... GenAI und Verteidiger ... 192  9.3 ... Literatur ... 196

Kapitel 10.  Alte Lehren nicht vergessen ... 197  Index ... 203


Kapitel 1

GenAI Basics


Das Paradoxe an Large Language Models (LLMs) ist, dass sie scheinbar sehr einfach zu verstehen sind, weil sie in menschlicher Sprache kommunizieren. Andererseits scheinen sie ein großes Enigma zu sein, da sie aus Milliarden von Parametern bestehen und ihnen komplexe Matrizenmultiplikationen zugrunde liegen. Selbst die Entwickler dieser Modelle müssen zugeben, dass sie nicht alle deren Antworten und Fähigkeiten verstehen. Dies macht es zu einer Mammutaufgabe, sie sicher einzusetzen. Noch schwieriger, wenn nicht sogar fast unmöglich, scheint es zu sein, das in einer sicheren Art und Weise zu tun. Trotz alledem soll dies der Gegenstand dieses Buches sein.

Bevor wir uns jedoch auf diese Reise begeben, wollen wir erst einmal ein grundlegendes Verständnis erlangen, was sich hinter Generative AI (GenAI) verbirgt. Wie bereits besprochen, sind die genauen Vorgänge hochkomplexe Mathematik, und ich bin weder Mathematiker noch hatte ich besonders gute Noten in meinen wenigen Vorlesungen zu theoretischer Informatik. Daher werde ich die Erklärungen dazu im Folgenden auf bunte Zeichnungen und Analogien beschränken. Schließlich soll dieses Buch ein praktischer Leitfaden sein und den Leser oder die Leserin nicht zu viele Haare kosten. Der Verlust von ein paar Haaren ist jedoch unvermeidlich.

An einigen Stellen werde ich die englischen Wörter für Begriffe verwenden oder diese mit angeben. Da ein großer Teil der weiterführenden Literatur in Englisch ist, hilft dir dies, andere Literatur besser zu verstehen und zu finden.

1.1    Wie funktionieren LLMs?


Es fällt mir nicht ganz leicht, einen Punkt zu finden, an dem eine Erklärung zur Funktionsweise von LLMs beginnen sollte. Am besten starte ich wohl mit einer Beobachtung, die ich gemacht habe, als ich Literatur und Erklärungen zur Funktionsweise von LLMs durchging. Dabei werden wir über einige Begrifflichkeiten stolpern, die dir eventuell bisher nicht bekannt waren. Sofern diese relevant sind, werden sie im Laufe des Kapitels erklärt.

Es ist erschreckend, wie groß der Teil an bahnbrechenden Entdeckungen in diesem Bereich ist, der sich zusammenfassen lässt mit: »Wir haben etwas ausprobiert, das funktionieren könnte, das hat es interessanterweise auch, aber so richtig wissen wir nicht, wieso.« In dem Paper »Attention is All You Need«, das den Weg für die heutige Generation von Sprachmodellen ebnete, entwickeln die Autoren einen neuen Weg, mit sequenziellen Daten, wie Text und Sprache, in Computern zu arbeiten. Dafür verwenden sie hauptsächlich den sogenannten »Attention«-Mechanismus, der vor Veröffentlichung dieses Papers nur ein kleinerer Teil von AI-Architekturen war. Ihre Begründung dafür? Die dafür notwendigen Berechnungen lassen sich gut auf verschiedenen GPUs parallelisieren. Überraschenderweise stellte sich heraus, dass dieser Mechanismus wirklich gut darin ist, Sprache zu verarbeiten und einem Computer verständlich zu machen (Vaswani et al., 2017).

Ebenso ergeht es dem großartigen Stephen Wolfram in seinem Blogpost »What Is ChatGPT Doing … and Why Does It Work?«. An vielen Stellen muss er zugeben, dass es keinen stringenten mathematischen Beweis für das Funktionieren einiger Prinzipien gibt, sondern diese aus praktischen Erfahrungen entspringen. So ist es etwa der Fall, dass die Temperature, ein Parameter, der die Kreativität von LLMs bestimmt, 0,8 betragen sollte, wenn man damit einen Aufsatz schreiben möchte. Die Frage nach dem Warum beantwortet er in etwa so: »Es sollte angemerkt werden, dass hier keine ›Theorie‹ verwendet wird, sondern dies eine Erfahrung aus dem ist, was in der Praxis funktioniert.« (Wolfram, 2023).

Dies vereinfacht das Verstehen dieser Modelle selbstverständlich nicht unbedingt, aber zeigt auf jeden Fall, wie komplex die dahinterstehende Theorie ist. Allerdings ist es nicht unbedingt notwendig, direkt auf diesem Level einzusteigen, für dieses Buch ist ein Verständnis auf einem hohen Fluglevel durchaus ausreichend. Dennoch ist es äußerst interessant und spannend, sich mit diesem Thema weiter auseinanderzusetzen. Einen hervorragenden Einblick in das Thema liefert der oben genannte Blogpost von Stephen Wolfram.

1.1.1    LLMs als Black Box


Wenn man ein LLM als Black Box betrachtet, dann tut es in etwa das Folgende:

Abbildung 1.1     Ein LLM als Black Box

Als Input bekommen sie eine Abfolge von Text, und sie berechnen, wie dieser Text sinnvoll weitergeführt werden kann. Bei einem Durchlauf dieses Modells bestimmt das Modell den nächsten Token. Ein Token ist ein Textbaustein. Somit setzt das Modell Textbaustein für Textbaustein seine Antwort zusammen.

Nun besteht die berechtigte Frage: »Warum sagt das Sprachmodell nicht das nächste Wort voraus?« Da in den meisten Sprachen Wörter aus wiederkehrenden kleineren semantischen Teilen gebildet werden, ist es sinnvoll und platzsparend, einem Modell diese kleineren Teile von Wörtern beizubringen. Denn alle Token, die ein Modell ausgeben kann, müssen eine mathematische Repräsentation in diesem Modell haben. Am Beispiel der deutschen Sprache: Der aktuelle Rechtschreibduden enthält 148.000 Grundformen von Wörtern, und dabei handelt es sich nur um die Grundformen häufig verwendeter Wörter (Der Umfang des deutschen Wortschatzes, Duden). OpenAIs GPT-3-Modell zum Beispiel kommt mit etwa 50.000 Token aus. Für GPT-3.5 und 4 sind es etwa 100.000 Token und für GPT-4o 200.000 Token. Allerdings beherrschen diese Modelle auch eine Vielzahl an Sprachen. Daher wäre es ungeschickt, einem Modell alle diese Wörter in allen Konjugationsformen aus all diesen Sprachen als mögliche Werte zur Vorhersage beizubringen.

Einen Einblick darin, wie diese Modelle einen Text in Token zerlegen, kann man auf der Demo-Website zum Tokenizer von OpenAI erhalten (https://platform.openai.com/tokenizer). Zum Beispiel würde GPT-3 den Text »Hier ist eine geschriebene Folge an Wörtern.« wie folgt aufteilen:

H-ier- is-t- e-ine- g-es-ch-ri-eb-ene- Fol-ge- an- W-ör-tern-.

Gibt man dem Modell GPT-4 die folgende Anfrage: »Schreibe einen Witz in zwei Wörtern!«, dann liefert es den sehr politischen Output: »Regierungseffizienz«. Allerdings geht es hier nicht um die Qualität des Witzes, sondern ich wollte zeigen, dass GPT-4 diesen Witz aus den folgenden Stücken zusammensetzt:

Reg-ierung-se-ff-iz-ien-z-<|endoftext|>

Daraus folgt, dass das GPT-4-Modell diese Anfrage in 8 Token, also 8 Durchläufen, beantwortet. Das heißt, das Modell unternimmt 8 Durchläufe und spuckt jedes Mal einen Token aus. Der letzte Token ist der Weg des Modells zu sagen, dass das Ende des Texts erreicht ist und kein weiterer Aufruf des Modells erfolgen soll.

Mit dieser Tiefe an Wissen ausgestattet ist es definitiv möglich, den Rest des Buches zu verstehen und den Großteil des Mehrwertes zu erhalten. Allerdings möchte ich dir auch im Rest des Kapitels einen tieferen Einblick in die Funktionsweise von LLMs geben. Die folgenden Details zu kennen, hat zumindest mir einen besseren Blick auf die Security-Themen ermöglicht.

1.1.2    Primer neuronale Netze


Um zu verstehen, wie ein so gigantisches Modell wie ein LLM funktioniert, müssen wir einige der Prinzipien an einem kleinen neuronalen Netzwerk erörtern. In der Skalierung hin zu einem Modell mit Milliarden an Parametern bleiben sie ähnlich, werden aber wesentlich komplexer.

Ein einfaches neuronales Netzwerk besteht aus drei Arten von Schichten: einer Eingabeschicht (engl. Input Layer), einer oder mehreren versteckten Schichten (engl. Hidden Layers) und zu guter Letzt einer Ausgabeschicht (engl. Output Layer).

Abbildung 1.2     Struktur eines neuronalen Netzwerks

Die Eingabeschicht besitzt genauso viele Eingabeeinheiten wie die Anzahl der Features, zwischen denen das Netzwerk Zusammenhänge lernen soll. Sagen wir, das Netzwerk soll zwischen Hunden und Katzen unterscheiden anhand der folgenden drei Features:

  • Ohrenabstand in Zentimetern

  • Größe in Zentimetern

  • täglicher Schlaf in Minuten

Diese Zahlen wären also der Input eines neuronalen Netzwerks. Die versteckten Schichten des neuronalen Netzwerks ermöglichen dem Modell, die Zusammenhänge zwischen den Parametern und der Ausgabe zu lernen und mathematisch zu modellieren. Je mehr Schichten das Netzwerk hat, desto »tiefer« (engl. deep) ist es und desto detaillierter kann es Zusammenhänge modellieren. Daher auch der Begriff Deep Learning. Das heißt nicht, dass ein tieferes Netzwerk gleich besser ist, aber dies führt an der Stelle zu weit. In diesen versteckten Schichten befinden sich sogenannte Weights (dt. Gewichte), Biases (dt. Verzerrung) und Perceptrons (dt. Perzeptronen). Bei Weights und Biases handelt es sich um lernbare Parameter in dem Modell. Ein Perceptron enthält eine definierte mathematische Funktion, die den Input ihrer Vorgänger aufnimmt und einen Output...


Zenker, Paul
IT-Security Analyst



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.