CWE Top 25
Einführung
Während eines Penetrationstests stoßen wir häufig auf eine Vielzahl unterschiedlicher Schwachstellen. Einige davon entstehen durch einfache Konfigurationsfehler, andere wiederum sind auf grundlegende Programmierfehler innerhalb einer Anwendung zurückzuführen. Im Laufe der Zeit hat sich gezeigt, dass bestimmte Schwachstellen immer wieder auftreten und besonders häufig zu sicherheitskritischen Problemen führen.
Um diese wiederkehrenden Sicherheitsprobleme besser zu verstehen, wurde im Rahmen des Projekts Common Weakness Enumeration (CWE) eine priorisierte Liste erstellt: die CWE Top 25 Most Dangerous Software Weaknesses. Diese Liste fasst diejenigen Software-Schwachstellen zusammen, die besonders häufig auftreten und gleichzeitig ein hohes Sicherheitsrisiko darstellen.
Für Pentester, Entwickler und Sicherheitsteams bietet die CWE Top 25 daher eine hilfreiche Orientierung, um die kritischsten Programmierfehler zu erkennen und gezielt zu vermeiden.
Die offizielle Dokumentation der CWE Top 25 ist öffentlich verfügbar unter: https://cwe.mitre.org/top25/
Was ist die CWE Top 25?
Die CWE Top 25 ist eine regelmäßig aktualisierte Liste der gefährlichsten Software-Schwachstellen. Sie wird von der Organisation MITRE veröffentlicht und basiert auf realen Schwachstellendaten aus öffentlich zugänglichen Sicherheitsdatenbanken.
Bei der Erstellung der Rangliste werden mehrere Faktoren berücksichtigt:
- wie häufig eine Schwachstelle auftritt
- welche Auswirkungen eine erfolgreiche Ausnutzung haben kann
- wie wahrscheinlich eine Ausnutzung durch Angreifer ist
Durch die Kombination dieser Faktoren entsteht eine Rangliste von Schwachstellen, die in der Praxis besonders häufig zu sicherheitsrelevanten Vorfällen führen.
Die CWE Top 25 ist somit keine rein theoretische Klassifikation, sondern spiegelt reale Sicherheitsprobleme wider, die in moderner Software regelmäßig auftreten.
Wie wird die CWE Top 25 berechnet?
Die Rangliste der CWE Top 25 basiert nicht auf einer subjektiven Einschätzung einzelner Experten, sondern auf realen Schwachstellendaten. Grundlage hierfür sind öffentlich verfügbare Sicherheitsdatenbanken, insbesondere die National Vulnerability Database (NVD) sowie die dort veröffentlichten CVE-Einträge.
Für jede Schwachstelle wird analysiert, wie häufig sie in realen Sicherheitslücken vorkommt und wie schwerwiegend ihre Auswirkungen sind. Anschließend werden diese Informationen miteinander kombiniert, um einen Score zu berechnen, der die Relevanz der jeweiligen Schwachstellenklasse widerspiegelt.
Vereinfacht betrachtet basiert die Berechnung auf zwei zentralen Faktoren:
- Häufigkeit (Frequency) -- wie oft eine Schwachstelle in realen CVEs vorkommt
- Schweregrad (Severity) -- wie kritisch die Auswirkungen laut CVSS-Bewertung sind
Eine Schwachstelle erhält daher einen besonders hohen Rang, wenn sie sowohl häufig auftritt als auch schwerwiegende Auswirkungen auf Systeme haben kann.
Die zugrunde liegende Berechnung kann vereinfacht wie folgt dargestellt werden:
Score(CWE) = log10(Frequency) × Average CVSS Score
Die logarithmische Gewichtung der Häufigkeit verhindert dabei, dass sehr häufige Schwachstellen die gesamte Rangliste dominieren. Gleichzeitig sorgt der durchschnittliche CVSS-Wert dafür, dass auch die tatsächlichen Auswirkungen einer Schwachstelle berücksichtigt werden.
Durch diese Kombination entsteht eine Rangliste von Schwachstellen, die in der Praxis besonders häufig auftreten und gleichzeitig ein hohes Sicherheitsrisiko darstellen. Genau diese Schwachstellen bilden die CWE Top 25 Most Dangerous Software Weaknesses.
Ziel der CWE Top 25
Das Hauptziel der CWE Top 25 besteht darin, das Bewusstsein für besonders kritische Programmierfehler zu erhöhen. Die Liste soll Entwickler und Sicherheitsexperten dabei unterstützen, typische Schwachstellen frühzeitig zu erkennen und zu vermeiden.
Typische Einsatzbereiche sind unter anderem:
- sichere Softwareentwicklung (Secure Coding)
- Code Reviews und statische Codeanalyse
- Sicherheitsschulungen für Entwickler
- Penetrationstests
- Vulnerability Management
Für Entwickler stellt die Liste eine Orientierung dar, welche Programmierfehler besonders kritisch sind. Für Pentester dient sie als hilfreiche Referenz bei der Analyse von Anwendungen und Systemen.
Beispiele typischer Schwachstellen
Die konkrete Reihenfolge der Einträge kann sich von Jahr zu Jahr ändern. Dennoch finden sich einige Schwachstellen regelmäßig in der Liste wieder.
Typische Beispiele sind:
- Unzureichende Eingabevalidierung (Improper Input Validation)
- Cross-Site Scripting (XSS)
- SQL Injection
- Out-of-Bounds Write
- Use After Free
- Broken Access Control
- Improper Authentication
Solche Schwachstellen können schwerwiegende Folgen haben, beispielsweise:
- Ausführung von Schadcode
- Zugriff auf vertrauliche Daten
- Privilegieneskalation
- vollständige Kompromittierung eines Systems
Beziehung zu anderen Schwachstellenstandards
Die CWE Top 25 steht in engem Zusammenhang mit anderen Standards zur Beschreibung von Schwachstellen.
Ein typischer Zusammenhang sieht folgendermaßen aus:
Software-Schwachstelle
↓
CWE (Schwachstellenklasse)
Konkrete Sicherheitslücke
↓
CVE (eindeutige Kennung)
Risikobewertung
↓
CVSS (Schweregradbewertung)
In der Praxis wird eine konkrete Schwachstelle häufig über eine CVE-ID referenziert. Diese Schwachstelle lässt sich einer zugrunde liegenden CWE-Kategorie zuordnen. Der Schweregrad kann anschließend mithilfe des Common Vulnerability Scoring System (CVSS) bewertet werden.
Abgrenzung zur OWASP Top 10
Neben der CWE Top 25 existieren weitere bekannte Listen von Sicherheitsrisiken. Eine der bekanntesten ist die OWASP Top 10, die sich speziell auf Schwachstellen in Webanwendungen konzentriert.
Auf den ersten Blick wirken beide Listen ähnlich, da sie häufig vergleichbare Sicherheitsprobleme beschreiben. Tatsächlich verfolgen sie jedoch unterschiedliche Ziele.
Die CWE Top 25 beschreibt grundlegende Software-Schwachstellen auf Ebene von Programmierfehlern oder Designproblemen. Sie ist technologieübergreifend und kann auf unterschiedlichste Software angewendet werden, beispielsweise Webanwendungen, Desktopsoftware oder eingebettete Systeme.
Die OWASP Top 10 hingegen konzentriert sich auf typische Sicherheitsrisiken moderner Webanwendungen. Sie richtet sich in erster Linie an Entwickler und Sicherheitsverantwortliche im Bereich Web Security und beschreibt eher Kategorien von Sicherheitsproblemen als konkrete Programmierfehler.
Ein weiterer Unterschied besteht in der Struktur der beiden Listen. Während die CWE Top 25 einzelne Schwachstellenklassen aus der Common Weakness Enumeration priorisiert, fasst die OWASP Top 10 mehrere technische Schwachstellen zu übergeordneten Risikokategorien zusammen.
In der Praxis ergänzen sich beide Listen. Viele Risiken aus der OWASP Top 10 lassen sich auf konkrete Schwachstellen aus der CWE zurückführen. Beispielsweise können Risiken wie Injection oder Cross-Site Scripting direkt bestimmten CWE-Kategorien zugeordnet werden.
Für Penetrationstester und Entwickler ist es daher sinnvoll, beide Referenzen zu kennen. Während die OWASP Top 10 einen guten Überblick über typische Webrisiken bietet, liefert die CWE eine deutlich detailliertere technische Klassifikation der zugrunde liegenden Schwachstellen.
Bedeutung für Penetrationstests
Für Penetrationstester stellt die CWE Top 25 eine wertvolle Orientierung dar. Viele der Schwachstellen, die während eines Sicherheitstests identifiziert werden, lassen sich auf Programmierfehler zurückführen, die bereits in dieser Liste enthalten sind.
Ein gutes Verständnis dieser Schwachstellen hilft dabei:
- typische Angriffsvektoren schneller zu erkennen
- unsichere Programmiermuster zu identifizieren
- Findings sinnvoll zu priorisieren
Gleichzeitig ermöglicht die Nutzung der CWE-Klassifikation eine konsistente Dokumentation von Schwachstellen in Sicherheitsberichten.
binsec academy GmbH - Online IT Security Training with Practical Focus
Die binsec academy GmbH ist ein Anbieter von praxisorientierten Online-Trainings im Bereich IT-Sicherheit. Das Schulungsangebot umfasst unter anderem Penetration Testing und sichere Softwareentwicklung. Die Teilnehmer lernen in realitätsnahen Laborumgebungen, die typische IT-Infrastrukturen und Anwendungen simulieren. Die Kurse beinhalten anerkannte Standards wie den OWASP Top 10 und PCI DSS und sind in mehreren Programmiersprachen verfügbar. Nach erfolgreichem Abschluss erhalten die Teilnehmenden Zertifikate wie den Binsec Academy Certified Pentest Professional (BACPP) oder den Binsec Academy Certified Secure Coding Professional (BACSCP), die ihre praktischen Fähigkeiten zur Erkennung und Behebung von Sicherheitslücken belegen.
Gehe zu binsec acadmy GmbH
binsec GmbH – Experten für Penetrationstests
Die binsec GmbH ist ein deutsches IT-Sicherheitsunternehmen mit Schwerpunkt auf professionellen Penetrationstests. Mit über 10 Jahren Erfahrung führt das Team tiefgehende Sicherheitsprüfungen von Netzwerken, Webanwendungen, APIs und mobilen Apps durch. Zertifizierte Experten identifizieren und dokumentieren systematisch Sicherheitslücken, um Unternehmen dabei zu unterstützen, ihre IT-Sicherheit zu verbessern und Compliance-Anforderungen zu erfüllen.
Gehe zu binsec GmbH