Sicherheitshinweis: Asus M25 NAS Sicherheitslücke

Datum: 01.12.2022
Autor: ONEKEY und CERTAINITY gemeinsames Forschungsteam

Im Oktober haben wir unsere gemeinsame Forschungskooperation angekündigt, und wir können können wir Ihnen unsere ersten Ergebnisse präsentieren.

Kürzlich haben wir die erste Komponente unseres Moduls “Zero-Day-Identifikation” in Betrieb genommen Modul eingesetzt, das darauf abzielt, Schwachstellenmuster in Skriptsprachen Sprachen. Es hat lange auf sich warten lassen und wir möchten Ihnen ein paar technische Details darüber mit Ihnen teilen.

Unser Ziel ist es, die Identifizierung von Schwachstellenmustern sowohl in Skriptsprachen und kompilierten Binärdateien zu unterstützen. Wir begannen mit Skriptsprachen Skriptsprachen begonnen, da dies der einfachste Weg zu sein schien, um schnell Ergebnisse zu erzielen. Unser erster erste Aufgabe war es, die Verteilung der Skriptsprachen in unserem Korpus innerhalb unseres Korpus auf der Grundlage unserer Dateikategorisierung zu ermitteln. Diese Statistiken leiteten uns bei der Auswahl der Sprachen, die wir zuerst unterstützen sollten.

Diagramm, Sunburst-Diagramm

Aufgrund unserer Beobachtungen haben wir uns auf zwei Sprachen konzentriert: Python und PHP. JavaScript ist ebenfalls gut vertreten, wird aber hauptsächlich in clientseitigem Web Administrationsschnittstellen beobachtet, was für einen Angreifer nicht so interessant ist. Shell-Skripte und Lua-Code werden wahrscheinlich als nächstes unterstützt werden.

Statische Code-Analyse

Um Schwachstellen zu identifizieren, führen wir eine Taint-Analyse durch, indem wir den abstrakten Syntaxbaum rekonstruieren und dann diesen Baum durchlaufen. Mit diesem Ansatz können wir können wir die Genauigkeit der Ergebnisse drastisch erhöhen und sicherstellen, dass benutzergesteuerte Eingaben tatsächlich auf unsichere Weise verarbeitet werden, wodurch die Anzahl der gemeldeten falsch-positiven Ergebnisse. Zurzeit suchen wir nach den folgenden Schwachstellen-Klassen:

Bevor wir die statische PHP-Code-Analyse einsetzten, testeten wir sie mit Hunderten von ausgewählten Beispiel-Firmware-Images getestet und die Ergebnisse überprüft. Dies führte zur Entdeckung von etwa 15 kritischen Fehlern bei 6 verschiedenen Anbietern. Alle diese Fehler wurden den betroffenen Anbietern gemeldet und werden derzeit behoben.

Außer diesem einen.

Dieser ist besonders, weil er ein NAS-Gerät von Asus betrifft, das laut das laut Asus “schon seit Jahren nicht mehr lieferbar ist”, wobei die letzte Firmware-Version bereits 10 Jahren. Da keine Lösung in Sicht ist, müssen wir nicht auf die 90 Tage warten und können die interessanten Details veröffentlichen.

Da dieses Analysemodul nur der erste Schritt ist und aktive Forschung auf dem Gebiet der automatischen Erkennung von potenziellen 0-Day-Schwachstellen Schwachstellen durchgeführt wird, können Sie mit einem ständigen Strom von technischen Hinweisen über Fehler, die wir bereits identifiziert haben und solche, die wir noch aufdecken müssen.

Nun zu den Hinweisen!

Arbitrary Command Injection durch Cookies

Während unserer Scan-Kampagne wurde ein Fehler bei der Einschleusung von Befehlen festgestellt, also haben wir das Wir haben das Beispiel heruntergeladen und die automatischen Ergebnisse manuell überprüft.

Betroffener Hersteller & ProduktVendor AdvisoryVerwundbare VersionBehobene VersionCVE IDsAuswirkungenCredit
Asus M25 NASKEINEAlle VersionenKeineCVE-2022-42219.8 (Kritisch)Q. Kaiser, ONEKEY Research Lab, Certainity

Dieser Fehler ist wahrscheinlich der einfachste, mit dem wir zu tun hatten. Wie wir im folgenden Screenshot unten zu sehen ist, wird ein Cookie-Wert in einem Aufruf von exec() unsanitized verwendet. Durch Hinzufügen eines Semikolons, gefolgt von einem beliebigen Befehl, können wir Befehle. Der Code ist unauthentifiziert erreichbar.

Grafische Benutzeroberfläche, Text, Anwendung

Das Interessante daran ist, dass Asus diese Datei von AjaXplorer, einem Open-Source-Projekt, aber den Befehlsinjektionsfehler eingefügt hat, indem er versucht hat, eine eine Authentifizierungsschicht einzufügen (Code zwischen dem Kommentar ALPHA_CUSTOMIZE).

Abbildung: Grafische Benutzeroberfläche, Text, Anwendung, E-Mail

Die wichtigsten Erkenntnisse

Sie mögen argumentieren, dass diese Schwachstelle sehr offensichtlich und leicht zu finden ist - und Sie haben absolut richtig. Sie ist leicht zu finden und hätte gar nicht erst in die Produktion Produktion gelangen dürfen. Nicht vor 10 Jahren und vor allem nicht heute. Aber Fehler wie dieser sind ein ständiger Begleiter bei der Erforschung der Sicherheit von eingebetteten Geräten und unterstreichen, wie wichtig es ist, die Lieferkette Ihrer Geräte zu durchleuchten. Ihrer Geräte. Dies macht das Sicherheitsniveau von SBOM, Gerätekonfiguration und auch proprietäre Anwendungen transparent - der einzige Weg, um die eigene die eigene Sicherheitslage und Cyber-Resilienz zu bestimmen.

Zeitleiste

  • 2022-09-12 - Koordinierte Offenlegungsanfrage an security@asus.com gesendet
  • 2022-09-13 - Asus antwortete “[…] da dieses Modell, NAS-M25, seit Jahren nicht mehr hergestellt wird seit Jahren ausläuft, werden wir seine Firmware und seine Sicherheit nicht mehr pflegen.”
  • 2022-12-01 - ONEKEY veröffentlicht seinen Hinweis