0Pricing
Cloud & IT Cert Prep · Lektion

Fehlerhafte Authentifizierung und unsichere Deserialisierung

Erkunden Sie, wie Schwachstellen in der Sitzungsverwaltung, Credential Stuffing und unsichere Deserialisierung Angreifern ermöglichen, Konten zu übernehmen und Code auszuführen.

Fehlerhafte Authentifizierung und unsichere Deserialisierung ist eine kostenlose Cloud & IT Cert Prep-Lektion auf CoddyKit. Dies ist Lektion 3 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 Cloud & IT Cert Prep-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.

Was ist fehlerhafte Authentifizierung?

Fehlerhafte Authentifizierung bezeichnet Schwachstellen bei der Überprüfung der Benutzeridentität und der Verwaltung von Sitzungen durch eine Anwendung. Bei fehlerhafter Authentifizierung können Angreifer Passwörter, Schlüssel oder Sitzungstokens kompromittieren und dadurch die Identität anderer Benutzer annehmen. Diese Kategorie der OWASP Top 10 umfasst zahlreiche Schwachstellen: schwache Zugangsdaten, unzureichendes Sitzungsmanagement, fehlende MFA und unsichere Speicherung von Zugangsdaten.

Credential Stuffing und Password Spraying

Credential Stuffing verwendet umfangreiche Listen aus zuvor durch Datenpannen offengelegten Kombinationen aus Benutzernamen und Passwörtern und probiert diese bei anderen Websites aus, um die Wiederverwendung von Passwörtern auszunutzen. Password Spraying verfolgt den umgekehrten Ansatz: Eine kleine Auswahl gängiger Passwörter (z. B. Password1!) wird bei vielen Konten ausprobiert, um Schwellenwerte für Kontosperren zu umgehen. Beide Angriffe sind aufgrund schwacher Passwortrichtlinien und fehlender MFA erfolgreich.

# Password spraying concept (defensive awareness)
# Attacker tries 'Password1!' against 10,000 accounts
# rather than trying 10,000 passwords against 1 account
# This avoids triggering lockout policies (e.g., 5 attempts/account)

# Defense: MFA + adaptive authentication + rate limiting

Schwaches Sitzungsmanagement

Sitzungen verknüpfen authentifizierte Benutzer mit ihrem Anwendungsstatus. Zu den Schwachstellen eines schwachen Sitzungsmanagements gehören vorhersehbare Werte von Sitzungstokens (fortlaufende IDs, die Angreifer erraten können), niemals ablaufende Tokens, die Übertragung von Tokens über HTTP statt HTTPS sowie das fehlende Ungültigmachen von Tokens bei der Abmeldung. Ein Angreifer, der ein gültiges Sitzungstoken erlangt, kann den Benutzer imitieren, ohne dessen Passwort zu kennen.

# Signs of weak session management:
# /login response sets:
# Set-Cookie: session=1042  (predictable, sequential)
# Missing: Secure; HttpOnly; SameSite flags
# Missing: session expiry / Max-Age
# Logout does NOT invalidate server-side session

Session Fixation und Session Hijacking

Session Fixation zwingt ein Opfer dazu, eine vom Angreifer festgelegte Sitzungs-ID zu verwenden. Beispielsweise sendet ein Angreifer einen Link mit einem voreingestellten Sitzungscookie. Nachdem sich das Opfer authentifiziert hat, verwendet der Angreifer dieselbe Sitzungs-ID, um auf das Konto zuzugreifen. Session Hijacking stiehlt ein vorhandenes Sitzungstoken über XSS, Netzwerk-Sniffing (bei unverschlüsselten Verbindungen) oder gestohlene Cookies. Die Lösung: Generieren Sie die Sitzungs-IDs nach der Anmeldung neu und verwenden Sie überall HTTPS.

Unsichere Passwortspeicherung

Das Speichern von Passwörtern im Klartext oder mit schwachen Hash-Verfahren (MD5, SHA-1) ist ein schwerwiegender Authentifizierungsfehler. Wird eine Datenbank kompromittiert, können Klartextpasswörter und schwache Hashes sofort verwendet werden. Sichere Passwortspeicherung erfordert einen adaptiven, speziell für Passwörter entwickelten Hash-Algorithmus: bcrypt, Argon2 oder PBKDF2 mit einem zufälligen Salt pro Benutzer. Diese Algorithmen sind absichtlich langsam, wodurch das Knacken von Passwörtern im Offline-Betrieb rechenintensiv wird.

# Python example — secure password hashing with bcrypt
import bcrypt

# Hash a password (includes random salt automatically)
password = b'UserSuperSecret123'
hashed = bcrypt.hashpw(password, bcrypt.gensalt(rounds=12))

# Verify
bcrypt.checkpw(password, hashed)  # returns True

Was ist unsichere Deserialisierung?

Serialisierung wandelt den Zustand eines Objekts zur Speicherung oder Übertragung in ein Format (JSON, XML, Binärformat) um. Bei der Deserialisierung wird das Objekt aus diesem Format wiederhergestellt. Unsichere Deserialisierung tritt auf, wenn eine Anwendung von einem Angreifer kontrollierte Daten ohne Validierung deserialisiert. Dadurch können Angreifer serialisierte Objekte manipulieren, um die Anwendungslogik zu verändern, Berechtigungen auszuweiten oder beliebigen Code auf dem Server auszuführen.

Beispiel für einen Deserialisierungsangriff

Ein gängiges Angriffsmuster besteht aus serialisierten Objekten, die in Cookies oder API-Parametern übergeben werden. Beispielsweise kann eine Java-Anwendung, die ObjectInputStream.readObject() auf nicht vertrauenswürdige Daten anwendet, über Gadget-Ketten in verbreiteten Bibliotheken (Apache Commons Collections) Remote Code Execution (RCE) auslösen. Der Angreifer erstellt eine schädliche serialisierte Payload und sendet sie an die Anwendung. Während der Deserialisierung wird dann Code ausgeführt – oft noch bevor eine Authentifizierungsprüfung stattfindet.

# Insecure deserializing pattern (Python pickle — dangerous)
import pickle

# Attacker-controlled payload
class Exploit:
    def __reduce__(self):
        import os
        return (os.system, ('id',))  # executes 'id' on server

payload = pickle.dumps(Exploit())
pickle.loads(payload)  # RCE! Never deserialize untrusted data with pickle

Unsichere Deserialisierung verhindern

Zu den Schutzmaßnahmen gegen unsichere Deserialisierung gehören: Deserialisieren Sie niemals nicht vertrauenswürdige Daten mit gefährlichen Formaten wie der nativen Java-Serialisierung oder Python pickle. Bevorzugen Sie reine Datenformate (JSON, XML) gegenüber binärer Serialisierung. Falls eine Deserialisierung erforderlich ist, implementieren Sie Integritätsprüfungen (signieren Sie das serialisierte Objekt mit HMAC), verwenden Sie Allowlists, um die deserialisierbaren Klassen einzuschränken, und führen Sie den Deserialisierungscode in isolierten Umgebungen mit geringstmöglichen Berechtigungen aus.

# Safe approach: sign serialized data before transmitting
import hmac, hashlib, json

def serialize_safe(data, secret):
    payload = json.dumps(data)  # use JSON, not pickle
    sig = hmac.new(secret.encode(), payload.encode(), hashlib.sha256).hexdigest()
    return payload + '.' + sig

Multi-Faktor-Authentifizierung als Schutzmaßnahme

Multi-Faktor-Authentifizierung (MFA) ist die wirkungsvollste einzelne Schutzmaßnahme gegen fehlerhafte Authentifizierung. Selbst wenn Zugangsdaten durch Phishing, Credential Stuffing oder eine Datenpanne kompromittiert wurden, kann sich ein Angreifer ohne den zweiten Faktor nicht authentifizieren. Microsoft berichtet, dass MFA mehr als 99,9 % der automatisierten Angriffe zur Übernahme von Konten blockiert. MFA sollte für privilegierte Konten verpflichtend sein und allen Benutzern empfohlen werden.

Kontosperrung und Ratenbegrenzung

Richtlinien zur Kontosperrung deaktivieren ein Konto vorübergehend, nachdem eine festgelegte Anzahl fehlgeschlagener Anmeldeversuche erreicht wurde, und verlangsamen dadurch Brute-Force-Angriffe. Allerdings können Kontosperrungen einen Denial-of-Service-Angriff auf legitime Benutzer ermöglichen – Angreifer lösen absichtlich Sperrungen aus, um den Zugriff zu verhindern. Ratenbegrenzung (das Verlangsamen von Antworten nach wiederholten Fehlern mithilfe eines exponentiellen Backoffs) und CAPTCHA-Abfragen mindern das Risiko von Brute-Force-Angriffen mit einem geringeren DoS-Risiko.

Fehlerhafte Authentifizierung in den OWASP Top 10

OWASP führt fehlerhafte Authentifizierung als kritisches Risiko auf, da Fehler bei der Authentifizierung sowohl häufig als auch folgenschwer sind. Zu den wichtigsten Anzeichen einer fehlerhaften Authentifizierung gehören: das Ermöglichen automatisierter Angriffe wie Credential Stuffing, das Ermöglichen von Brute-Force- oder anderen automatisierten Angriffen, das Zulassen von Standardpasswörtern sowie schwachen oder allgemein bekannten Passwörtern, die Verwendung unsicherer Verfahren zur Wiederherstellung von Zugangsdaten, die Speicherung von Passwörtern im Klartext oder mit schwachen Hash-Verfahren sowie fehlende oder unwirksame Multi-Faktor-Authentifizierung.

Kurze Überprüfung

Testen Sie Ihr Verständnis der CompTIA-Security+-Konzepte (SY0-701) aus dieser Lektion.

Zusammenfassung der Lektion

In dieser Lektion haben Sie gelernt: Fehlerhafte Authentifizierung umfasst unsichere Sitzungen, Credential Stuffing und unsichere Passwortspeicherung, unsichere Deserialisierung kann über bösartige serialisierte Objekte zur Remote Code Execution führen und MFA, das Hashing von Passwörtern mit bcrypt, die Regenerierung von Sitzungen nach der Anmeldung und signierte serialisierte Daten sind wichtige Schutzmaßnahmen. Als Nächstes behandeln wir den sicheren SDLC sowie SAST- und DAST-Tools.

Häufig gestellte Fragen

Ist die Lektion „Fehlerhafte Authentifizierung und unsichere Deserialisierung“ kostenlos?

Ja — der vollständige Text von „Fehlerhafte Authentifizierung und unsichere Deserialisierung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cloud & IT Cert Prep-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Fehlerhafte Authentifizierung und unsichere Deserialisierung“?

Erkunden Sie, wie Schwachstellen in der Sitzungsverwaltung, Credential Stuffing und unsichere Deserialisierung Angreifern ermöglichen, Konten zu übernehmen und Code auszuführen. Du übst Cloud & IT Cert Prep 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 Cloud & IT Cert Prep zu starten?

Keine Vorkenntnisse erforderlich. Cloud & IT Cert Prep 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 3 von 4.

Wie lange dauert die Lektion „Fehlerhafte Authentifizierung und unsichere Deserialisierung“?

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 Cloud & IT Cert Prep-Lektion Code schreiben und ausführen?

Ja. Jede Cloud & IT Cert Prep-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

  1. SQL-Injection und Command-Injection
  2. Cross-Site-Scripting (XSS) und CSRF
  3. Fehlerhafte Authentifizierung und unsichere Deserialisierung
  4. Sicherer SDLC, SAST- und DAST-Tools
← Zurück zu Cloud & IT Cert Prep