OWASP Top 10 – Teil 2: Cryptographic Failures

Was bedeutet „Cryptographic Failures“?

Kryptografie ist die Kunst, Daten durch Verschlüsselung zu schützen. Sie sorgt dafür, dass nur autorisierte Personen Informationen lesen oder verändern können.

Von „Cryptographic Failures“ spricht man, wenn Verschlüsselung falsch angewendet oder sogar ganz vergessen wird. Das führt dazu, dass sensible Daten wie Passwörter, Kreditkarteninformationen oder persönliche Daten leicht abgefangen oder gestohlen werden können.

Früher nannte OWASP diesen Punkt „Sensitive Data Exposure“. Die Umbenennung zu „Cryptographic Failures“ macht klar: Es geht um Fehler im Umgang mit Kryptografie, nicht nur um Datenlecks.

Typische Beispiele aus der Praxis

  • Passwörter im Klartext speichern
    – Jeder Datenbank-Diebstahl wäre sofort eine Katastrophe.
  • Unsichere Algorithmen verwenden
    – z. B. alte Hash-Funktionen wie MD5 oder SHA1, die leicht geknackt werden können.
  • Fehlendes HTTPS
    – Daten werden unverschlüsselt über das Internet gesendet und können abgehört werden.
  • Hartecodierte Schlüssel im Code
    – Entwickler schreiben feste Passwörter oder Schlüssel direkt in den Programmcode.
  • Keine Verschlüsselung von Backups
    – Sicherungen sind oft das schwächste Glied in der Kette.

Warum ist das so gefährlich?

  • Identitätsdiebstahl: Werden Passwörter oder Kreditkartendaten abgefangen, sind Nutzerkonten schnell in fremden Händen.
  • Datenlecks: Unternehmen verlieren das Vertrauen von Kunden und riskieren hohe Strafen (z. B. nach DSGVO).
  • Systemkompromittierung: Wenn geheime Schlüssel oder Tokens in die falschen Hände geraten, ist oft der gesamte Serverzugang offen.

Wie schützt man sich?

  1. Immer starke, moderne Algorithmen nutzen
    – z. B. AES für Verschlüsselung, bcrypt/Argon2 für Passwörter.
  2. Datenübertragung nur über HTTPS (TLS)
    – Kein Login, keine API ohne sichere Verbindung.
  3. Passwörter niemals im Klartext speichern
    – Stattdessen Hashing mit Salt verwenden.
  4. Geheime Schlüssel schützen
    – z. B. durch Secrets-Management-Systeme (nicht im Code oder in Git speichern).
  5. Minimalprinzip anwenden
    – Nur Daten verschlüsseln, die wirklich sensibel sind, aber diese konsequent schützen.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert