
Wir kündigen eine Woche prähistorischer Fehler an. Die Sicherheitslücke im WinRAR-Archivierer, die Ende Januar entdeckt und geschlossen wurde, wurde von Spezialisten von Check Point Software (
Nachrichten , Originalrecherche) ausführlich beschrieben. Im schlimmsten Fall können Sie bei einem Verstoß die schädliche Datei an einen beliebigen Ort auf Ihrer Festplatte entpacken, z. B. in das Windows-Autorun-Verzeichnis.
Diese Sicherheitsanfälligkeit lässt Sie über die Verwendung schwer zu überprüfender Bibliotheken von Drittanbietern in Ihrer Software nachdenken, aber nicht nur. Heute werden wir kurz über das Problem selbst sprechen, die Entscheidung der WinRAR-Entwickler, die Bibliothek zum Entpacken von Archiven im ACE-Format aufzugeben, und wir werden auch das Thema der Aktualisierung von WinRAR auf den Computern der Benutzer ansprechen. Blick in die Zukunft: Obwohl die Nachrichten eine ernsthafte Resonanz hervorriefen, handelt es sich eher um eine Geschichte mit einem Happy End. Die Klasse der Schwachstellen, die mit der Verarbeitung von Archiven verbunden sind, die auf Ihrem Computer ankommen, sollte jedoch besonders berücksichtigt werden.
Im ursprünglichen Bericht gibt es viele (interessante) Details, bevor wir das Problem demonstrieren, aber schauen wir uns das Ergebnis gleich an.
Das vorbereitete Archiv wird auf dem Desktop gespeichert, der Benutzer versucht es dort zu entpacken, aber stattdessen wird die ausführbare Datei in das Autorun-Verzeichnis geschrieben. Wie ist es passiert? Die Forscher verwendeten die Fuzzing-Technologie, nämlich das
WinAFL- Paket, das vom Google Project Zero-Team unterstützt wird und die Windows-Version der
amerikanischen Fuzzy-Schleife ist . Wie bei anderen ähnlichen Tools können Sie mit WinAFL die Sicherheit (oder Stabilität) von Software untersuchen, indem Sie zufällige (oder nicht ganz) Daten an die Anwendung übergeben und die Reaktion beibehalten. Fuzzers können als eine Art "Zauberstab" eines Sicherheitsforschers angesehen werden. Sie helfen dabei, verschiedene Programmabstürze an Orten zu erkennen, an denen sie nicht auftreten sollten.
Ein Check Point-Bericht zeigt jedoch, dass die Dinge nicht so einfach sind. Die WinAAR-Forschung mit WinAFL half dabei, mehrere unerwartete Abstürze der Anwendung zu identifizieren, und führte die Forscher zu einer Bibliothek, die Archive im ACE-Format verarbeitet - einem proprietären Archivstandard. Diese Bibliothek (unacev2.dll) wurde zuletzt im Jahr 2006 aktualisiert und verfügte nicht über Standardschutzmechanismen (wie ASLR oder DEP). Darüber hinaus war sie in den letzten 19 Jahren in allen Versionen von WinRAR präsent, und wie sich später herausstellte, war diese ganze Zeit anfällig. Zum Zeitpunkt der Entdeckung des Fehlers hatten WinRAR-Entwickler keinen Zugriff auf den Quellcode. ACE war zu einer Zeit im Allgemeinen ein kommerzieller Archivierer, die Entpackbibliothek war kostenlos, aber Sie konnten Archive in diesem Format legal nur mit dem proprietären Dienstprogramm WinACE erstellen (es wurde bis 2007 aktualisiert,
die Programmwebsite existierte bis 2017, und jetzt ist dies eindeutig aufgegebene Software )
Um eine einfache Sicherheitsanfälligkeit wie Path Traversal zu finden, musste ich beim Entpacken der Datei in ein beliebiges Verzeichnis nicht funktionieren. Ich musste erneut ein Fuzzing-Dienstprogramm einrichten, diesmal jedoch, nachdem ich die Formatfunktionen sowohl mit dem ursprünglichen WinACE-Programm als auch mit dem frei verteilten
Code zum Entpacken untersucht hatte Python. Bei der nächsten Reise nach zufälligen Störungen fanden die Forscher eine Datei, die überhaupt nicht gespeichert wurde, in der WinAFL das Ergebnis der Ausführung der Bibliothek speichern sollte.

Tatsache ist, dass Sie mit dem ACE-Archivierungsprogramm den vollständigen Pfad zur komprimierten Datei speichern können. In einer normalen Situation wird dieser Pfad zu dem beim Entpacken ausgewählten Entpackpfad hinzugefügt. Während des Fuzzings stellte sich heraus, dass einige Datensätze es ermöglichten, den Pfad absolut zu machen, dh die Datei nicht dort zu entpacken, wo der Benutzer sie angegeben hatte, sondern überall, aber dies ist nicht sehr gut. Außerdem scheint es einfach zu sein - Sie müssen den gleichen Trick anwenden, wenn Sie nicht direkt mit der Bibliothek, sondern mit WinRAR selbst arbeiten, oder? Nicht wirklich: Die Sicherheitsanfälligkeit wurde nicht reproduziert. Ich werde nicht die gesamte Geschichte des Findens der richtigen Kombination von Parametern und des Umgehens einer anderen Validierungsstufe in WinRAR selbst nacherzählen: Das Programm überprüft und entfernt das Verbrechen aus dem Speicherpfad, um genau solche Situationen zu vermeiden. Wie sich herausstellte, werden jedoch nicht alle möglichen Optionen überprüft.

Das ist passiert. Dies ist ein Screenshot der Analyse eines „vorbereiteten“ Archivs unter Verwendung des oben genannten Python-Codes. Das doppelte c: \\ am Anfang des Pfads wird von der unacev2-Bibliothek und WinRAR selbst verarbeitet, sodass die Datei in ein beliebiges Verzeichnis geschrieben wird. Es scheint ein Exploit bereit zu sein? Wieder nein oder eher nicht wirklich. Der Versuch, die ausführbare Datei in dieser Konfiguration in das Autorun-Verzeichnis zu schreiben, löst den Windows-Schutz aus. Den Forschern gelang es jedoch, diese Einschränkung zu umgehen, wenn die Datei im Benutzerverzeichnis gespeichert wurde, beispielsweise im Ordner "Downloads" oder auf dem Desktop (was sehr wahrscheinlich ist). Wie im Video zu Beginn gezeigt, wurde die vorbereitete Datei im Autorun-Verzeichnis gespeichert, indem zu einem Ordner höher im Dateipfad navigiert wurde.
Was ist das Ergebnis? In WinRAR 5.70 Beta 1 wurde die Sicherheitsanfälligkeit behoben, indem die Verwendung einer veralteten Bibliothek für die Arbeit mit ACE-Dateien vollständig aufgegeben wurde. Es ist unwahrscheinlich, dass sich jemand ernsthaft darüber aufregt. Übrigens ist der Rat in einem
Artikel auf der ZDNet-Website - „Öffnen Sie keine verdächtigen Archive im ACE-Format“ - etwas falsch. WinRAR erkennt Dateien nicht mit Berechtigung und der Exploit funktioniert mit einer anfälligen Version des Programms, selbst wenn das vorbereitete ACE-Archiv die RAR-Erweiterung (oder eine andere) hat. Öffnen Sie keine verdächtigen Archive - dies ist gut, muss aber im Allgemeinen aktualisiert werden.
Lassen Sie sich jetzt für eine Minute von der Post ablenken und sehen Sie, welche Version von WinRAR Sie installiert haben (es sei denn, Sie verwenden diesen Archivierer natürlich). Als Referenz: Version 5.50 wurde 2017 veröffentlicht, 5.00 - 2012, 3.90 - 2009. Mit einiger Wahrscheinlichkeit entspricht das Veröffentlichungsdatum von WinRAR ungefähr dem Datum der Ersteinrichtung des Systems, da dieses Programm noch keine automatische Aktualisierungsfunktion enthält. Wie Sie dem Tweet des Zerodium Vulnerability Broker-Unternehmens entnehmen können, besteht Bedarf an funktionierenden Exploits in Archivierern. Sicherheitslücken wie die in der Bibliothek für ACE-Archive gefundenen können für Massen- oder gezielte Angriffe auf die Computer der Opfer verwendet werden. Es sollte beachtet werden, dass die Chancen für einen erfolgreichen Betrieb eines solchen Fehlers alles andere als absolut sind. Es ist sehr wahrscheinlich, dass das infizierte Archiv vom Mail-Dienst blockiert wird (z. B. für GMail werden beispielsweise kennwortgeschützte Archive und Archive mit ausführbaren Dateien dort nicht übersprungen) oder von Antivirensoftware. Es sei denn natürlich, Sie haben es.
Trotzdem sind all diese nervigen Erinnerungen an die Notwendigkeit, eines der Dutzenden auf dem Computer installierten Programme zu aktualisieren, sinnvoll. Andernfalls ist es leicht, eine schwerwiegende Sicherheitsanfälligkeit zu übersehen, die im ungünstigsten Moment funktioniert. Fairerweise stellen wir fest, dass ernsthafte Probleme in WinRAR selten auftreten.
Haftungsausschluss: Die in dieser Übersicht geäußerten Meinungen stimmen möglicherweise nicht immer mit der offiziellen Position von Kaspersky Lab überein. Sehr geehrte Redakteure empfehlen generell, Meinungen mit gesunder Skepsis zu behandeln.