Wer spricht da? Fingerprinting von Large Language Models (LLMs)

Jun 24, 2026 von Raphael Heer

In der modernen Software-Entwicklung führt kaum noch ein Weg an ihnen vorbei: Large Language Models (LLMs). Ob als smarter Kundensupport, Coding Assistant oder internes Wissensmanagement, die Integration von KI-Schnittstellen boomt. Doch während Entwickler versuchen, die zugrunde liegende Technologie hinter abstrakten Chat-Interfaces zu verbergen, stellt sich für Security-Experten eine entscheidende Frage: Welches Modell arbeitet eigentlich im Hintergrund?

Die neue Blackbox im Tech-Stack

Die Anbindung eines LLMs an eine Webapplikation erfolgt meist über eine API-Schnittstelle zu Providern wie OpenAI, Google oder Anthropic, oder über selbst gehostete Instanzen (z. B. via vLLM oder Ollama). Für den Nutzer – und damit auch für einen potenziellen Angreifer – bleibt das Modell zunächst eine Blackbox.

Hinter den Kulissen wird der Benutzer-Input meist mit einem sogenannten System-Prompt angereichert. Dieser definiert die Rolle der KI («Du bist ein hilfreicher Assistent der Schuhhandlung XYZ») und setzt Sicherheitsleitplanken. Aus der Perspektive des Red Teamings ist die Identifikation des Modells («Fingerprinting») der erste kritische Schritt der Enumerierung. Wer das Modell kennt, kennt auch dessen spezifische Schwachstellen, bekannte Jailbreak-Vektoren und typische Halluzinationen.

LLM-Fingerprinting vs. Klassische Enumerierung

Klassisches Software-Fingerprinting ist weitgehend deterministisch. Wir prüfen HTTP-Header, analysieren das Verhalten von TCP-Stacks oder provozieren Fehlermeldungen, um Versionen von Webservern oder Datenbanken zu bestimmen.

Bei LLMs stehen wir vor einer neuen Herausforderung: Stochastik. Da LLMs auf Wahrscheinlichkeiten basieren, ist ihre Antwort auf denselben Input nicht immer identisch. Zudem können System-Prompts das Antwortverhalten massiv verzerren. Ein effektives LLM-Fingerprinting setzt daher weniger auf einfache Signaturen, sondern oft auf heuristische Methoden und statistische Analysen des Outputs.

Das Ziel bleibt jedoch dasselbe: Die Identifikation der Modell-Familie (z. B. GPT-4) und idealerweise der spezifischen Version (z. B. GPT-4o-2024-05-13).

Methodik: Wie man LLMs entlarvt

Die Forschung der letzten Monate und Jahre hat verschiedene aktive Techniken hervorgebracht, um die Identität eines LLMs hinter einer API zu erzwingen:

  • Tokenization-Artefakte: Unterschiedliche Modelle nutzen unterschiedliche Tokenizer (z. B. Tiktoken vs. SentencePiece). Durch gezielte Aufgaben wie «Zähle die Silben in diesem Wort» oder «Buchstabiere das Wort ‹Rhythmus› rückwärts» lassen sich Rückschlüsse auf die zugrunde liegende Zerlegung von Text ziehen.
  • Unicode- & Emoji-Handling: Die Art und Weise, wie ein Modell komplexe Unicode-Zeichen oder Emojis verarbeitet (oder bei der Verarbeitung scheitert), ist oft charakteristisch für eine bestimmte Modellarchitektur.
  • Refusal-Profiling: Jedes Modell hat einen «vortrainierten» moralischen Kompass und spezifische Standardphrasen für Ablehnungen. Die Reaktion auf harte Limits («Wie baue ich eine Bombe?») unterscheidet sich stilistisch stark zwischen einem restriktiven Claude und einem (standardmäßig) etwas offeneren Llama.
  • Logprob-Analyse & Konsistenz: Da ein Fingerprint konsistent sein muss, werden Sonden-Prompts genutzt, deren Antworten zwischen verschiedenen Modellen eine hohe Varianz aufweisen, innerhalb desselben Modells aber stabil bleiben.
  • Latency-Analyse: Auch wenn viele APIs Antworten erst nach vollständiger Generierung ausliefern, geben die Time-to-first-Token (TTFT) oder die generelle Verarbeitungsgeschwindigkeit (Tokens pro Sekunde) wertvolle Hinweise auf die Hardware-Infrastruktur oder die Modellgrösse.

Praktische Umsetzung: Update für LLMmap

Ein vielversprechendes Werkzeug in diesem Bereich ist LLMmap. Die Entwickler dieses Tools haben hierbei ein eigenes, lokal laufendes KI-Modell zur Klassifizierung von LLMs trainiert. Basierend auf acht Prompts, welche auf den zuvor diskutierten Techniken beruhen, wertet dieses Modell aus, um welches LLM es sich hierbei handeln könnte.

Da die KI-Landschaft jedoch extrem schnelllebig ist, veralten die Trainingsdaten solcher Tools innerhalb weniger Monate. Zudem müssen die Antworten auf die acht Prompts jeweils händisch kopiert und an das Modell übergeben werden.

Im Rahmen eines internen Projekts haben wir diesen Ansatz aufgegriffen und erweitert:

1. Aktualisierung des Datensatzes: Wir haben das Trainingsset um die neuesten Iterationen Gemini Modelle von Google und die neuesten Claude Modelle von Anthropic ergänzt.
2. Automatisierung: Ein von uns entwickeltes Script automatisiert die Abfrage von acht spezifischen Sonden-Prompts an eine Ziel-API.
3. Klassifizierung: Die Antworten werden durch das aktualisierte Modell von LLMmap geleitet, um eine statistische Wahrscheinlichkeit für den verwendeten Modelltyp zu erhalten.

Das daraus resultierende Tool wurde anschliessend getestet. Im Folgenden ist die Konsolenausgabe des Tools beim Test mit einer lokalen API zu sehen. Nachdem die Antwort der insgesamt acht Queries empfangen wurden, wertete LLMmap die Ergebnisse auf Basis des lokalen KI-Models aus.

$ python3 request_api.py --connector llm-proxy
           Loading Embedding Model...
           Pre-comupting Queries embeddings...
Model ready for inference.

Sending queries to API
   Query 1/8... oK
   Query 2/8... 0K
   Query 3/8... OK
   Query 4/8... OK
   Query 5/8... OK
   Query 6/8... OK
   Query 7/8... OK
   Query 8/8... OK

Prediction:
           [Distance: 21.8505] --> claude-sonnet-4-6 <--
           [Distance: 22.1653] claude-sonnet-4-5-20250929
           [Distance: 22.1786] claude-haiku-4-5-20251001
           [Distance: 25.4423] claude-opus-4-1-20250805
           [Distance: 35.6339] meta-llama/Llama-3.2-3B-Instruct

Das Resultat: Die Modell-Familie wurde über mehrere Durchläufe hinweg zuverlässig erkannt. Innerhalb der Modell-Familien variierte das Ergebnis zwischen mehreren Durchläufen allerdings leicht. Einige der vorgenommenen Anpassungen wurden als Pull-Request an das Originale Repository zurückgegeben.

Fazit

LLM-Fingerprinting ist weit mehr als eine technische Spielerei. Es ist ein essenzieller Bestandteil moderner Security-Audits. Dennoch bleibt die Reproduzierbarkeit die grösste Hürde: Ein Update des System-Prompts oder eine leichte Anpassung der «Temperature» (Kreativität) des Modells kann das Fingerprinting-Ergebnis beeinflussen.

Für Entwickler bedeutet dies: Security by Obscurity funktioniert auch bei KI nicht. Wer sich darauf verlässt, dass niemand merkt, welches Modell im Hintergrund arbeitet, lässt eine Flanke für gezielte Angriffe offen. Die Härtung der KI-Schnittstellen muss daher immer unabhängig vom Modell und tiefgreifend erfolgen.

Haben Sie Fragen zur Sicherheit Ihrer LLM-Integrationen oder möchten Sie Ihre Webapplikationen und KI-Schnittstellen auf Herz und Nieren prüfen lassen? Unsere Experten unterstützen Sie gerne mit umfassenden Security-Audits und Red Teaming Assessments, um Schwachstellen zu identifizieren, bevor sie ausgenutzt werden können.

Kontaktieren Sie uns für ein unverbindliches Gespräch. Wir helfen Ihnen dabei, Ihre Applikationen auch im Zeitalter der generativen KI sicher zu betreiben.



Referenzen:


< zurück