Zum Inhalt springen

GlossarDefinition

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-IDNameBeispiel
CWE-79Cross-Site Scripting (XSS)bösartiger JavaScript-Code in Webseite eingeschleust
CWE-89SQL InjectionBenutzereingabe wird ungefiltert in SQL-Query gesetzt
CWE-22Path Traversal../-Eingabe ermöglicht Zugriff auf Dateien außerhalb des erlaubten Verzeichnisses
CWE-78OS Command InjectionBenutzereingabe wird als Shell-Befehl ausgeführt
CWE-125Out-of-bounds ReadBuffer wird über zulässige Grenzen hinaus gelesen (Heartbleed)
CWE-416Use After FreeZugriff auf bereits freigegebenen Speicher
CWE-787Out-of-bounds WriteBuffer Overflow im Schreibvorgang
CWE-352Cross-Site Request Forgery (CSRF)Unautorisierte Aktion im Namen eines authentifizierten Users
CWE-862Missing AuthorizationFunktion ohne Berechtigungsprüfung
CWE-918Server-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

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.
Kategorie