CWE-Top-25- und On-the-Cusp-Listen Sicherheit geht vor

Das CWE Compliance Dashboard ermöglicht Entwicklern, die Konformität ihrer Lösung mit den CWE-Top-25 Normen schnell zu prüfen und dies einfach zu dokumentieren.
Das CWE Compliance Dashboard ermöglicht Entwicklern, die Konformität ihrer Lösung mit den CWE-Top-25 Normen schnell zu prüfen und dies einfach zu dokumentieren.

Was im ersten Moment wie eine Hit-Liste der Sicherheitsschwachstellen aussieht, ist bei genauerer Betrachtung eine wertvolle Quelle zur Verbesserung der Software-Qualität.

Unlängst gab es wieder eine Aktualisierung der CWE Top 25-Liste. Diese beinhaltet eine neue Methodik zur objektiven Bestimmung der häufigsten und gefährlichsten Bedrohungen (CWE = Common Weakness Enumeration). Sie bringt die CWEs in Einklang mit der sich ständig ändernden Anwendungssicherheitslandschaft und berücksichtigt reale Probleme, die heute in wirklichen  Anwendungen auftreten. Zusätzlich enthält sie Änderungen an der CWE-Liste „On the Cusp“, die im Wesentlichen die Top 25 auf die Top 40 erweitert.

Bei der CWE handelt es sich um eine von der Community unterstützte Liste der häufigsten Cybersicherheits-Schwachstellen. Sie berücksichtigt eine Vielzahl gefährlicher Softwareprobleme, über 800 davon reichen von Speicherproblemen wie Pufferüberlauf bis hin zu ‚Tainted‘ Daten wie SQL-Injektion (SQLI). Am bekanntesten ist sie wahrscheinlich für ihre CWE-Top-25-Liste, die als sicherer Kodierungsstandard genutzt wird.

Das Interessante an der CWE-Liste an Schwachstellen ist: Sie stehen in Zusammenhang mit  realen Problemen, die in echten Softwaresystemen aufgetreten sind. Passiert also Schlimmes in der Cybersicherheit, beispielsweise eine Datenpanne, ein gehackter Router oder eine anfällige Sicherheitskamera, gibt es (bis auf wenige Ausnahmefälle) einen Eintrag in der National Vulnerability Database (NVD). Jeder Eintrag erhält eine eindeutige Nummer, die CVE oder Common Vulnerability Enumeration, und eine NVD-Bewertung namens CVSS (Common Vulnerability Scoring System), die aufzeigt, wie gefährlich das Sicherheitsproblem ist.

Diese CVE beschreibt das Sicherheitsproblem auf eine Art, dass sie zum Vergleich ähnlicher Probleme mit anderen Produkten und Software verwendet werden kann. Gibt es etwa ein Problem mit einer Sicherheitskamera zu Hause und mit einem Bürorouter, lässt sich  feststellen, ob es sich beim zugrunde liegenden Problem um dasselbe handelt. Möglicherweise ist der Grund eine schwache Verschlüsselung, oder das Einprogrammieren eines Standardpassworts. Die CVE hilft also, um Sicherheitsprobleme auf angemessene Weise zu diskutieren, um sie besser zu verstehen, und planen und reagieren zu können.

Jede CVE wird schließlich mit CWE-IDs aufgefüllt, die mit dem Ursprung der Code-Schwachstelle in Verbindung stehen, die zu den Sicherheitsproblemen in der CVE führt, z. B. führt eine Untersuchung einer entdeckten Sicherheitslücke in einem Router zur Identifizierung des verantwortlichen Codes. Diese Grundursache wird in Form der SW-Schwachstelle beschrieben (z.B. eine ungeprüfte Eingabezeichenfolge), die die Sicherheitslücke ausnutzt.

Auch wenn das ein etwas langer Weg mit vielen Akronymen ist, bedeutet das im Grunde genommen, dass sich veröffentlichte Sicherheitsprobleme tatsächlich mit der zugrunde liegenden Softwareschwäche im Code in Beziehung bringen lassen. So können Entwickler dann die Probleme vermeiden, die in der realen Welt bei wirklichen Anwendungen und Geräten auftreten.

Anfang 2019 kamen neue CWEs betreffend Qualität und Zuverlässigkeit hinzu. Mit der Zeit werden diese noch zunehmen. Vorläufig beschränken sie sich vor allem auf Sicherheitslücken. Wenn es so viele davon gibt, wo sollte man beginnen? Das CWE enthält eine Liste der Top 25, um die kritischsten, wahrscheinlichsten und folgenreichsten Sicherheitslücken von Software zu ermitteln. Teams, die bereits nach diesen Schwachstellen suchen, sollten die Liste weiter unten fortsetzen. Wurde allerdings noch nichts unternommen, ist die CWE Top 25 ein guter Ausgangspunkt.

Im Jahr 2019 gab es zum ersten Mal seit 2011 wieder eine Aktualisierung der CWE-Top 25, in der Zwischenzeit hat sie sich kaum verändert. Während die gesamte CWE regelmäßig aktualisiert wird, erfolgte dies bei den Top 25 nicht so oft – zumindest bis jetzt. Diese neue Liste basiert nicht nur auf dem NVD, sondern auch auf realen, bisher nicht publizierte oder im NVD enthaltenen Problemen, die intern in großen Unternehmen auftraten. Das bedeutet einen veränderten Ansatz, da viele verschiedene Datenquellen berücksichtigt wurden und auch eine gewisse Subjektivität auf der Grundlage der Branchenmeinung  einfloss.

Interessant an der jüngsten Aktualisierung ist der objektivere Ansatz, der je nach Ansicht einen Nachteil birgt: Es gibt keinen Zugang zu den privaten Daten, auf deren Basis die neue Liste erstellt wurde – man könnte vielleicht meinen, man hätte etwas verloren. Der Vorteil ist: Man weiß, was die CWE Top 25 darstellt – nämlich die ‚Liste und Reihenfolge der häufigsten Schwachstellen‘, basierend auf allen gemeldeten Sicherheitslücken, wie sie in der NVD (Nationale Datenbank für Schwachstellen) ausgedrückt sind.

Die Platzierung eines CWE unter den Top 25 ist von Bedeutung - es gibt ein relatives Gefahrenniveau auf der Grundlage des jeweiligen CVSS-Scores. Zum Beispiel ist ein CWE auf Platz 25 nicht annähernd so gefährlich wie die Nummer eins, obwohl grundsätzlich alle Schwächen als gefährlich angesehen werden sollten. Schließlich sind sie alle schlecht, und das ultimative Ziel ist, sie zu beheben. Eine weitere interessante Sache an den CWE Top 25 ist die Existenz der 'On the Cusp'-Liste, die viele Leute nicht kennen. Hier finden sich CWEs, die es beinahe in die Top 25 geschafft haben. 

Wo sollte man nun beginnen? Unabhängig von der Art der Anwendung sind die CWE Top 25 ein guter Ausgangspunkt. Hat man die Sicherheitslücken der Top 25 in der Software beseitigt, sollte man einen Blick auf die On-the-Cusp-Regeln werfen. Die CWE-Top-25-Schwächen werden von Underwriter's Laboratory UL 2900, einer Cybersicherheitszertifizierung für angeschlossene Geräte, referenziert. Für Web-Anwendungen sollte man die OWASP und die OWASP Top 10 beachten.

Wenn man als Nutzer von statischen Analysetools das CWE-Top-25-Update nicht kannte, ist es ein guter Zeitpunkt, die eigene Tool-Konfiguration zu prüfen. Die neueste CWE-Liste ist der aktuelle Stand der Technik bei Software-Sicherheitsschwachstellen, also sollte man sie abdecken. In Zukunft ist es sinnvoll, den Standard im Auge zu behalten und Änderungen im Laufe der Zeit einzubeziehen. Es ist auch wichtig, dass die Tool-Hersteller mit der neuesten CWE konform sind. Sie sind in den Augen der Nutzer schließlich die Experten für Unterstützung und Berichterstattung auf Grundlage der neuen Regeln, worauf sich Nutzer bis zu einem gewissen Grad verlassen. Mit dem Voranschreiten bei der sicheren Entwicklung sollte man sich vergewissern, dass die Tools auch die On-the-Cusp-Regeln unterstützen, schließlich hören die Sicherheitslücken nicht bei 25 auf.