Suchen

MITRE Common Weakness Enumeration (CWE) Die 25 gefährlichsten Softwarefehler und ihre praktische Relevanz

| Autor / Redakteur: Oleg Kolesnikov / Peter Schmitz

Die vehement geforderte Neuauflage des Common Weakness Enumeration System, kurz CWE, liefert eine pragmatische Einordnung der gängigsten Schwachstellen samt dem mit ihnen verbundenen Gefahrenpotential. Die aktuellen CWE Top 25 haben den Elfenbeinturm der Sicherheitsexperten verlassen und stützen sich inzwischen auf konkrete Daten aus der Praxis und helfen den Risiko-Score einer Schwachstelle realistisch einzuschätzen.

Firmen zum Thema

Während die ursprüngliche CWE Top 25 sich auf wichtige Klassen von Softwarefehlern fokussierte, werden werden sie im Update von 2019 mit genauen Praxisdaten untermauert.
Während die ursprüngliche CWE Top 25 sich auf wichtige Klassen von Softwarefehlern fokussierte, werden werden sie im Update von 2019 mit genauen Praxisdaten untermauert.
(Bild: gemeinfrei / Pixabay )

Das Common Weakness Enumeration System (CWE) der gemeinnützigen MITRE Corporation wird durch das Common Vulnerability and Exposures System (CVE) ergänzt, und ist eine der wichtigsten Ressourcen, wenn es um die Nachverfolgung von Software-Sicherheitsproblemen geht.

CWE unterscheidet sich insofern von CVE, als CWE eine Taxonomie gängiger Typen von Sicherheitsschwachstellen enthält, die als Grundlage dienen, Schwachstellen zu identifizieren, zu erkennen, zu beheben und zu verhindern. CWE bietet den Benutzern unterschiedliche Blickwinkel, um verschiedene Klassen von Software-Sicherheitsproblemen und Schwachstellen zu untersuchen, während CVE eine Liste spezifischer Schwachstellen­instanzen führt, die bereits identifiziert und veröffentlich wurden.

Sowohl CWE als auch CVE sind wichtige Ressourcen, um Ingenieure und Entwickler über die Grundlagen möglicher Fehler bei der Konzeption und Entwicklung von Softwareprodukten aufzuklären. Sie helfen zudem Anbietern und Sicherheitsspezialisten potenzielle Sicherheitslücken zu erkennen, so dass sie ihre Tools und Methoden zur automatischen Erkennung gängiger Software-Sicherheitsprobleme verbessern können.

Ein aktuelles Beispiel bietet die massive Verlagerung auf Remote Working aufgrund der globalen Covid-19-Pandemie. Sieht man sich einige der Top-CVEs an, die Angreifer aufgrund der veränderten Situation am häufigsten ausgenutzt haben, tauchen viele verschiedene Arten von CWEs auf - CVE-2019-11510, eine nicht authentifizierte Schwachstelle verbunden mit Remote-VPN-Zugriff, klassifiziert als CWE-275, "Berechtigungsprobleme", CVE-2018-13382, eine SSL-VPN-Server-Schwachstelle, klassifiziert als CWE-285, "Unzulässige Autorisierung", CVE-2019-19781, eine Citrix-Remote-Gateway-Schwachstelle, klassifiziert als CWE-22, "Path Traversal" usw.

Zieht man gleichzeitig die Top 10 der ausgenutzten Schwachstellen für 2019-2020 laut DHS/FBI ( zurate, so fallen 7 von 10 dieser Schwachstellen unter denselben CWE-Abstraktions­klassennamen CWE-20 "Falsche Eingabeüberprüfung". Wie soll man unter diesen Umständen Software-Sicherheitsprobleme erkennen, die zuerst angegangen werden müssen? Ein nicht ganz triviales Unterfangen.

CWE Top 25 der gefährlichsten Softwarefehler

Bereits Ende 2019 hat die gemeinnützige MITRE Corporation der US-Industrie die wohl bekannteste Rangliste von Software-Sicherheitsproblemen in der Datenverarbeitung, die „Common Weakness Enumeration (CWE) Top 25 Most Dangerous Software Errors“, aktualisiert. Die Liste ist eine Weiterentwicklung der erstmals 2011 veröffentlichten Zusammenstellung. Mit dem Update aus dem letzten Jahr wurde zum einen die zugrunde liegende Methodik verbessert. Zum anderen sollte die Liste praxisbezogener und damit für Cybersecurity-Fachleute direkt nutzbringender werden. Die Liste von 2011 basierte größtenteils auf Ad-hoc-Feedback einer relativ kleinen Anzahl von Experten und Organisationen. Die aktuellen CWE Top 25 hingegen stützen sich auf konkrete Daten aus der National Vulnerability Database (NVD) des NIST mit 25.000 hoch bewerteten Common Vulnerability and Exposure (CVE)-Einträgen aus den Jahren 2017 und 2018 und den zugehörigen Industriestandard Common Vulnerability Scoring System (CVSS) v3.0.

Die neuen CWE Top 25, jetzt relevanter für die Praxis?

Die veränderte Methodik hat einen so gewichtigen Einfluss auf die CWE Top 25-Liste 2019, dass man sie guten Gewissens als fast vollständig neu betrachten kann. Angesichts der gravierenden Veränderungen innerhalb der Softwarewelt im letzten Jahrzehnt haben viele die Reform als längst überfällig bewertet. Während die ursprüngliche CWE Top 25 sich auf wichtige Klassen von Softwarefehlern fokussierte, werden diese Befunde im Update von 2019 mit genauen Praxisdaten untermauert.

Wenn man die die Herangehensweise der CWE Top 25 verstehen will, muss man sich die Mühe machen, ihre beweglichen Teile zu isolieren. Ein erster Schritt besteht darin, zu verstehen, was genau die Liste eigentlich misst. Die einfachste Antwort: es handelt sich um eine Liste von häufigen Klassen von Programmierfehlern. Die Fehler sind solcherart, dass, wenn sie in Softwareprogrammen auftreten, sie schädliche Auswirkungen haben. MITRE beschreibt das wie folgt: „Diese Schwachstellen sind leicht zu finden und auszunutzen. Sie sind gefährlich, weil sie es Angreifern ermöglichen, die Ausführung einer Software vollständig zu übernehmen, Daten zu stehlen oder die Funktionsfähigkeit einer Software zu beeinträchtigen.“

Die Konzentration auf Klassen von Programmierfehlern ist generell nicht neu. Allerdings basiert die Einstufung nach Klassen jetzt auf objektiveren Kriterien. Die mit Abstand als am höchsten eingestufte Schwachstelle in den CWE-Top 25 ist beispielsweise CWE-119, „Improper Restriction of Operations within the Bounds of a Memory Buffer“, mit einem Score von 75,56. Damit wird ein breites Spektrum von häufig auftretenden speicherbezogenen Programmierfehlern wie der klassische Speicherpufferüberlauf abgedeckt. Aber was hat CWE-119 an die Spitze gebracht? Wie schon erwähnt, handelt es sich um ein einfaches Mapping, das die Anzahl der Fehler auf CVE-Ebene mit höheren CVSS-Bewertungen aufschlüsselt - je häufiger eine Schwachstelle auftritt und je schwerwiegender die potentiellen Auswirkungen, desto höher die CWE-Einstufung.

In der Version von 2011 rangierte „Improper Sanitization of Special Elements used in an SQL Command (‚SQL Injection')“, CWE-89, an der Spitze der Problemliste. Jetzt findet man sie auf Platz sechs. Das bedeutet aber nicht, dass CWE-89 nicht mehr so verbreitet oder weniger wichtig ist. Gleichzeitig wird mit einem einzigen Sprung innerhalb der Liste der Fokus eines jeden, der sie liest, auf unterschiedliche Schwachstellen gelenkt. Das macht die CWE-Top 25 insgesamt leichter verständlich. Fachleute, die mit der Aufgabe betraut sind, Fehler zu beheben, haben es leichter die Ergebnisse umzusetzen. Softwareanbieter oder spezifische Programme, die viele CWE-Schwachstellen auf Spitzenplätzen der Liste besetzen, sprechen ihre eigene Sprache. Bestehen solche Schwachstellen beispielsweise über einen längeren Zeitraum, können Anwender der betreffenden Software sich selbst ein Urteil über den Lebenszyklus des Sicherheitsdesigns und die damit verbundenen Risiken bilden.

Der große Vorteil des neuen Ansatzes besteht darin, dass die CWE Top 25 jetzt eine Maßeinheit liefern, worauf es tatsächlich ankommt. Einfach, weil sie auf Praxisdaten basiert und nicht nur auf einzelnen Berichten oder Ad-hoc-Einschätzungen weniger Experten.

Angesichts des weltweiten Gesundheitsnotstands durch das neuartige Coronavirus und die Covid-19-Krankheit, sind Millionen von Menschen gezwungen von zu Hause zu arbeiten. Remotezugriff, VPN und sämtliche mit Telearbeit verbundenen Probleme hinsichtlich von Softwaresicherheit sind wichtiger denn je. Man sollte angesichts dessen über "maßgeschneiderte“ Versionen der CWE-Rangliste nachdenken, die für bestimmte Organisationen oder Unternehmen am besten geeignet sind. Dazu muss man einige zusätzliche Kriterien heranziehen, wie zum Beispiel die Art der verwendeten Softwarekomponenten und die Art der vertraulichen Daten.

Über den Autor: Oleg Kolesnikov ist VP Threat Research/Cybersecurity bei Securonix.

(ID:46849642)