Token-Angriffe und Härtung
Authentifizierungsabläufe vor Missbrauch schützen
Token-Angriffe und Härtung ist eine kostenlose Cyber Security Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cyber Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Tokens als Anmeldedaten
In moderner Authentifizierung sind Tokens Anmeldedaten. Wer ein gültiges Bearer-Token besitzt, wird bis zu dessen Ablauf oder Widerruf als authentifizierte Partei behandelt.
- Der Diebstahl eines Tokens entspricht damit dem Diebstahl von Anmeldedaten.
- Bei der Absicherung geht es vor allem darum, die Token-Lebensdauer zu begrenzen, Tokens an einen Besitzer zu binden und einen schnellen Widerruf zu ermöglichen.
Diese Lektion behandelt Angriffe auf OAuth-, OIDC- und SAML-Tokens sowie die entsprechenden Schutzmaßnahmen.
JWT-Algorithmusverwechslung
Bei einem klassischen JWT-Angriff wird der alg-Header missbraucht.
- Wird alg: none akzeptiert, kann ein Angreifer signaturlose Tokens fälschen.
- Bei der Verwechslung von RS256 und HS256 signiert der Angreifer ein Token mit dem öffentlichen RSA-Schlüssel als HMAC-Geheimnis neu.
Abwehr: Legen Sie den erwarteten Algorithmus serverseitig fest und lassen Sie niemals zu, dass das Token den verwendeten Prüfpfad bestimmt.
Vulnerable: verify(token, key) // alg taken from header
Hardened: verify(token, key, { algorithms: ["RS256"] })
// reject alg:none, reject HS* when RS* expectedToken-Diebstahl durch XSS und Logs
Die häufigste Kompromittierung eines Tokens ist der schlichte Diebstahl eines gültigen Tokens.
- XSS liest Tokens aus
localStorageoder dem Speicher. - Tokens in URLs gelangen über den Browserverlauf, Referrer-Header und Server-Logs nach außen.
- Ausführliches Logging von
Authorization-Headern.
Verwenden Sie für Browser-Sitzungen bevorzugt httpOnly-, Secure- und SameSite-Cookies und entfernen Sie Tokens aus Logs und URLs.
Set-Cookie: session=...; HttpOnly; Secure; SameSite=Lax
// keeps JS (and thus XSS) from reading the tokenReplay-Angriffe
Bei einem Replay-Angriff wird ein abgefangenes gültiges Token wiederverwendet, um als das Opfer zu handeln.
- Schutz bieten kurze Ablaufzeiten, eine einmalige
nonce(OIDC) und die Nachverfolgung von Assertion-IDs (SAML). - TLS verhindert das passive Abfangen im Netzwerk.
- Sendergebundene Tokens verhindern die Wiederverwendung selbst dann, wenn sie gestohlen wurden.
Replay defenses:
short exp + nonce/jti uniqueness
TLS everywhere
sender-constrained tokens (mTLS / DPoP)Sendergebundene Tokens
Bearer-Tokens können von jedem verwendet werden, der sie besitzt. Sendergebundene Tokens werden an einen bestimmten Client-Schlüssel gebunden.
- An mTLS gebundene Tokens (RFC 8705) verknüpfen das Token mit dem TLS-Zertifikat des Clients.
- DPoP (RFC 9449) bindet das Token an einen Proof-of-Possession-Schlüssel, mit dem der Client jede Anfrage signiert.
Ein gestohlenes Token ist dann ohne den passenden privaten Schlüssel nutzlos.
DPoP: each request carries a signed proof JWT
DPoP: <proof-jwt signed with client private key>
Authorization: DPoP <access_token>Kurze Lebensdauer und Refresh-Rotation
Begrenzen Sie den Zeitraum, in dem ein gestohlenes Token verwendet werden kann.
- Halten Sie Access-Tokens kurzlebig (Minuten).
- Verwenden Sie eine Refresh-Token-Rotation: Bei jedem Refresh wird ein neues Refresh-Token ausgegeben und das alte ungültig gemacht.
- Erkennen Sie die Wiederverwendung eines bereits rotierten Refresh-Tokens als Hinweis auf einen Diebstahl und widerrufen Sie die gesamte Kette.
On /token refresh:
issue new RT, invalidate old RT
if old RT presented again -> breach -> revoke familyToken-Widerruf und Introspection
Selbstständige JWTs bleiben bis zu ihrem Ablauf gültig, was den Widerruf erschwert. Stellen Sie Mechanismen bereit, mit denen sich der Zugriff schnell unterbinden lässt.
- Ein Widerrufs-Endpunkt (RFC 7009) macht Refresh- und Access-Tokens ungültig.
- Introspection (RFC 7662) ermöglicht es einem Resource Server, den Status eines Tokens in Echtzeit zu prüfen.
- Führen Sie für kritische Widerrufe anhand von
jtieine Sperrliste.
POST /introspect token=...
-> { "active": true, "sub": "...", "scope": "read" }
POST /revoke token=...Durchsetzung von Audience und Scope
Ein gültiges Token ist nicht automatisch für Ihre API autorisiert. Erzwingen Sie die vorgesehene Verwendung.
- Prüfen Sie aud, damit ein für einen anderen Dienst ausgestelltes Token nicht bei Ihrem Dienst wiederverwendet werden kann.
- Erzwingen Sie den Scope für jeden Endpunkt; gehen Sie nicht davon aus, dass ein gültiges Token vollständigen Zugriff gewährt.
- Validieren Sie iss, um Tokens nicht vertrauenswürdiger Aussteller zu blockieren.
So verhindern Sie die dienstübergreifende Wiederverwendung von Tokens und Confused-Deputy-Missbrauch.
Mix-up- und Cross-Provider-Angriffe
Wenn ein Client mehrere Identity Provider unterstützt, können Mix-up-Angriffe ihn dazu bringen, einen von einem IdP ausgestellten Code oder ein Token an einen anderen, vom Angreifer ausgewählten Endpunkt zu senden.
- Der Client verliert den Überblick darüber, von welchem AS eine Response stammt.
- Abwehr: Binden Sie Responses mithilfe des Parameters
iss(RFC 9207) an den Aussteller und validieren Siestatefür jeden Provider.
/authorize ... &state=<provider-bound>
callback must include &iss=<expected-AS>
client verifies iss matches the AS it started withSichere Speicherung und Übertragung
Wo und wie Tokens gespeichert werden, bestimmt das Risiko einer Offenlegung.
- Browser-Sitzungen: httpOnly-, Secure- und SameSite-Cookies; vermeiden Sie
localStorage. - Mobile Geräte: OS-Keychain/Keystore, niemals Klartextdateien.
- Server: Secrets Manager, Verschlüsselung im Ruhezustand und Least-Privilege-Berechtigungen.
- Verwenden Sie bei der Übertragung immer TLS; betten Sie Tokens niemals in Query-Strings ein.
Checkliste zur Token-Härtung
Führen Sie die Schutzmaßnahmen zu einer operativen Grundlage zusammen.
- Legen Sie Algorithmen fest; weisen Sie
alg: noneund Verwechslungsangriffe zurück. - Validieren Sie iss, aud, exp, signature, nonce/state.
- Kurze TTL für Access-Tokens sowie Refresh-Rotation mit Erkennung der Wiederverwendung.
- Bevorzugen Sie sendergebundene Tokens (DPoP/mTLS) für APIs mit hohem Schutzbedarf.
- Unterstützen Sie Widerruf und Introspection.
- Speichern Sie Tokens sicher und halten Sie sie aus URLs und Logs heraus.
Hardening baseline:
[ ] alg pinned, none rejected
[ ] iss/aud/exp/sig/nonce validated
[ ] short TTL + RT rotation + reuse detection
[ ] DPoP/mTLS for sensitive scopes
[ ] revoke + introspect availableSchnelltest: Gestohlene Tokens unschädlich machen
Wählen Sie die Maßnahme, die den Schaden durch den Token-Diebstahl selbst am besten begrenzt.
Zusammenfassung: Token-Angriffe und Härtung
Die wichtigsten Erkenntnisse:
- Tokens sind Anmeldedaten; ihr Diebstahl entspricht einer Kontoübernahme.
- Schützen Sie JWTs durch Festlegen der Algorithmen und die Validierung von iss, aud, exp, signature, nonce.
- Begrenzen Sie die Gefährdung durch kurze Lebensdauern und Refresh-Rotation mit Erkennung der Wiederverwendung.
- Sendergebundene Tokens (DPoP/mTLS) machen gestohlene Bearer-Tokens unschädlich.
- Stellen Sie Widerruf und Introspection bereit und halten Sie Tokens aus URLs, Logs und localStorage heraus.
Lerne Cyber Security Academy mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 76
- Lektionen
- 303
Häufig gestellte Fragen
Ist die Lektion „Token-Angriffe und Härtung“ kostenlos?
Ja — der vollständige Text von „Token-Angriffe und Härtung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cyber Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Token-Angriffe und Härtung“?
Authentifizierungsabläufe vor Missbrauch schützen Du übst Cyber Security Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cyber Security Academy zu starten?
Keine Vorkenntnisse erforderlich. Cyber Security Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Token-Angriffe und Härtung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cyber Security Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cyber Security Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- OAuth-2.0-Flows
- OpenID Connect (OIDC)
- SAML und Federation
- Token-Angriffe und Härtung