Was ist CWE (Common Weakness Enumeration)?
Zuletzt aktualisiert:
Kurz erklärt: CWE (Common Weakness Enumeration) ist ein von der MITRE Corporation gepflegter, frei verfügbarer Katalog typischer Software- und Hardware-Schwachstellen-Klassen. Anders als das CVE-System, das eine konkrete Sicherheitslücke identifiziert, beschreibt CWE die zugrunde liegende Schwächen-Art — etwa SQL Injection (CWE-89), Cross-Site Scripting (CWE-79) oder Use After Free (CWE-416). Über 900 CWEs sind aktuell katalogisiert. Die jährlich aktualisierte CWE Top 25 listet die gefährlichsten Klassen — zentral für sichere Entwicklung und Schwachstellen-Analyse.
CWE (Common Weakness Enumeration) ist ein von der MITRE Corporation gepflegter Katalog typischer Software- und Hardware-Schwachstellen-Klassen. Während CVE eine konkrete Sicherheitslücke in einer spezifischen Version identifiziert, beschreibt CWE die zugrunde liegende Schwächen-Art als wiederverwendbare Klasse — und schafft damit das Vokabular, mit dem Sicherheitsanalysten, Entwickler und Tools über Schwächen-Muster sprechen.
Foundational Facts
- Herausgeber: MITRE Corporation, finanziert vom US Department of Homeland Security / CISA
- Status: öffentlich, kostenlos, weltweit anerkannter Standard
- Umfang: über 900 katalogisierte Schwächen-Klassen
- Verwandte Standards: CVE (konkrete Lücken), CVSS (Schweregrad), MITRE ATT&CK (Angriffs-Taktiken)
- Wichtigste Anwendung: SAST/DAST-Tools, Secure-Coding-Schulungen, CWE Top 25
CWE vs. CVE — das Mental Model
Die Beziehung zwischen CWE und CVE lässt sich gut über ein Beispiel erklären:
- CVE-2014-0160 identifiziert eine konkrete Sicherheitslücke im OpenSSL-Heartbeat-Mechanismus, bekannt als Heartbleed
- Diese Lücke wird der Schwächen-Klasse CWE-125 (Out-of-bounds Read) zugeordnet
- Es gibt unzählige weitere CVEs, die ebenfalls zu CWE-125 zählen — z. B. CVE-2024-21762 (FortiOS Out-of-bounds Read)
CVE ist also wie eine Krankenakte (konkreter Fall), CWE wie ein Diagnose-Code (Krankheits-Klasse). Beide haben unterschiedliche Aufgaben:
- CVE → Tracking, Patch-Management, Vulnerability-Scanner
- CWE → Klassifizierung, Pattern-Erkennung, Secure Coding, SAST/DAST
Beispiele wichtiger CWE-Klassen
| CWE-ID | Name | Beispiel |
|---|---|---|
| CWE-79 | Cross-Site Scripting (XSS) | bösartiger JavaScript-Code in Webseite eingeschleust |
| CWE-89 | SQL Injection | Benutzereingabe wird ungefiltert in SQL-Query gesetzt |
| CWE-22 | Path Traversal | ../-Eingabe ermöglicht Zugriff auf Dateien außerhalb des erlaubten Verzeichnisses |
| CWE-78 | OS Command Injection | Benutzereingabe wird als Shell-Befehl ausgeführt |
| CWE-125 | Out-of-bounds Read | Buffer wird über zulässige Grenzen hinaus gelesen (Heartbleed) |
| CWE-416 | Use After Free | Zugriff auf bereits freigegebenen Speicher |
| CWE-787 | Out-of-bounds Write | Buffer Overflow im Schreibvorgang |
| CWE-352 | Cross-Site Request Forgery (CSRF) | Unautorisierte Aktion im Namen eines authentifizierten Users |
| CWE-862 | Missing Authorization | Funktion ohne Berechtigungsprüfung |
| CWE-918 | Server-Side Request Forgery (SSRF) | Server wird zu unautorisiertem Request manipuliert |
Die CWE Top 25
Die jährlich aktualisierte CWE Top 25 ist die zentrale Operationalisierung des Katalogs. Die Liste wird von MITRE auf Basis von CVE-Daten der letzten zwei Jahre berechnet — gewichtet nach Häufigkeit und durchschnittlichem CVSS-Score. Sie ist die Standard-Referenz für:
- Secure-Coding-Schulungen — die Top 25 bilden das Curriculum-Gerüst
- SAST/DAST-Tool-Konfiguration — diese Schwächen müssen gefunden werden
- Code-Review-Checklisten — strukturierte Prüfung
- Compliance-Mapping — ISO 27001 Annex A 8.28 (Secure Coding) verlangt einen Prozess, CWE Top 25 ist der operative Anker
- Threat Modeling — STRIDE-Threats werden oft via CWE klassifiziert
Die aktuelle Top 25 wird auf cwe.mitre.org/top25/ veröffentlicht.
CWE in Sichten organisiert
CWE strukturiert die über 900 Schwächen-Klassen in mehreren Sichten (Views), je nach Anwendungskontext:
- Software Development View (CWE-699) — die wichtigste Sicht für Entwickler, organisiert nach Lebenszyklus-Phasen
- Hardware Design View (CWE-1194) — für Hardware-Sicherheit
- Research View (CWE-1000) — wissenschaftliche Klassifizierung nach abstrakten Eigenschaften
- CWE Top 25 (CWE-1387) — die operative Quintessenz für die jährliche Priorisierung
- CWE/SANS Top 25 Most Dangerous Software Errors — historische Vorgänger-Sicht
Jeder Eintrag enthält Beschreibung, Code-Beispiele in verschiedenen Sprachen, mögliche Konsequenzen, Detection-Methoden und Mitigations.
Bedeutung für KMU und sichere Entwicklung
Auch ohne ein dediziertes Application-Security-Team profitieren KMU von CWE in mehreren Bereichen:
- Lieferanten-Anforderungen — bei Software-Beschaffung kann CWE-Top-25-Konformität als Mindestanforderung formuliert werden
- Pentests — Penetrationstest-Berichte klassifizieren Findings nach CWE; CWE-Verständnis erleichtert die Bewertung
- DevOps-Pipelines — SAST/DAST-Tools in CI/CD-Pipelines integrieren, Findings nach CWE-Schwere priorisieren
- Schulungen — Top-25-basierte Awareness für Entwickler-Teams
- Compliance — ISO 27001 Annex A 8.28 (Secure Coding), DORA-Anforderungen an sichere Software-Entwicklung
Weiterführende Links
Häufige Fragen
- Was ist der Unterschied zwischen CWE und CVE?
- CVE (Common Vulnerabilities and Exposures) identifiziert eine konkrete Sicherheitslücke in einer bestimmten Software-Version — z. B. CVE-2014-0160 (Heartbleed in OpenSSL). CWE (Common Weakness Enumeration) beschreibt die zugrunde liegende Schwächen-Art als Klasse — z. B. CWE-125 (Out-of-bounds Read). Jeder CVE ist typischerweise mehreren CWEs zugeordnet. CWE ist also ein Klassifizierungs-System, CVE ein Identifikations-System für konkrete Vorfälle.
- Was ist die CWE Top 25?
- Die CWE Top 25 ist eine jährlich aktualisierte Liste der 25 gefährlichsten Software-Schwächen-Klassen — gemessen an Häufigkeit und potentiellem Schaden. Die Liste wird von MITRE auf Basis von CVE-Daten der letzten zwei Jahre berechnet und gewichtet die Klassen nach einer formel kombinierten Bewertung aus Verbreitung und Schwere. Sie ist die Standard-Referenz für sichere Entwicklung, SAST-Tool-Konfiguration und Secure-Coding-Schulungen.
- Wie nutzen Entwickler CWE in der Praxis?
- CWE dient als gemeinsames Vokabular zwischen Sicherheitsanalysten, Entwicklern und Tools. Konkret kommt es zum Einsatz in der Konfiguration und Auswertung von SAST/DAST-Tools (jedes Finding ist einer CWE zugeordnet), bei Secure-Coding-Schulungen (CWE Top 25 als Curriculum-Grundlage), in Code-Review-Checklisten, bei der Threat-Modeling-Klassifizierung und in Compliance-Reports (z. B. ISO 27001 Annex A 8.28 Secure Coding).
- Wie ist die CWE-Datenbank strukturiert?
- Die CWE-Datenbank organisiert Schwächen-Klassen in mehreren hierarchischen Ebenen — von abstrakten Kategorien (Pillars) über konkrete Schwächen-Familien bis zu spezifischen Schwächen (Variants). Es existieren mehrere Sichten — die wichtigsten sind die Software Development View, die Hardware Design View, die Research View sowie die jährliche CWE Top 25 als operative Quintessenz.
- Wer pflegt CWE?
- CWE wird von der MITRE Corporation im Auftrag des US Department of Homeland Security und des CISA (Cybersecurity and Infrastructure Security Agency) gepflegt. MITRE pflegt auch das CVE-Programm und das MITRE-ATT&CK-Framework. Die CWE-Datenbank ist öffentlich auf cwe.mitre.org verfügbar und wird kontinuierlich aktualisiert.