OWASP Top 10: Die grössten Sicherheitsrisiken
Die OWASP Top 10 sind die zehn kritischsten Sicherheitsrisiken für Webanwendungen. Sie bilden das Fundament jedes Web-Application-Pentests und werden weltweit als Standard referenziert.
Was ist die OWASP Top 10?
Die OWASP Top 10 (Open Web Application Security Project) ist eine von Sicherheitsexperten weltweit erstellte und gepflegte Liste der zehn grössten Sicherheitsrisiken für Webanwendungen. Die aktuelle Version stammt von 2021; eine Aktualisierung für 2026/2027 ist in Vorbereitung. Die Top 10 basieren auf einer Analyse von Millionen realer Schwachstellen und Incidents.
Jedes Risiko wird nach drei Kriterien bewertet: Exploitability (wie leicht ist es auszunutzen?), Prevalence (wie häufig kommt es vor?) und Detectability (wie schwer ist es zu erkennen?). Das Ergebnis ist ein priorisierter Katalog, der Entwicklern, Administratoren und Managern gleichermassen Orientierung gibt.
Die OWASP Top 10 (2021) im Detail
A01:2021 – Broken Access Control
Was ist es? Fehler bei der Zugriffskontrolle, die es Benutzern ermöglichen, auf Ressourcen oder Funktionen zuzugreifen, für die sie nicht autorisiert sind. Beispiele: IDOR (Insecure Direct Object References), Path Traversal, fehlende CORS-Konfiguration, JWT-Manipulation.
Beispiel: Ein Benutzer ändert die URL von /profile?id=123 zu /profile?id=124 und sieht das Profil eines anderen Benutzers.
Gegenmassnahmen: Zero-Trust-Architektur, serverseitige Zugriffsprüfung, Least-Privilege-Prinzip, regelmässige Access-Control-Reviews.
A02:2021 – Cryptographic Failures
Was ist es? Fehler in der Implementierung von Kryptographie, die zu Datenlecks führen. Dazu gehören unsichere Passwort-Speicherung (Plaintext, MD5), fehlende TLS-Verschlüsselung, schwache Algorithmen und unsachgemässe Schlüsselverwaltung.
Beispiel: Eine Datenbank speichert Passwörter als MD5-Hashes ohne Salt. Ein Angreifer mit Datenbankzugriff kann die Passwörter in Sekunden mit Rainbow Tables knacken.
Gegenmassnahmen: Argon2id für Passwörter, AES-256 für Daten, TLS 1.3 für Transport, zentrale Schlüsselverwaltung (HSM).
A03:2021 – Injection
Was ist es? Einschleusen von böswilligem Code oder Befehlen in Interpreter – klassisch SQL Injection, aber auch NoSQL Injection, OS Command Injection, LDAP Injection, XPath Injection, SSTI (Server-Side Template Injection).
Beispiel: Ein Login-Formular fügt den Benutzernamen direkt in eine SQL-Query ein: SELECT * FROM users WHERE user = '$username'. Der Input ' OR '1'='1 umgeht die Authentifizierung.
Gegenmassnahmen: Parametrisierte Queries (Prepared Statements), Input-Validation, ORM-Frameworks, WAF-Regeln, Output-Encoding.
A04:2021 – Insecure Design
Was ist es? Schwachstellen, die bereits im Design der Anwendung verankert sind und nicht durch einfache Code-Änderungen behoben werden können. Dazu gehören fehlende Threat Modeling, unsichere Architekturentscheidungen und mangelnde Sicherheitsanforderungen in der Spezifikation.
Beispiel: Ein E-Commerce-System erlaubt negative Mengen im Warenkorb, da die Business-Logic kein Plausibilitätsprüfung vorsieht.
Gegenmassnahmen: Secure-by-Design, Threat Modeling (STRIDE, PASTA), Sicherheitsanforderungen in User Stories, Abuse Cases definieren.
A05:2021 – Security Misconfiguration
Was ist es? Fehlkonfigurationen von Systemen, Frameworks, Servern oder Cloud-Diensten. Dazu gehören Default-Credentials, unnötig aktivierte Features, fehlende Security Headers, offene Cloud-Storage (S3-Buckets) und veraltete Software.
Beispiel: Ein AWS S3-Bucket mit sensiblen Kundendaten ist öffentlich lesbar konfiguriert. Tools wie GrayHatWarfare finden tausende solcher Buckets.
Gegenmassnahmen: Hardening-Guides, automatisierte Konfigurationsprüfung (CIS Benchmarks), regelmässige Scans, Infrastructure-as-Code (Terraform, CloudFormation).
A06:2021 – Vulnerable and Outdated Components
Was ist es? Die Verwendung von Softwarekomponenten (Bibliotheken, Frameworks, Plugins) mit bekannten Schwachstellen. Dies ist eine der häufigsten und gleichzeitig leicht vermeidbaren Risiken.
Beispiel: Eine Anwendung nutzt Log4j 2.14.1 (Log4Shell / CVE-2021-44228). Ein Angreifer kann über einen manipulierten Log-Eintrag beliebigen Code auf dem Server ausführen.
Gegenmassnahmen: SBOM (Software Bill of Materials), SCA-Tools (Dependency-Check, Snyk, OWASP Dependency-Check), regelmässige Updates, Patch-Management.
A07:2021 – Identification and Authentication Failures
Was ist es? Schwachstellen im Authentifizierungs- und Session-Management. Dazu gehören Brute-Force-Anfälligkeit, schwache Passwortrichtlinien, fehlende MFA, Session-Fixation, unsichere Cookie-Einstellungen und Credential-Stuffing.
Beispiel: Eine Anwendung erlaubt unbegrenzte Login-Versuche und hat keine Rate-Limiting. Ein Angreifer führt einen Credential-Stuffing-Angriff mit geleakten Passwörtern durch und übernimmt hunderte Konten.
Gegenmassnahmen: MFA/2FA, Rate-Limiting, Account-Lockout, sichere Session-Tokens (zufällig, lang, HttpOnly, Secure, SameSite), OAuth 2.0 / OpenID Connect.
A08:2021 – Software and Data Integrity Failures
Was ist es? Fehler bei der Integritätsprüfung von Software und Daten. Dazu gehören unsichere Deserialisierung, fehlende Signaturprüfung bei Updates (Supply-Chain-Angriffe), CI/CD-Injection und Manipulation von Daten.
Beispiel: Ein Angreifer injiziert schädlichen Code in ein CI/CD-System (z.B. Jenkins, GitHub Actions) und kompromittiert damit die gesamte Software-Lieferkette.
Gegenmassnahmen: Digitale Signaturen (Sigstore, GPG), SRI (Subresource Integrity) für externe Ressourcen, sichere Deserialisierung (JSON statt XML/PHP-Serialize), CI/CD-Hardening.
A09:2021 – Security Logging and Monitoring Failures
Was ist es? Unzureichende Protokollierung, fehlende Monitoring-Systeme und träge Incident-Response. Viele Angriffe bleiben monatelang unentdeckt, weil keine Logs oder Alerts existieren.
Beispiel: Ein Angreifer führt einen SQL-Injection-Angriff durch. Da die Anwendung keine Queries logged und kein WAF-Alert auslöst, bleibt der Angriff 6 Monate unentdeckt. Erst ein externer Hinweis deckt den Datenabfluss auf.
Gegenmassnahmen: Zentrales Logging (SIEM: Splunk, Elastic, Sentinel), WAF-Monitoring, IDS/IPS, regelmässige Log-Reviews, Incident-Response-Plan.
A10:2021 – Server-Side Request Forgery (SSRF)
Was ist es? Eine Schwachstelle, bei der ein Angreifer den Server dazu bringt, ungewollte Anfragen an interne oder externe Ressourcen zu senden. SSRF wird oft unterschätzt, kann aber zur Kompromittierung interner APIs, Cloud-Metadaten und interner Netzwerke führen.
Beispiel: Eine Anwendung bietet eine URL-Vorschau-Funktion. Ein Angreifer übergibt http://169.254.169.254/latest/meta-data/ und liest AWS-Cloud-Metadaten aus, inklusive IAM-Credentials.
Gegenmassnahmen: Whitelist-basierte URL-Validierung, DNS-Rebinding-Schutz, Netzwerksegmentierung, Cloud-Metadata-Protection (IMDSv2 bei AWS).
OWASP-Top-10-konformer Pentest
Ich teste Ihre Webanwendung systematisch gegen alle OWASP-Top-10-Risiken – mit manueller Prüfung, nicht nur automatisierten Scans.