Sichere KI-Entwicklung
Complete developer guide to building secure AI applications - from input validation to deployment
Updated: August 2026
Sicherheitsgrundsätze
. Verteidigung im Detail
Implement multiple layers of security controls. No single control should be relied upon exclusively.
. Geringstes Privileg
Gewähren Sie Benutzern, APIs und KI-Komponenten die erforderlichen Mindestberechtigungen.
. Ausfallsicher
Wenn Fehler auftreten, werden standardmäßig sichere statt freizügige Zustände verwendet.
. Null Vertrauen
Never trust, always verify. Validate at every boundary, including internal systems.
Eingabevalidierung
All user input must be validated and sanitized before processing. This is your first line of defense against prompt injection and other attacks.
nput-Validierungsklasse
```python
import re
from typing import Optional, List
class InputValidator:
# Known injection patterns
INJECTION_PATTERNS = [
r"ignore\s+(previous|prior|all)\s+(instructions|rules)",
r"(forget|disregard)\s+(your|all)\s+(instructions|rules)",
r"you\s+are\s+(now|still)\s+(dan|do\s+anything)",
r"system\s+prompt:",
r"{{.*}}",
r"\[INST\]|\[/INST\]|<\|end\|>",
]
# Encoding patterns
ENCODING_PATTERNS = [
r"base64:", # Base64 prefix
r"\\x[0-9a-fA-F]{2}", # Hex encoding
r"%[0-9a-fA-F]{2}", # URL encoding
]
def validate(self, user_input: str) -> dict:
"""Validate user input for potential attacks."""
issues = []
# Length check
if len(user_input) > 10000:
issues.append("Input exceeds maximum length")
# Check for injection patterns
for pattern in self.INJECTION_PATTERNS:
if re.search(pattern, user_input, re.IGNORECASE):
issues.append(f"Suspicious pattern detected: {pattern}")
# Check for encoding attempts
for pattern in self.ENCODED_PATTERNS:
if re.search(pattern, user_input):
issues.append(f"Encoded content detected")
# Check for high entropy (possible encoding)
unique_chars = len(set(user_input))
if len(user_input) > 50 and unique_chars / len(user_input) < 0.3:
issues.append("High entropy detected - possible encoding")
return {
"valid": len(issues) == 0,
"issues": issues,
"sanitized": self._sanitize(user_input)
}
def _sanitize(self, user_input: str) -> str:
"""Basic sanitization."""
# Remove control characters
sanitized = re.sub(r'[\x00-\x1F\x7F]', '', user_input)
return sanitized.strip()
```
Checkliste für die Alidierung
- Alidierung an der Anwendungsgrenze
- Überprüfen Sie die Eingabelänge
- Atern-Match für die Injektion
- Kodierungsversuche erkennen
- Typvalidierung
- vor der Verarbeitung anitisieren
- og Validierungsfehler
- aß einschränkend
Ausgabeverarbeitung
LLM outputs must be validated and sanitized before being presented to users or passed to other systems.
Inhaltsfilterung
- Achten Sie auf die Offenlegung sensibler Daten
- Überprüfen Sie, ob keine Systemaufforderungen durchgesickert sind
- Alidate-Ausgabeformat
- Zum Teufel mit injizierten Inhalten
II Erkennung
- können für persönliche Informationen
- sensible Daten erfragen oder redigieren
- og PII-Offenlegungsversuche
- ser-Benachrichtigung, wenn erkannt
Ormat-Validierung
- JSON-Ausgaben alidieren
- Verdammt erwartete Struktur
- Überprüfen Sie die zulässigen Werte
- ggf. HTML anitisieren
Beispiel für einen Ausgabehandler
```python
import re
import json
class OutputHandler:
PII_PATTERNS = {
"ssn": r"\b\d{3}-\d{2}-\d{4}\b",
"email": r"\b[\w.-]+@[\w.-]+\.\w+\b",
"phone": r"\b\d{3}[-.]?\d{3}[-.]?\d{4}\b",
}
def process_output(self, raw_output: str) -> dict:
"""Process and validate LLM output."""
result = {
"original": raw_output,
"cleaned": raw_output,
"warnings": [],
"blocked": False
}
# Check for system prompt leakage
if "system prompt" in raw_output.lower():
result["warnings"].append("System prompt reference detected")
# Scan for PII
for pii_type, pattern in self.PII_PATTERNS.items():
matches = re.findall(pattern, raw_output)
if matches:
result["warnings"].append(f"{pii_type} detected in output")
# Optionally mask
result["cleaned"] = re.sub(pattern, "[REDACTED]", result["cleaned"])
return result
```
PI-Sicherheit
Authentifizierung
- Wir bieten eine starke API-Schlüsselverwaltung
- Implementieren Sie OAuth 2.0, wo möglich
- WT-Token-Validierung
- PI-Schlüsselrotation
Autorisierung
- Ole-basierte Zugriffskontrolle (RBAC)
- PI-Schlüssel-Scoping
- Er-Benutzer-Ratenbegrenzungen
- Enant Isolation
aß Begrenzung
- Oken-basierte Grenzwerte
- Reitsportbezogene Grenzen
- Ostkontrollen
- erhöhte Drosselung
PI-Sicherheitscheckliste
- Nur HTTPS verwenden
- Begrenzung der Implementierungsrate
- Alle Eingaben validieren
- Alle Ausgänge anitisieren
- se API-Schlüssel, nicht eingebettet
- Unterzeichnung der Implementierungsanforderung
- und API-Zugriff
- CORS richtig implementieren
Authentifizierung und Autorisierung
ser-Authentifizierung
- strenge Passwortrichtlinien
- FA-Unterstützung
- Sitzungsmanagement
- Oken Ablauf
PI-Authentifizierung
- PI-Schlüsselverwaltung
- Authentifizierungsbereiche
- WT-Validierung
- Augenrotation
Autorisierung
- BAC-Implementierung
- Emissionsprüfungen
- Zugriff auf Ressourcenebene
- Audit-Protokollierung
ata-Sicherheit
ata-Klassifizierung
- Sensible Daten identifizieren
- nach Sensibilität kategorisieren
- Anwenden von Steuerelementen nach Kategorie
- Regelmäßige Audits
Verschlüsselung
- LS unterwegs
- ES in Ruhe
- ey Management
- Augenrotation
II Handhabung
- Schutz
- Inimisierung
- Onsent-Management
- Recht auf Löschung
Oggen und Überwachen
Hut zum Loggen
Sicherheitsveranstaltungen
- Authentifizierungsversuche
- Autorisierungsfehler
- Essgrenze überschritten
- verdächtige Muster
Ich-spezifische Ereignisse
- unterlassen Sie Injektionsversuche
- System-Eingabeaufforderungszugriff
- Coole Aufrufe
- ata-Zugriff über KI
Perionale Veranstaltungen
- PI-Anrufe
- Fehler und Ausnahmen
- Leistungskennzahlen
- Ostverfolgung
Überwachung von Best Practices
- Echtzeitalarmierung bei Sicherheitsereignissen
- Ashboard für Sicherheitsmetriken
- Automatische Anomalieerkennung
- Integration mit SIEM
- Regelmäßige Protokollüberprüfung
- Aufbewahrungsrichtlinien
Häufige Schwachstellen
. IDOR in KI-Funktionen
Nsecure Direct Object Reference, wenn AI auf Ressourcen zugreift
Beispiel
User asks AI to "read file X" and AI has access without proper authorization checks.
. SSRF über LLM
serverseitige Anforderungsfälschung durch KI-Tool-Aufrufe
Beispiel
Rompt bringt KI dazu, Anfragen an interne Dienste zu stellen.
. Authentifizierungsumgehung
Fehlerhafte oder fehlende Authentifizierung für KI-Endpunkte
Beispiel
I API-Endpunkte ohne ordnungsgemäße Authentifizierungsprüfungen.
. Vektor-DB-Belichtung
Ungeschützte Vektordatenbank mit sensiblen Einbettungen
Beispiel
Öffentlich zugängliche Vektordatenbank mit eingebetteten sensiblen Daten.
Compliance
GDPR (EU)
- schreckliche Grundlage für die Verarbeitung
- ata-Minimierung
- Recht auf Zugriff/Löschung
- ata-Portabilität
CCPA (California)
- Ich muss es wissen
- Recht zum Löschen
- Recht auf Opt-out
- zum Thema Diskriminierung
Ich-spezifisch
- Anforderungen des U AI Act
- Ich risikobeurteile
- Transparenzpflichten
- menschliche Aufsicht