Scanning bei Schwachstellen wie Log4Shell – Wie funktioniert es?
Das Schwachstellenmanagement von Greenbone findet Anwendungen mit Log4j-Schwachstellen in Systemen, die auf jeden Fall gepatcht oder anderweitig geschützt werden müssen. Je nach Art der Systeme und Schwachstelle können diese besser oder schlechter gefunden werden. Auch die Erkennung verbessert sich ständig und wird fortlaufend aktualisiert. Neue Lücken werden gefunden. Es können daher immer noch weitere Systeme mit Log4shell-Schwachstellen im Netz vorhanden sein. Daher lohnt sich eine regelmäßige Aktualisierung und Scannen aller Systeme. Hierfür bietet das Greenbone-Schwachstellenmanagement entsprechende Automatisierungsfunktionen. Wie aber werden Schwachstellen gefunden, und wo können sie sich verbergen? Warum sind Schwachstellen nicht immer direkt auffindbar? Im folgenden Artikel erhalten Sie eine kurze Einsicht, wie das Scanning bei Schwachstellen wie Log4Shell funktioniert.
Ein Schwachstellenscanner stellt gezielt Anfragen an Systeme und Dienste und kann aus den Antworten ablesen, welcher Art die Systeme und Dienste sind, aber auch welche Produkte dahinter stehen. Das schließt auch Informationen wie deren Versionen oder auch Einstellungen und weitere Eigenschaften ein. Damit lässt sich in vielen Fällen ablesen, ob eine Anfälligkeit für eine bestimmte Schwachstelle vorliegt und auch, ob diese schon beseitigt wurde. In der Praxis sind das teilweise hochkomplizierte und verschachtelte Anfragen, vor allem aber auch sehr, sehr viele. Es werden ganze Netzwerke nach Tausenden von verschiedenen Schwachstellen durchforstet.
Bei der Log4j-Schwachstelle „Log4Shell“ (CVE-2021-44228) handelt es sich um eine fehlerhafte Programm-Bibliothek, die in vielen Produkten für Web-Dienste verwendet wird. Teilweise ist sie daher durch einen Schwachstellenscan direkt sichtbar, teilweise ist sie aber auch hinter anderen Elementen versteckt. Deshalb gibt es auch nicht nur einen Schwachstellentest für Log4j, sondern zahlreiche. Es kommen ständig weitere hinzu, weil die Hersteller der jeweiligen Produkte entsprechende Informationen teilen und auch Updates zur Verfügung stellen, um die Lücken zu schließen. Die Liste der von Log4Shell betroffenen Systeme wird unter https://gist.github.com/SwitHak/b66db3a06c2955a9cb71a8718970c592 ständig aktualisiert.
Einige der Schwachstellentests erfordern einen authentifizierten Scan. Das bedeutet, dass sich der Scanner zunächst auf einem System anmelden muss, um im System dann die Verwundbarkeit festzustellen. Ein authentifizierter Scan kann mehr Details über Schwachstellen auf dem gescannten System bereitstellen.
Die Schwachstellentests, die geeignet sind die Log4j-Schwachstelle zu finden, werden gesammelt in einer Scan-Konfiguration bereitgestellt. Greenbone hält diese „Log4j“-Scan-Konfiguration kontinuierlich aktuell, um immer wieder neue Tests hinzuzufügen. Dadurch kann ein Scanvorgang morgen eine Log4j-Schwachstelle melden, die heute noch nicht gefunden wurde. Es ist daher ratsam, den Log4j-Scan so zu konfigurieren, dass er automatisch regelmäßig ausgeführt wird. Besonders wichtig ist dies in den nächsten Wochen, in denen viele Softwarehersteller weitere Erkenntnisse zusammentragen. Greenbone integriert diese Erkenntnisse laufend in die Tests und in die Scan-Konfiguration.
Muss eine Schwachstelle ausgenutzt werden, um sie zu finden?
Eine Schwachstelle auzunutzen, um sie zu finden, ist nicht ratsam. Und zum Glück auch nicht erforderlich. Dabei könnten genau die Schäden entstehen, die unbedingt vermieden werden sollen. Ein Produktanbieter, der das Ausnutzen der Schwachstellen als Funktion bereitstellt, würde zudem möglicherweise den Missbrauch dieser Funktion stark befördern, was weitere – nicht nur rechtliche – Probleme aufwirft. Daher beinhaltet das Schwachstellenmanagement von Greenbone solche Funktionen nicht.
Eine Ausnutzung der Log4j-Schwachstelle wie es Angreifende tun würden, ist auch nicht erforderlich, um das Vorhandensein der Schwachstelle nachzuweisen. Greenbone hat verschiedene Tests zum Nachweis für Log4Shell entwickelt, die jeweils unterschiedlich tief in die Systeme schauen. Mehrere Tests können die Log4j-Schwachstelle mit 100%iger Gewissheit nachweisen, die meisten mit einer Sicherheit von 80 % bis 97 %. Einige Tests sammeln außerdem Indikatoren von 30 %, wo sie nicht nahe genug an die Schwachstelle herankommen. Jeder Test bei Greenbone macht eine Aussage zu der Nachweissicherheit, welche als „Qualität der Erkennung“ angegeben wird.
Welche Rolle spielen die Hersteller von Softwareprodukten?
Hersteller verschiedenster Produkte können Log4j-Bibliotheken verwenden, die damit nun verwundbar sind. Die Produkthersteller haben Log4j auf unterschiedliche Weise eingebunden. In der Regel kann durch einen tiefen Scan Log4j auch ohne Mithilfe des Hersteller gefunden werden. Die meisten Hersteller unterstützen den Vorgang aber auch durch öffentliche Schwachstellenmeldungen. Diese können dann genutzt werden, um Schwachstellentests zu schreiben, die auch mit weniger tiefen Scans eine verlässliche Aussage zur Verwundbarkeit machen können. Der Grund dafür ist, dass die Scans durch Herstellerinformationen einfachere Konfigurationen verwenden können. Hinzu kommt, dass sie auch schneller laufen.
Grundsätzlich kann jedoch ein Schwachstellenscanner auch prüfen und Schwachstellen finden, ohne dass der Hersteller eine Schwachstellenmeldung veröffentlicht.
Fazit
Schwachstellenmanagement ist ein unverzichtbarer Bestandteil der IT-Sicherheit. Es kann Risiken finden und liefert wertvolle Hinweise zu deren Behebung. Eine 100%ige Sicherheit bietet jedoch keine einzelne Maßnahme, auch kein Schwachstellenmanagement. Um ein System sicher zu machen, werden viele Systeme eingesetzt, die in ihrer Gesamtheit die bestmögliche Sicherheit bieten sollen.
Das ist vergleichbar zu einem Fahrzeug, das durch Fahrgastzelle, Gurte, Airbags, Bremsunterstützung, Assistenzsysteme und vieles mehr die Sicherheit erhöht, aber nie garantieren kann. Schwachstellenmanagement macht Risiken beherrschbar.