Ein sauberes Threat Model für moderne Authentifizierung und Autorisierung beginnt heute fast immer bei OAuth 2.0 und OpenID Connect (OIDC). Beide Standards sind etabliert, werden aber in der Praxis häufig „missbraucht“ – nicht aus böser Absicht, sondern weil Teams Flows vermischen, Defaults übernehmen oder einzelne Schutzmechanismen (State, PKCE, Nonce, Audience, Token-Bindung) als optional behandeln. Genau hier setzt ein Threat Model für OAuth/OIDC-Misuse an: Es beschreibt nicht nur „der Angreifer stiehlt ein Token“, sondern zerlegt die Implementierung in Trust Boundaries, Assets, Entry Points und typische Fehlannahmen. Wer diese Denkweise verinnerlicht, erkennt schneller, welche Konfigurationen aus einem zuverlässigen Login eine fragile Kette machen, und kann Controls so platzieren, dass sie operativ funktionieren. Der Fokus liegt dabei auf realen Implementierungen: Browser-Apps, SPAs, Mobile Clients, Service-to-Service, API-Gateways, Identity Provider (IdP) und Ressourcenserver – inklusive der Artefakte, die im Alltag Probleme machen: Redirect URIs, Session-Cookies, Refresh Tokens, JWKS, Scopes, Claims, mTLS, DPoP und Logins über mehrere Domains.
Systemgrenzen und Rollen sauber modellieren
Der wichtigste Schritt ist, die Komponenten und ihre Rollen ohne Marketing-Begriffe zu definieren. In OAuth gibt es mindestens den Authorization Server (AS), den Client und den Resource Server (RS). OIDC ergänzt den Identity-Aspekt: Der AS wird typischerweise auch zum OpenID Provider (OP), und der Client wird zur Relying Party (RP). In der Praxis kommen weitere Schichten hinzu: Browser, Reverse Proxy, API Gateway, WAF, Service Mesh, Mobile OS, Secrets Manager und zentrale Logging-Pipelines. Ein Threat Model wird erst dann belastbar, wenn klar ist, wo Token ausgestellt, wo sie validiert und wo sie gespeichert werden.
- Authorization Server / OpenID Provider: stellt Tokens aus, signiert ID Tokens, verwaltet Sessions, MFA, Consent.
- Client (Web, SPA, Mobile, Backend): startet Flows, hält Session-Status, tauscht Codes gegen Tokens, ruft APIs.
- Resource Server / API: akzeptiert Access Tokens, prüft Signatur/Introspection, setzt Authorization durch.
- Browser/Device: transportiert Redirects, Cookies, Storage, TLS-Termination (z. B. bei Apps über OS-Stacks).
- Zwischenkomponenten: Reverse Proxies, Gateways, Sidecars, die Header und TLS beeinflussen können.
Assets definieren: Was darf niemals „rausfallen“?
OAuth/OIDC wird oft als „Login“ betrachtet. Für ein Threat Model ist es hilfreicher, die Assets zu benennen, die durch Fehler in Flow oder Betrieb kompromittiert werden können. Das sind nicht nur Tokens, sondern auch Metadaten, Keys und Zustände.
- Authorization Code: kurzlebig, aber hochkritisch; Missbrauch führt zu Token-Issuance.
- Access Token: API-Zugriff; Risiko hängt an Scopes, Audience und Lifetime.
- Refresh Token: Langzeitzugriff; bei Leakage oft „Game Over“ ohne zusätzliche Bindung.
- ID Token: Identitätsassertion; Missbrauch führt zu Account- oder Session-Übernahme.
- Client Credentials: Secret, Private Key, mTLS-Key, DPoP-Key; kompromittiert = Client-Impersonation.
- Signing Keys / JWKS: Schlüsselmaterial und Key-Rotation; Fehler = Token-Fälschung oder Validierungs-Bypass.
- Session-Cookies und Login-Status: CSRF-/Fixation-Risiken, Domain-/SameSite-Konfiguration.
- Redirect- und Callback-Endpunkte: offene Redirects, Host-Header-Probleme, Proxy-Rewrite-Fallen.
Trust Boundaries: Wo wechseln Kontrolle und Verantwortung?
Misuse passiert häufig genau an den Grenzen: zwischen Browser und Backend, zwischen Client und IdP, zwischen Gateway und API. Modellieren Sie diese Übergänge explizit, inklusive Protokollwechseln (HTTP zu HTTPS, TLS-Offload), Header-Manipulation (X-Forwarded-*) und Domain-Übergängen (Login-Subdomain vs. App-Subdomain). Jedes Boundary bekommt eigene Annahmen: Wer kann hier Daten verändern? Wer kann hier mithören? Wer kann hier Replayen?
Typische Misuse-Klassen als Threat-„Bibliothek“
Statt jedes Mal bei Null zu beginnen, lohnt sich eine feste Bibliothek von Missuse-Klassen. Diese lässt sich pro System schnell „mappen“ und spart Zeit in Reviews.
Redirect URI Manipulation und Authorization Code Interception
Ein Klassiker: zu offene Redirect-URI-Regeln, Wildcards, Regex-Fallen oder dynamische Redirects. Angreifer nutzen dies, um Codes/Tokens an eigene Endpunkte umzuleiten oder über offene Redirects abzugreifen. Besonders gefährlich sind Kombinationen aus „lenient matching“ und Clients, die Codes ohne PKCE einlösen.
- Whitelist mit exaktem Match (Scheme, Host, Pfad), keine Wildcards.
- Keine dynamischen Redirects aus Request-Parametern ohne strikte Validierung.
- Authorization Code Flow mit PKCE erzwingen (insbesondere für SPAs und Mobile).
Referenzen: RFC 6749 (OAuth 2.0), RFC 7636 (PKCE).
State/Nonce-Fehler: CSRF, Login-CSRF und Session-Confusion
Wenn state fehlt oder nicht gebunden ist, kann ein Angreifer Autorisierungsantworten „einschleusen“ (CSRF) oder einen Nutzer in die Session eines Angreifers „einloggen“ (Login CSRF). Bei OIDC kommt nonce hinzu: Fehlt sie, steigt das Risiko von Replay oder Token-Injection in bestimmten Szenarien (z. B. über kompromittierte Redirects oder Mix-up-Effekte).
- state kryptografisch zufällig, pro Request, serverseitig gebunden (z. B. an Session und Redirect URI).
- nonce pro Auth-Request, im ID Token prüfen und an Session binden.
- Fehlermodi testen: Was passiert bei fehlendem/mismatched state?
Referenz: OpenID Connect Core 1.0.
Token Leakage: URL-Fragmente, Referer, Logs und Browser-Storage
Tokens „leaken“ selten durch Kryptografie – eher durch Transport und Speicherung. Häufige Ursachen: Tokens in URLs (Query oder Fragment), Weitergabe über Referer-Header, Logging von Authorization-Headern, Debug-Proxies, Browser-Extensions, Crash-Reports oder unsichere Storage-Entscheidungen in SPAs (LocalStorage statt HttpOnly-Cookie-Sessions).
- Keine Tokens in URLs; Response Types und Flows entsprechend wählen.
- Serverseitige Session-Modelle bevorzugen, Tokens nicht im Browser persistieren, wenn vermeidbar.
- Logging/Tracing redaction: Authorization, Cookies, Codes, Secrets strikt maskieren.
- Strikte Referrer-Policy und Content Security Policy (CSP) für Browser-Clients.
Praxisanker: RFC 8252 (OAuth 2.0 for Native Apps).
Audience- und Scope-Confusion: Token gültig, aber „falsch“ eingesetzt
Ein Access Token ist nur dann sicher, wenn der Resource Server exakt prüft, für wen es gedacht ist. Viele APIs akzeptieren Tokens, prüfen aber nur Signatur und Ablauf – nicht Audience, Issuer, Authorized Party oder Scopes. Dadurch werden Tokens aus anderen Clients, Umgebungen oder APIs „recycelbar“ (Token Confusion). Das Problem verstärkt sich in Microservice-Landschaften, in denen mehrere APIs denselben Issuer teilen.
- iss und aud strikt validieren; keine „fallback audiences“.
- scope und/oder permissions zentral definieren und serverseitig durchsetzen.
- Trennung von Umgebungen (dev/test/prod) mit eigenen Issuern oder klaren Audiences.
- Bei OIDC: azp (authorized party) prüfen, wenn relevant.
Algorithm- und Key-Validation-Fallen: „none“, JWK-Injection, kid-Missbrauch
Ein häufiger OIDC-Fehler ist keine „Krypto-Schwäche“, sondern eine Validierungs-Schwäche: Der RP/RS akzeptiert Tokens mit unerwarteten Algorithmen, lädt Schlüssel von untrusted Quellen oder nutzt Header-Felder wie kid unkritisch, um Schlüssel auszuwählen. In Multi-Tenant-Setups kann das zur Annahme fremder Keys führen.
- Erlaubte Algorithmen fest konfigurieren (Allowlist), keine dynamische Akzeptanz.
- JWKS nur vom bekannten Issuer, mit TLS-Validierung und Pinning-Strategie, wenn angemessen.
kidnur als Lookup-Key in einer lokalen, vertrauenswürdigen JWKS-Cache-Struktur verwenden.- Issuer-Metadaten nicht „on the fly“ aus Token-Claims ableiten.
Mix-Up-Angriffe und Mehr-IdP-Szenarien
Viele Unternehmen unterstützen mehrere Identity Provider oder mehrere Authorization Server (B2E, B2B, Partner, Regionen). Das erhöht die Wahrscheinlichkeit von Mix-up-Fehlern: Der Client ordnet eine Response dem falschen Issuer zu, nutzt die falschen Keys oder akzeptiert Tokens aus einer anderen „Realm“. Das ist weniger ein Exploit-„Trick“ als ein Ergebnis von unklaren Boundaries.
- Issuer strikt an die Session/Request-State binden.
- Pro IdP separate Redirect URIs oder eindeutige Callback-Routen verwenden.
- Explizite Mapping-Tabellen (IdP → Issuer → JWKS URL → Client-ID), keine heuristischen Entscheidungen.
Flow-spezifisches Threat Modeling: Welche Flows sind überhaupt erlaubt?
Ein operatives Threat Model benennt nicht nur „wie es läuft“, sondern auch „was verboten ist“. In vielen Umgebungen sollten nur wenige Flows zulässig sein. Dadurch wird Misuse messbar: Ein verbotener Flow ist ein Defekt, kein „Edge Case“.
- Browser-Login: Authorization Code Flow (mit PKCE, auch für SPAs), serverseitige Session bevorzugt.
- Service-to-Service: Client Credentials (idealerweise mit mTLS oder DPoP/PoP-Ansätzen, wo sinnvoll).
- Native Apps: System-Browser, keine eingebetteten WebViews; PKCE obligatorisch.
Controls modernisieren: Von „Bearer überall“ zu gebundenen Tokens
Bearer Tokens sind bequem, aber bei Leakage sofort verwendbar. Moderne Controls reduzieren dieses Risiko, indem sie Tokens an den Client oder den Transport binden. In einem Threat Model können Sie diese Controls als „Mitigation Layers“ an den wichtigsten Attack Paths platzieren.
- mTLS für OAuth: Bindung über Client-Zertifikate für Token-Endpunkte und/oder Token-Bindung gegenüber dem RS.
- DPoP: Proof-of-Possession per HTTP-Signatur, um Replay zu erschweren.
- Short-lived Access Tokens + Refresh Token Rotation: reduziert Zeitfenster, macht Replay auffälliger.
Referenzen: RFC 8705 (OAuth 2.0 mTLS), RFC 9449 (DPoP).
Operational Threats: Betrieb, Rotation, Observability
OAuth/OIDC scheitert in der Praxis häufig nicht an „fehlender Security“, sondern an nicht operierbaren Policies. Threat Modeling muss deshalb Betriebsrisiken explizit aufnehmen: Key-Rotation, Zertifikatslaufzeiten, Clock-Skew, Cache-Invaliderung, Fail-Open-Verhalten, Rate Limits am Token Endpoint und die Frage, welche Events überhaupt sichtbar sind.
Key Rotation und JWKS-Caching
Wenn JWKS-Keys rotieren, kann ein zu aggressiver Cache zu Auth-Ausfällen führen; ein zu „weicher“ Cache kann dazu führen, dass alte Keys länger akzeptiert werden als gewünscht. Im Threat Model ist das ein Trade-off zwischen Availability und Security, der bewusst entschieden werden muss.
- Definierte Cache-TTLs und schnelle Invalidierung bei Security-Events.
- Rollout-Prozesse: neuer Key parallel zum alten, dann schrittweise Umschaltung.
- Monitoring: Fehlerraten bei Token-Validation und JWKS-Fetches.
Token Endpoint Hardening: Brute Force, Credential Stuffing, Abuse
Token-Endpunkte sind High-Value-Targets. Angreifer probieren Client Secrets, nutzen geleakte Codes, spammen Refresh Token Grants oder erzeugen Last, die Auth für legitime Nutzer unzuverlässig macht. Hier gehört Rate Limiting ins Threat Model – aber mit „Collateral Damage“-Bewusstsein: Wenn das Rate Limit zu grob ist, treffen Sie eigene NATs, Mobile Carrier oder große Standorte.
- Rate Limits differenziert nach Client-ID, Grant Type, IP-Reputation, und ggf. User/Device-Signalen.
- Abuse-Signale: ungewöhnliche Refresh-Token-Nutzung, Grant-Mix, geografische Sprünge.
- Lockouts so gestalten, dass sie nicht als DoS-Waffe missbraucht werden können.
Threat Model als Checkliste: Fragen, die Missuse schnell aufdecken
- Welche Flows sind erlaubt, und sind verbotene Flows technisch blockiert?
- Wo liegen Access/Refresh Tokens tatsächlich (Browser, Gateway, Backend, App-Keychain)?
- Gibt es irgendwo Tokens in URLs, Redirects, Logs, Traces oder Error-Reports?
- Ist PKCE überall erzwungen, wo ein öffentlicher Client beteiligt ist?
- Wie wird
stategeneriert, gespeichert und validiert? Was passiert bei Fehlern? - Validiert der RS
iss,aud, Ablauf, Scopes und ggf.azpstrikt? - Welche Algorithmen sind erlaubt, und wie wird JWKS bezogen und gecacht?
- Wie werden Refresh Tokens behandelt (Rotation, Reuse Detection, Device-Bindung)?
- Gibt es eine klare Trennung zwischen Umgebungen und Mandanten?
- Welche Telemetrie existiert (Auth-Events, Token-Events, Denials), und wer reagiert operativ darauf?
Ein praxisnahes Attack-Path-Modell für OAuth/OIDC
Um das Threat Model „greifbar“ zu machen, lohnt sich ein wiederverwendbarer Attack-Path: (1) Einstieg über Client/Browser, (2) Manipulation im Redirect/Callback, (3) Code-/Token-Diebstahl, (4) Token-Einsatz am RS, (5) Persistenz über Refresh Tokens, (6) laterale Bewegung über zu breite Scopes/Audiences. Für jeden Schritt definieren Sie Controls, Detection und Recovery.
- Prevention: PKCE, exakte Redirect URIs, state/nonce, strikte Token-Validation, PoP/mTLS, minimale Scopes.
- Detection: ungewöhnliche Grants, Token-Reuse, Audience-Mismatch-Denials, JWKS-Fetch-Anomalien, Consent-Spikes.
- Response: Token-Revocation/Session-Kill, Key-Rotation, Client Disable, Incident-Kommunikation, forensische Beweissicherung.
Weiterführende Standards und Best Practices für die Umsetzung
Für die operative Härtung ist es hilfreich, sich an „Best Current Practice“ und spezialisierten Profilen zu orientieren. Gerade in Enterprise- und B2B-Umgebungen liefern diese Dokumente konkrete Anforderungen, die sich gut in Security Requirements und technische Controls übersetzen lassen.
- RFC 9700 (OAuth 2.0 Security Best Current Practice)
- OWASP API Security Project
- OpenID Foundation Specs (OIDC, Profile, Erweiterungen)
Wenn Sie dieses Threat Model konsequent anwenden, entsteht ein belastbares Bild: Welche Fehler führen „nur“ zu Login-Problemen, und welche Fehler erlauben echte Identitäts- oder Autorisierungsbrüche? Entscheidend ist, Misuse als Systemverhalten zu modellieren – nicht als Einzelfall. Dann werden Controls testbar, Reviews schneller und Incidents deutlich seltener „mysteriös“.
Cisco Netzwerkdesign, CCNA Support & Packet Tracer Projekte
Cisco Networking • CCNA • Packet Tracer • Network Configuration
Ich biete professionelle Unterstützung im Bereich Cisco Computer Networking, einschließlich CCNA-relevanter Konfigurationen, Netzwerkdesign und komplexer Packet-Tracer-Projekte. Die Lösungen werden praxisnah, strukturiert und nach aktuellen Netzwerkstandards umgesetzt.
Diese Dienstleistung eignet sich für Unternehmen, IT-Teams, Studierende sowie angehende CCNA-Kandidaten, die fundierte Netzwerkstrukturen planen oder bestehende Infrastrukturen optimieren möchten. Finden Sie mich auf Fiverr.
Leistungsumfang:
-
Netzwerkdesign & Topologie-Planung
-
Router- & Switch-Konfiguration (Cisco IOS)
-
VLAN, Inter-VLAN Routing
-
OSPF, RIP, EIGRP (Grundlagen & Implementierung)
-
NAT, ACL, DHCP, DNS-Konfiguration
-
Troubleshooting & Netzwerkoptimierung
-
Packet Tracer Projektentwicklung & Dokumentation
-
CCNA Lern- & Praxisunterstützung
Lieferumfang:
-
Konfigurationsdateien
-
Packet-Tracer-Dateien (.pkt)
-
Netzwerkdokumentation
-
Schritt-für-Schritt-Erklärungen (auf Wunsch)
Arbeitsweise:Strukturiert • Praxisorientiert • Zuverlässig • Technisch fundiert
CTA:
Benötigen Sie professionelle Unterstützung im Cisco Networking oder für ein CCNA-Projekt?
Kontaktieren Sie mich gerne für eine Projektanfrage oder ein unverbindliches Gespräch. Finden Sie mich auf Fiverr.












