Was ist eine bekannte Schwachstelle?
6. Februar 2018
0 Min. LesezeitDieser Beitrag erschien ursprünglich am 15. Dezember 2017 auf CSO Online.
Wir hören oft, wie wichtig es ist, bekannte Schwachstellen zu beheben. Die meisten jährlichen Sicherheitsberichte weisen darauf hin, dass bekannte Schwachstellen für die überwiegende Mehrheit erfolgreicher Angriffe verantwortlich sind. Auch mangelt es nicht an Schwachstellen mit bekannten Namen – von Heartbleed bis ImageTragick –, die uns immer wieder ihre Schwere vor Augen führen. Wenn sie also so wichtig sind, nehmen wir uns einen Moment Zeit und definieren, was eine bekannte Schwachstelle ist.
Antwort 1: Eine Schwachstelle mit einer CVE-ID
Ein Begriff, der praktisch synonym zu „bekannte Schwachstelle“ verwendet wird, ist CVE, kurz für „Common Vulnerabilities and Exposures“ von MITRE. Wird eine neue Schwachstelle entdeckt, kann eine CVE Numbering Authority (CNA) ihr eine CVE-Nummer zuweisen. Diese dient dann dazu, die Schwachstelle in Datenbanken und Tools zu identifizieren.
Wichtig ist: CVE ist keine Datenbank, sondern eine ID. Die National Vulnerability Database (NVD) ist die offizielle Quelle für Informationen zu CVEs. Wird eine CVE in die NVD aufgenommen, enthält sie in der Regel einige Informationen, etwa eine Kurzbeschreibung und eine Definition der von der Schwachstelle betroffenen Produkte in Form einer CPE (Common Platform Enumeration). Die Qualität der Informationen in der NVD variiert stark und hängt von der Quelle ab.
Abgesehen von CVEs, die für eine spätere Offenlegung reserviert werden, lässt sich sagen: Eine Schwachstelle mit CVE-Nummer ist bekannt. Allerdings haben viele Schwachstellen zwar eine CVE-Nummer, werden aber nie in die NVD aufgenommen. Dadurch sind sie nur schwer vollständig zu verstehen. Außerdem haben viele bekannte Schwachstellen überhaupt keine CVE.
Antwort 2: Eine im Internet offengelegte Schwachstelle
Oft werden Schwachstellen entdeckt, veröffentlicht und (hoffentlich) behoben, ohne dass jemand eine CVE beantragt. Das kommt besonders häufig bei Open-Source-Projekten vor, bei denen praktisch alles öffentlich geschieht. Nutzer legen eine Schwachstelle häufig unwissentlich offen, indem sie wie bei anderen Fehlern ein Issue in einem GitHub-Projekt erstellen. Dabei bedenken sie nicht, dass sie so auf eine noch nicht behobene Sicherheitslücke aufmerksam machen.
Selbst wenn Issues vertraulich und verantwortungsvoll gemeldet werden, wird die Behebung der Schwachstelle zwangsläufig als Open Source veröffentlicht. Häufig wird die Schwachstelle dann in den Versionshinweisen, einem Issue oder zusammen mit den Details der Codeänderung erwähnt. Diese Informationen werden bewusst hinzugefügt, denn nur so erfahren die Nutzer des Projekts, dass ein Sicherheitsrisiko besteht und behoben wurde. Einige Projektverantwortliche beantragen für solche Schwachstellen eine CVE. In der Praxis kommt das jedoch selten vor, sei es aus Unkenntnis oder wegen des damit verbundenen Aufwands.
Auch diese Schwachstellen sind bekannt und könnten als problematischer gelten als solche mit einer CVE. Nutzer eines Projekts können es auf diese Schwachstellen untersuchen, doch das ist zeitaufwendig und lässt sich kaum in großem Maßstab umsetzen. Angreifer hingegen können beliebte Bibliotheksprojekte genau unter die Lupe nehmen und solche Probleme recht einfach finden. Dafür müssen sie nur die populären Projekte prüfen, um viele Nutzer zu erreichen. Diese Schwachstellen werden als nicht erfasste Schwachstellen bezeichnet. Werden sie in eine Datenbank aufgenommen, gelangen wir zur nächsten Kategorie bekannter Schwachstellen.
Antwort 3: Eine Schwachstelle in öffentlich zugänglichen Datenbanken
Die NVD ist zwar die bekannteste offizielle Schwachstellendatenbank, aber es gibt auch andere. VictimsDB, RedHat und Openwall sind Beispiele für öffentliche Schwachstellendatenbanken, die allen zugänglich sind. Viele dort aufgeführte Schwachstellen haben keine CVE – etwa die zuvor erwähnten nicht erfassten Schwachstellen – oder werden dort veröffentlicht, bevor eine CVE zugewiesen wird.
Eine Schwachstelle in einer öffentlichen Datenbank ist beinahe so bekannt wie eine mit CVE. Sie ist an einem öffentlichen Ort gespeichert, der Verteidigern und Angreifern gleichermaßen zugänglich ist, und informiert beide über das damit verbundene Risiko. Der einzige Unterschied zwischen der NVD und diesen Datenbanken liegt im Aufnahmeverfahren, das sich von Datenbank zu Datenbank unterscheidet.
Antwort 4: Eine Schwachstelle in geschlossenen Schwachstellendatenbanken
Nicht alle Schwachstellendatenbanken sind öffentlich zugänglich. Viele Unternehmen bauen eigene Schwachstellendatenbanken auf und pflegen sie, halten sie aber unter Verschluss. Kunden können Zugang zu den Schwachstellenlisten erwerben, um die Schwachstellen zu priorisieren und zu versuchen, die für sie besonders relevanten zu beheben.
Geschlossene Schwachstellendatenbanken sind eine nützliche Möglichkeit, Schwachstellen aufzudecken, die Sie selbst nur schwer finden würden, und sich für den Fall zu schützen, dass Angreifer sie ebenfalls entdecken. Ich würde diese Schwachstellen jedoch nicht als bekannt bezeichnen. Solange der Anbieter die Datenbank nicht auch an Angreifer verkauft hat (wovon ich nicht ausgehe), ist es für Angreifer genauso wahrscheinlich, eine andere Schwachstelle in Ihrem System zu finden wie die gerade von Ihnen erworbene.
Antwort 5: Eine Schwachstelle, die im Darknet geteilt wird
Ähnlich wie im legalen Geschäft mit Schwachstellendatenbanken gibt es auch im Darknet eigene Schwachstellenarchive, die auf dem Schwarzmarkt verkauft werden. Da sich der finanzielle Ertrag für Angreifer deutlich unterscheidet, können diese Schwachstellen Millionen kosten – oder kostenlos beziehungsweise günstig abgegeben werden.
Diese Schwachstellen sind definitiv nicht bekannt. Tatsächlich werden sie in der Regel als „Zero-Day“-Schwachstellen bezeichnet, da Angreifer davon wissen, bevor sie bekannt werden (also null Tage nach der Offenlegung). Manchmal werden diese Schwachstellen öffentlich gemacht. In diesem Fall würde ich sie nach Antwort 2 als nicht erfasste Schwachstellen einstufen.
Zero-Day-Schwachstellen sind zweifellos wichtig. Die Wahrscheinlichkeit, dass Angreifer sie nutzen, bevor sie öffentlich bekannt werden, ist jedoch deutlich geringer als bei tatsächlich bekannten Schwachstellen.
Zusammenfassung
Eine Schwachstelle bleibt eine Schwachstelle – ob bekannt oder nicht. Der entscheidende Unterschied liegt darin, wie wahrscheinlich es ist, dass Angreifer von ihr wissen und versuchen, sie auszunutzen. Je bekannter die Schwachstelle, desto dringender sollte sie behoben werden.
Es empfiehlt sich, die ersten drei Arten von Schwachstellen zu priorisieren, gegebenenfalls in dieser Reihenfolge. Sobald Sie diese unter Kontrolle haben, sollten Sie die weiter unten auf der Liste stehenden Schwachstellen beheben.