Autor: Vinh T. Nguyen - Teamleiter
Einführung
Eine Schwachstelle in einem Computersystem ist eine Schwachstelle, die ein Angreifer ausnutzen kann, um das System auf unbefugte Weise zu nutzen [1]. Insbesondere Software stellen eine Herausforderung für die Cybersicherheit dar, mit der sich Unternehmen aufgrund der sich ständig ändernden Natur und Komplexität von Software regelmäßig auseinandersetzen müssen.
Die gebräuchlichsten Methoden, mit denen Unternehmen ihr Risiko für Schwachstellen in ihren Computernetzwerken bewerten, lassen sich in zwei Hauptkategorien einteilen: netzwerkbasierte und hostbasierte [2]. Netzwerkbasierte Methoden untersuchen das Netzwerk, ohne sich bei den einzelnen Hosts anzumelden, um anfällige Dienste, Geräte und Daten während der Übertragung zu erkennen. Hostbasierte Methoden melden sich bei jedem Host an und erstellen eine Liste anfälliger Software, Komponenten und Konfigurationen. Beide Kategorien gehen auf unterschiedliche Weise mit Risiken um, doch keine von ihnen kann Schwachstellen aufspüren, wenn die anfällige Software nicht bereits auf einem Host installiert ist.
In der Praxis werden Bewertungen in der Regel so geplant, dass sie den normalen Betrieb nicht beeinträchtigen. So bleibt zwischen der Bereitstellung der anfälligen Software und dem Beginn der Überprüfung ein Zeitfenster, das Angreifer nutzen können, um einen Host und damit ein Netzwerk zu kompromittieren.
Diese Situation erfordert eine Scan-Methode, die dieses Fenster schließen und das Gesamtrisiko für Schwachstellen verringern kann. OPSWAT file-based vulnerability assessment Technologie tut dies, indem sie Binärdateien (wie Installationsprogramme, ausführbare Dateien, dynamische Bibliotheken usw.) mit gemeldeten Schwachstellen in Verbindung bringt. Mit dieser Methode können anfällige Softwarekomponenten erkannt werden, bevor sie bereitgestellt werden, so dass Sicherheitsanalysten und Systemadministratoren schnell geeignete Maßnahmen ergreifen können, um das Fenster zu schließen.
In den folgenden Abschnitten erläutern wir die Technologie und ihre Anwendungsfälle im Detail und geben Beispiele für bekannte Angriffe, die mit diesen Anwendungsfällen zusammenhängen. Dann zeigen wir eine Exploitation-Demo und ziehen ein Fazit über die Technologie und ihr Potenzial.
Warum eine weitere Nachweismethode erforderlich ist
Beschränkungen der traditionellen Methoden
Herkömmliche Methoden zum Aufspüren von Softwareschwachstellen arbeiten auf einer abstrakten Ebene. Wenn netzwerkbasiertes Scannen ein Computernetzwerk sondiert und hostbasiertes Scannen Daten von einem Computer sammelt, bestimmen sie in der Regel anhand der Systemumgebung, welche Überprüfungen durchgeführt werden sollen, um eine hohe Leistung zu gewährleisten (Scanzeit, Netzwerkbandbreite, Speichernutzung usw.) und um irrelevante Ergebnisse herauszufiltern. Manchmal verlassen sich Bewertungsmethoden so sehr auf die Systemumgebung, dass sie aufgrund von Eigenheiten der Umgebung, auf die sie sich verlassen, keine geeigneten Prüfungen durchführen.
Wenn beispielsweise ein anfälliger Netzwerkdienst vor einer Prüfung (versehentlich oder absichtlich) heruntergefahren wird, erkennt die Prüfung keine Sicherheitslücke in diesem Dienst. Auch das Löschen des Windows-Registrierungsschlüssels, der den Installationspfad zu einer Anwendung enthält, kann dazu führen, dass die Anwendung selbst und ihre Schwachstellen intakt bleiben und von hostbasierten Scans nicht erkannt werden. In beiden Fällen sind die Scan-Methoden weniger effektiv, da sie sich auf den Fußabdruck des installierten Produkts verlassen.
Ein installiertes Produkt ist eine Sammlung von Dateien (z. B. eine ausführbare Datei, eine Bibliothek, eine Datenbank usw.), die zusammen verpackt und mit einer Bereitstellungslogik kombiniert werden. Die Bereitstellungslogik folgt in der Regel einer Konvention, um den Fußabdruck des Produkts an einen Ort zu schreiben (z. B. die Registry unter Windows, Port 3306 für MySQL). Dieser Footprint definiert nicht das Produkt selbst und kann jederzeit während der Lebensdauer des Produkts geändert werden. Wenn man sich also auf den Footprint verlässt (wie es sowohl netzwerk- als auch hostbasierte Scans tun), um das Produkt und seine Schwachstelle zu erkennen, besteht das Risiko einer falschen Erkennung.
Einführung des dateibasierten Scannens
File-based vulnerability assessment unterscheidet sich von traditionellen Bewertungsmethoden. Wie der Name schon sagt, arbeitet es auf Dateibasis und ignoriert alle übergeordneten Produktabstraktionen. Durch die Analyse jeder gemeldeten Schwachstelle und deren Zuordnung zu den Produktinstallationsprogrammen und den Hauptkomponentendateien (Patent U.S. 9749349 B1) kann file-based vulnerability assessment erkennen, ob eine Binärdatei mit einer Schwachstelle verbunden ist, so dass Schwachstellen auch dann aufgedeckt werden, wenn das Produkt nicht läuft oder sein Footprint geändert wurde.
Während der Unterschied zwischen datei- und netzwerkbasiertem Scannen klar ist, ist der Unterschied zwischen datei- und hostbasiertem Scannen nicht so deutlich. Es könnte argumentiert werden, dass sich die hostbasierte Überprüfung nicht vollständig auf den Fußabdruck des Produkts stützt, sondern auch die Dateiversion der Hauptkomponente(n) des Produkts überprüft. Die Scan-Logik kann also so modifiziert werden, dass sie nur die Dateiversion prüft, wodurch das dateibasierte Scannen zu einer Teilmenge des hostbasierten Scannens wird.
Dies ist nicht der Fall, denn:
- Host-basierte Scans sind oft so eingestellt, dass sie sowohl die Systemumgebung als auch den Fußabdruck des Produkts nutzen, um zu filtern, welche Prüfungen durchgeführt werden sollen.
- Durch die Konzentration auf das Auffinden und Analysieren der Dateien, die Schwachstellen verursachen, kann das dateibasierte Scannen einige Schwachstellen aufdecken, die mit der hostbasierten Methode nur schwer zu erkennen sind, und ist für mehr Anwendungsfälle geeignet
Dateibasiertes Scannen kann verwendet werden, um anfällige Installationsprogramme, Firmware-Pakete, Bibliotheksdateien, Produktkomponentendateien usw. zu erkennen, die über Gateways in Netzwerke ein- und ausgehen oder zu und von Endpunkten gelangen (über E-Mail, Flash-Laufwerke usw.). Auf diese Weise können Systemadministratoren und Benutzer vor der Verwendung eines Produkts prüfen, ob es anfällig ist, und den Schutz sicherstellen, wenn der Host nicht von den host- oder netzwerkbasierten Scan-Methoden unterstützt wird, die das Unternehmen derzeit verwendet.

File-based vulnerability assessment Technologie kann auch verwendet werden, um potenzielle Schwachstellen in vorhandenen Maschinen zu entdecken. Da herkömmliche Scanning-Methoden in der Regel Schwachstellenprüfungen auf der Grundlage von hochrangigen, vagen Berichten in öffentlich zugänglichen Quellen durchführen, bleibt der Scan selbst oft auf einer hohen Ebene stehen (Fußabdruck des Produkts) und geht nicht auf die Details der Schwachstelle oder des gemeldeten Produkts ein.
Da Produkte jedoch häufig Komponenten wiederverwenden (dynamische Bibliotheken und gemeinsam genutzte Dienste sind einige Beispiele), ist durch die Aktualisierung eines anfälligen Produkts oder sogar durch die Beseitigung des Produkts nicht immer gewährleistet, dass die Dateien, die die Sicherheitslücke verursachen, verschwunden sind. Sie können immer noch irgendwo im Dateisystem liegen und Angreifern eine Plattform bieten, um diese Komponenten wieder zu verbinden und Schaden anzurichten. Die Integrität dieser Dateien ist oft sehr hoch. Sie haben einen klaren Zweck, sind weithin bekannt, stammen aus vertrauenswürdigen Quellen, haben gültige Signaturen und sind in einigen der neuesten Softwarepakete noch vorhanden. Die Technologie von File-based vulnerability assessment ermöglicht es Systemadministratoren, die Rechner zu scannen und lauernde verwundbare Dateien zu finden, bevor Angreifer die Chance haben, sie zu nutzen.

Herausforderungen mit der Technologie
Die Arbeit auf Dateiebene hat jedoch ihre Grenzen. Es kann vorkommen, dass eine Datei als verwundbar eingestuft wird, obwohl mehrere Dateien zusammen geladen werden müssen, um die Sicherheitslücke auszulösen (falsch positiv). Dies ist zum Teil darauf zurückzuführen, dass der Kontext fehlt (durch das Scannen einer einzelnen Datei) und die Offenlegungsberichte ungenau sind. Es kann auch eine wirklich anfällige Datei als sauber markieren (falsch negativ), was auf die Unvollständigkeit der Dateidatenbank und wiederum auf die Ungenauigkeit der Berichte zurückzuführen ist.
Wir bei OPSWAT sind uns dessen bewusst und verbessern ständig unsere file-based vulnerability assessment Technologie file-based vulnerability assessment , um mehr Schwachstellen abzudecken und gleichzeitig die Falsch-Positiv/Negativ-Raten zu reduzieren. Wir haben diese Technologie in viele Produkte unserer MetaDefender (wie MetaDefender Core, MetaDefender Cloud, Drive, Kiosk, ICAP Server usw.) integriert, um Unternehmen dabei zu helfen, ihre kritischen Netzwerke umfassend zu schützen [3].
Bekannte Sicherheitslücken
Für Systemadministratoren ist es schon schwer genug, die Offenlegungsberichte der gesamten im Unternehmen verwendeten Software zu überwachen, ganz zu schweigen von der Kenntnis und Überwachung aller Komponenten in dieser Software. Das macht es möglich, dass Software, die alte Komponenten mit Schwachstellen verwendet, der Erkennung entgeht und in Unternehmen gelangt. Dies kann anfällige Komponenten zu einem großen Problem machen.
Ein Beispiel ist CVE-2019-12280 [4], die unkontrollierte Bibliothekssuchpfad-Schwachstelle von Dell SupportAssist. Sie ermöglicht es einem Benutzer mit geringen Rechten, beliebigen Code unter SYSTEM-Rechten auszuführen und die vollständige Kontrolle über einen Rechner zu erlangen. Ursprünglich stammte sie von einer Komponente, die von PC-Doctor zur Diagnose von Rechnern bereitgestellt wurde. Beide Hersteller haben Patches veröffentlicht, um das Problem zu beheben.
Ein weiteres Beispiel ist CVE-2012-6706 [5], eine kritische Sicherheitslücke in Bezug auf Speicherkorruption, die beim Öffnen einer speziell gestalteten Datei zur Ausführung von beliebigem Code und zur Kompromittierung eines Rechners führen kann. Ursprünglich wurde berichtet, dass Sophos-Antivirenprodukte betroffen sind, später wurde jedoch festgestellt, dass sie von einer Komponente namens UnRAR stammen, die für die Dateiextraktion zuständig ist [6].
Diese Art von Schwachstellen können oft nicht vollständig gemeldet werden, da zu viele Produkte die anfälligen Komponenten verwenden. Selbst wenn Systemadministratoren alle verwendeten Produkte kennen und sie genau auf häufige Offenlegungsquellen hin überwachen, gibt es für Angreifer immer noch viel Spielraum, um sie zu überwinden.
Demo
Schauen wir uns einen Fall näher an, in dem eine anfällige Komponente Probleme auf einem Host verursacht. Wir werden eine alte Version von Total Commander [7] verwenden, die eine UnRAR.DLL [8] enthält, die von CVE-2012-6706 [5] betroffen ist. Beachten Sie, dass dieses CVE nicht Total Commander betrifft. Da diese Software häufig von Power-Usern mit Verwaltungsrechten verwendet wird, kann ein erfolgreicher Angriff auf diese Schwachstelle einem Angreifer helfen, die Kontrolle über das Netzwerk einer Organisation zu übernehmen.
Demo-Spezifikation:
- Das Betriebssystem: Windows 10 1909 x64.
- Software: Total Commander v8.01 x86 mit UnRAR-Bibliothek v4.20.1.488.
- Die manipulierten Daten werden von der Google Security Research Group auf Exploit-DB [9] erstellt.
Die Speicherbeschädigung tritt auf, wenn Total Commander UnRAR.DLL verwendet, um eine speziell gestaltete Datei zu extrahieren. Der Angreifer kann dann beliebigen Code auf dem Rechner mit den Rechten des Total Commander-Benutzers ausführen. Raffinierte Angreifer können weitere scheinbar legitime, aber anfällige Dateien für weitere Angriffe auf dem gesamten Rechner platzieren.

Neuere Versionen von Total Commander weisen diese Sicherheitslücke nicht auf, da sie eine neuere Version von UnRAR.DLL verwenden. Wie immer sollten Benutzer ihre Software auf dem neuesten Stand halten, auch wenn es keinen Bericht über die Offenlegung gibt, und vor allem, wenn sie seit langem kein Update mehr durchgeführt haben (diese Version von Total Commander wurde 2012 veröffentlicht).
Schlussfolgerung
Software ermöglichen es Angreifern, sich Zugang zu Unternehmensressourcen zu verschaffen oder die Kontrolle darüber zu übernehmen. Zwei gängige Methoden zur Erkennung von Schwachstellen sind netzwerk- und hostbasierte Scans. Sie arbeiten in der Regel auf einer hohen Abstraktionsebene und können aufgrund von Änderungen in der Umgebung eines Computers wichtige Informationen übersehen.
Die file-based vulnerability assessment von OPSWATarbeitet auf Dateiebene, um Systemadministratoren vor anfälligen Software-Installationen und -Komponenten zu warnen, die in das Unternehmen gelangen oder es verlassen, und so das Sicherheitsrisiko sowohl vor der Bereitstellung als auch während der Nutzung zu verringern. Die Technologie wurde in MetaDefender wie Core, Cloud API, Drive, Kiosk usw. integriert, um eine breite Palette von Anwendungsfällen abzudecken.
Die Erkennung von Schwachstellen auf Dateibasis unterscheidet sich von herkömmlichen Methoden und birgt neues Potenzial, neue Anwendungsfälle und auch Herausforderungen. Bei OPSWAT verbessern wir ständig unsere Technologie, um die Herausforderungen zu meistern und die kritischen Netzwerke von Unternehmen vor den sich ständig weiterentwickelnden Bedrohungen der Cybersicherheit zu schützen.
Referenzen
[1] "Verwundbarkeit (Informatik)," [Online].
[2] "Schwachstellen-Scanner," [Online].
[3] "MetaDefender - Advanced Threat Prevention Platform," [Online].
[4] "CVE-2019-12280 - MetaDefender," [Online].
[5] "CVE-2012-6706 - MetaDefender," [Online].
[7] "Total Commander - home", [Online].
[8] "WinRAR archiver - RARLAB," [Online].
[9] "unrar 5.40 - 'VMSF_DELTA' Filter Arbitrary Memory Write," [Online].