2 Punkte von GN⁺ 2024-12-10 | 1 Kommentare | Auf WhatsApp teilen

Einleitung

  • Der Security Engineer RyotaK von Flatt Security Inc. entdeckte eine Sicherheitslücke im Firmware-Upgrade-Prozess von OpenWrt.
  • OpenWrt ist eine Linux-basierte Firmware für Embedded-Geräte und besonders bei Routern sehr beliebt.

sysupgrade.openwrt.org

  • sysupgrade.openwrt.org ist ein Online-Dienst, mit dem Nutzer gewünschte Pakete auswählen und daraus ein neues Firmware-Image erstellen können.
  • Beim Bauen von Images aus vom Nutzer bereitgestelltem Quellcode können Sicherheitsprobleme auftreten.

Befehlsinjektion

  • Der Server sysupgrade.openwrt.org ist ein Open-Source-Projekt, dessen Quellcode unter openwrt/asu gehostet wird.
  • Der Server isoliert die Build-Umgebung mit Containern, dennoch wurde eine Schwachstelle entdeckt, über die sich über Nutzereingaben beliebige Befehle ausführen lassen.

SHA-256-Kollision

  • Beim Erzeugen des Hashes für eine Anfrage wurde der SHA-256-Hash auf 12 Zeichen gekürzt verwendet.
  • Über eine Hash-Kollision ließ sich der Server dazu bringen, falsche Build-Artefakte zurückzugeben.

SHA-256-Bruteforce

  • Es wurde ein Programm implementiert, das mit OpenCL Hashes auf der GPU bruteforct, die Leistung war jedoch unzureichend.
  • Mit Hashcat gelang es schließlich, eine 12-Zeichen-Kollision zu finden.

Kombination der beiden Angriffe

  • Der Angriff wurde ausgeführt, indem ein Payload zur Befehlsinjektion gefunden wurde, der denselben Hash wie eine legitime Paketliste hatte.
  • Angreifer konnten Nutzer so dazu zwingen, auf eine bösartige Firmware zu aktualisieren.

Meldung des Problems

  • Nach der Meldung an das OpenWrt-Team wurde der Dienst vorübergehend abgeschaltet und schnell behoben.
  • Es wurde eine Mitteilung an die Nutzer veröffentlicht, damit sie prüfen, ob ihre Geräte beeinträchtigt wurden.

Fazit

  • Über Befehlsinjektion und eine SHA-256-Kollision konnte der Dienst sysupgrade.openwrt.org kompromittiert werden.
  • Dem OpenWrt-Team wird für die schnelle Reaktion gedankt, und die Nutzer wurden umgehend über das Problem informiert.

Werbung

  • Flatt Security bietet Security Assessments und Penetration-Testing-Services an und gewährt zur Feier einer neuen Webseiten-Aktualisierung einen Sonderrabatt.
  • Außerdem wird mit Shisho Cloud ein leistungsstarkes Tool für Security Assessments angeboten.

1 Kommentare

 
GN⁺ 2024-12-10
Hacker-News-Kommentare
  • Die Normalisierung von Codeausführung, die auf bestimmte Nutzer oder Geräte zugeschnitten ist, ist eine Schwachstelle ohne Verifizierbarkeit, da sich nicht bestätigen lässt, dass kein Build mit Backdoor erzeugt wurde

    • Es ist wichtig, denselben Build wie bei xz-utils zu verwenden oder Builds zu nutzen, mit denen Sicherheitsforscher prüfen können, ob eine Kompromittierung der Supply Chain vorliegt
    • Mozilla hatte versucht, Release-Builds öffentlich in einem Merkle-Tree zu protokollieren, das wurde jedoch eingestellt
    • Google hat eine Implementierung für Pixel-Firmware-Builds geschrieben, aber Apps über den Google Play Store könnten verwundbar sein
    • Apple ist noch schlechter als Google, weil es keine transparenten, auf einzelne Geräte zugeschnittenen Builds bereitstellt
    • Das ebuild-Repository von Gentoo ist ein Beispiel für gut umgesetzte Binärtransparenz und einer der größten sowie am stärksten verteilten Merkle-Trees für Open-Source-Software
  • Die Verwendung von ".join" kann riskant sein

    • Selbst wenn Zeichen zwischen benachbarten Feldern verschoben werden, ändert sich der Hash nicht
    • Das kompromittiert das System nicht direkt, kann aber den Cache beschädigen oder ein Downgrade auslösen
  • Open Source kann nicht mit Closed Source auf Business-Niveau konkurrieren

    • Das Problem wurde in nur 3 Stunden behoben, sodass Kunden nicht 6 Monate auf einen Patch warten müssen
    • Die Person, die das Problem gemeldet hat, wird nicht verklagt
    • Nutzer werden nicht aufgefordert, ein „veraltetes“, aber vollkommen funktionierendes Gerät wegzuwerfen
  • Der Begriff „Supply Chain“ taucht im Blogbeitrag nicht auf

    • „Supply Chain“ ist ein komplexes Logistiksystem, das Rohstoffe in Fertigprodukte umwandelt und sie an Endverbraucher verteilt
    • Es gibt die Frage, ob es sich bei OpenWRT um ein System für kommerzielle Anbieter oder für Endverbraucher handelt
  • Open-Source-Tools wurden für einen Zweck angepasst, für den sie ursprünglich nicht gedacht waren

    • Großunternehmen würden zur Lösung des Problems klagen und niemals einen Patch veröffentlichen
    • OpenWRT nahm nach Erhalt der Informationen den unsicheren Dienst offline und spielte nach Bestätigung des Berichts innerhalb von 3 Stunden einen Patch aus
  • Es stellt sich die Frage, wie man überhaupt auf die Idee kam, den Hash abzuschneiden

    • Welchen Zweck oder Vorteil das haben soll, ist schwer nachzuvollziehen
  • Überraschend ist, wie viel GPU-Leistung nötig ist, um kurze Kollisionen zu finden

    • Es stellt sich die Frage, ob 40k pro Monat ein angemessener Preis für Sicherheitsanalyse ist
    • Es gibt die Frage, ob ein guter Sicherheitsforscher etwa 500k pro Jahr verdienen kann
  • Sofort fällt auf, dass die Hash-Länge von 64 Zeichen auf 12 Zeichen gekürzt wird

  • Es gibt eine Frage dazu, warum sich die Leistung von hashcat je nach Reihenfolge der Argumente stark unterscheidet

    • Ob bei jedem Lauf das Zielmuster gescannt wird, ist unklar
  • Ein großartiger Beitrag über sehr kluges Lesen von Code und die Entwicklung eines Exploits