OWASP Top 10 und CWE Top 25 – zwei Perspektiven auf Software-Schwachstellen
Im Umfeld der Anwendungssicherheit tauchen zwei Referenzen besonders häufig auf: die OWASP Top 10 und die CWE Top 25 Most Dangerous Software Weaknesses. Beide Listen werden regelmäßig in Security-Guidelines, Schulungen oder Pentest-Berichten erwähnt und sollen typische Sicherheitsprobleme in Software sichtbar machen.
Auf den ersten Blick scheinen beide Listen dasselbe zu behandeln: häufige Schwachstellen in Software. Tatsächlich verfolgen sie jedoch unterschiedliche Ansätze. Während die OWASP Top 10 Sicherheitsrisiken für Webanwendungen beschreibt, listet die CWE Top 25 konkrete technische Schwachstellen in Software allgemein.
Die OWASP Top 10
Die OWASP Top 10 wird vom Open Web Application Security Project veröffentlicht und beschreibt die wichtigsten Sicherheitsrisiken für Webanwendungen.
Zu den bekannten Kategorien gehören unter anderem:
- Broken Access Control
- Cryptographic Failures
- Injection
- Security Misconfiguration
Die Kategorien sind bewusst relativ abstrakt formuliert. Sie beschreiben Risikobereiche in Webanwendungen, die sich aus typischen Schwachstellen, möglichen Angriffsvektoren und den daraus resultierenden Auswirkungen zusammensetzen.
Der Fokus der OWASP Top 10 liegt klar auf Webanwendungen und webbasierten Architekturen. Entsprechend spiegeln viele Kategorien typische Probleme moderner Webanwendungen wider.
Die Liste dient deshalb häufig als Orientierung für Web Application Security. Viele Organisationen nutzen sie beispielsweise für Secure-Development-Guidelines oder Security-Awareness-Schulungen.
Dabei gilt allerdings: Die OWASP Top 10 ist keine Testmethodik. Sie beschreibt Risiken, nicht konkrete Prüfverfahren oder technische Tests.
Die CWE Top 25
Die Common Weakness Enumeration (CWE) wird von MITRE gepflegt und stellt ein umfassendes Klassifikationssystem für Software-Schwachstellen dar.
Aus dieser Sammlung wird regelmäßig die Liste der CWE Top 25 Most Dangerous Software Weaknesses abgeleitet.
Im Gegensatz zur OWASP Top 10 beschreibt die CWE Top 25 konkrete technische Fehlerklassen im Code, zum Beispiel:
- Out-of-bounds Write (CWE-787)
- Use After Free (CWE-416)
- Improper Input Validation (CWE-20)
Viele dieser Schwachstellen entstehen direkt im Code und betreffen insbesondere speicherunsichere Programmiersprachen oder systemnahe Software.
Im Unterschied zur OWASP Top 10 ist die CWE-Klassifikation nicht auf Webanwendungen beschränkt, sondern beschreibt Schwachstellen in Software allgemein. Sie kann daher sowohl für Webanwendungen als auch für Desktopsoftware, Systemsoftware oder Embedded-Systeme verwendet werden.
Risiko vs. technische Ursache
Der wichtigste Unterschied zwischen beiden Listen liegt im Abstraktionsniveau.
Die OWASP Top 10 beschreibt Sicherheitsrisiken für Webanwendungen.
Die CWE Top 25 beschreibt konkrete Schwachstellen im Code von Software allgemein.
Eine OWASP-Kategorie kann daher mehrere zugrunde liegende Schwachstellen umfassen.
Ein Beispiel verdeutlicht den Zusammenhang:
Das Risiko Injection kann durch unterschiedliche technische Ursachen entstehen, etwa durch unzureichende Eingabevalidierung oder unsichere Datenbankabfragen. Diese Ursachen lassen sich wiederum konkreten CWE-IDs zuordnen.
OWASP beantwortet damit eher die Frage:
Welche Sicherheitsrisiken treten in Webanwendungen besonders häufig auf?
Die CWE-Klassifikation beschreibt dagegen:
Welche konkreten Fehler im Code führen zu diesen Problemen?
Gegenüberstellung von OWASP Top 10 und CWE Top 25
Eine direkte 1:1-Zuordnung zwischen beiden Listen existiert nicht. Dennoch lassen sich typische Zusammenhänge darstellen. Die folgende Tabelle zeigt eine vereinfachte Gegenüberstellung häufiger Beziehungen.
| OWASP Kategorie | Typische zugehörige CWE-Schwachstellen |
|---|---|
| Broken Access Control | CWE-284 Improper Access Control, CWE-862 Missing Authorization |
| Cryptographic Failures | CWE-327 Broken or Risky Crypto Algorithm, CWE-326 Inadequate Encryption Strength |
| Injection | CWE-89 SQL Injection, CWE-77 Command Injection, CWE-20 Improper Input Validation |
| Insecure Design | CWE-840 Business Logic Errors, CWE-602 Client-Side Enforcement of Server-Side Security |
| Security Misconfiguration | CWE-16 Configuration Errors |
| Vulnerable and Outdated Components | häufig indirekt über bekannte CVEs mit zugrunde liegenden CWEs |
| Identification and Authentication Failures | CWE-287 Improper Authentication, CWE-522 Insufficiently Protected Credentials |
| Software and Data Integrity Failures | CWE-494 Download of Code Without Integrity Check |
| Security Logging and Monitoring Failures | CWE-778 Insufficient Logging |
| Server-Side Request Forgery (SSRF) | CWE-918 Server-Side Request Forgery |
Gleichzeitig enthält die CWE Top 25 auch mehrere Schwachstellen, die sich nicht direkt einer OWASP-Kategorie zuordnen lassen. Dazu gehören beispielsweise klassische Speicherfehler wie:
- CWE-787 Out-of-bounds Write
- CWE-416 Use After Free
- CWE-125 Out-of-bounds Read
- CWE-190 Integer Overflow
Diese treten typischerweise eher in systemnaher Software als in klassischen Webanwendungen auf.
Bedeutung für Pentests
Für Pentests ist vor allem die OWASP Top 10 eine häufig genutzte Referenz. Die Liste beschreibt zentrale Sicherheitsrisiken, die bei der Prüfung von Webanwendungen typischerweise berücksichtigt werden.
Einige Pentest-Berichte strukturieren ihre Ergebnisse entlang der OWASP-Kategorien. Häufiger werden die Kategorien jedoch eher zur Einordnung von Schwachstellen oder zur Kommunikation von Risiken verwendet.
Die CWE-Klassifikation spielt im Pentest eine ergänzende Rolle. Sie hilft dabei, eine gefundene Schwachstelle technisch präzise zu klassifizieren. Viele Schwachstellenberichte enthalten daher zusätzlich eine zugehörige CWE-ID.
Ein typisches Mapping kann beispielsweise so aussehen:
OWASP Risiko
→ konkrete Schwachstelle
→ zugehörige CWE-ID
Beispiel:
Broken Access Control
→ fehlende Autorisierungsprüfung
→ CWE-284 Improper Access Control
Eine solche Zuordnung kann sowohl die Risikokommunikation gegenüber Stakeholdern als auch die technische Einordnung einer Schwachstelle erleichtern. In der Praxis erfolgt sie jedoch häufig nur auf Kundenwunsch. Der tatsächliche Mehrwert einer zusätzlichen Klassifizierung bleibt meist begrenzt.





