IoT

So erkennst du gefälschte smart‑home‑firmware: fünf praktische tests mit offener tool‑kette

So erkennst du gefälschte smart‑home‑firmware: fünf praktische tests mit offener tool‑kette

Immer wieder lese ich von kompromittierten Smart‑Home‑Geräten oder ungewöhnlichem Verhalten nach einem Firmware‑Update. Als Technikautorin und Praktikerin finde ich das besonders beunruhigend: Firmware ist der Kern deines Geräts — wenn die manipuliert ist, hast du oft keine Kontrolle mehr. In diesem Artikel zeige ich dir fünf praxisnahe Tests, mit einer vollständig offenen Tool‑Kette, mit denen du gefälschte oder manipulierte Smart‑Home‑Firmware erkennen kannst. Ich erkläre, welche Werkzeuge ich benutze, welche Signale auf Probleme hinweisen und wie du selbst einfache Prüfungen durchführst, ohne teure Spezialsoftware.

Warum gefälschte Firmware gefährlich ist

Gefälschte Firmware kann Hintertüren enthalten, Daten ausspähen, Geräte in Botnets einbinden oder Sicherheitsfeatures entfernen. Besonders betroffen sind günstige Router, IP‑Kameras, Smart‑Plugs und alle Geräte, die OTA‑Updates nutzen. Oft sind die Manipulationen nicht offensichtlich — die Oberfläche funktioniert weiterhin. Deshalb lohnt sich ein genauer Blick hinter die Kulissen.

Meine offene Tool‑Kette — was du brauchst

Ich arbeite ausschließlich mit Open‑Source‑Werkzeugen, die du auf Linux (oder WSL auf Windows / Homebrew auf macOS) installieren kannst. Das macht die Tests reproduzierbar und auditierbar. Die wichtigsten Tools:

  • binwalk — Firmware extrahieren und analysieren
  • firmware‑mod‑kit — Hilfen zum Unpacken/Packen von Firmware
  • strings, hexdump, xxd — schnelle Text/Hex‑Inspektion
  • openssl — Signatur- und Zertifikatsprüfungen
  • sha256sum / sha1sum — Prüfsummen vergleichen
  • Ghidra oder radare2 — statische Binäranalyse
  • qemu (User oder System Emulation) — dynamische Tests in isolierter Umgebung
  • Wireshark / tshark und mitmproxy — Netzwerkverkehr überwachen
  • Viele dieser Tools sind in den Repositorien gängiger Linux‑Distros verfügbar. Ich gebe die wichtigsten Befehle im Text an; du kannst sie an deine Datei‑ und Pfadnamen anpassen.

    Test 1 — Signatur und Zertifikatsprüfung

    Der erste und einfachste Schritt ist: Hat die Firmware eine digitale Signatur und ist diese valide? Viele seriöse Hersteller signieren ihre Images. Fehlt eine Signatur oder ist sie ungültig, ist das ein klares Warnsignal — aber nicht zwingend Beweis für Böshaftigkeit (manche Low‑Cost‑Modelle signieren nie).

    So prüfe ich es: Nach dem Extrahieren der Firmware suche ich nach Zertifikaten und Signaturdateien (.pem, .crt, .sig). Dann benutze ich OpenSSL:

    openssl dgst -sha256 -verify pubkey.pem -signature firmware.sig firmware.bin

    Wenn OpenSSL mit „Verified OK“ antwortet, ist die Signatur korrekt. Achte außerdem auf das Aussteller‑Zertifikat: Ist es von einem bekannten Hersteller? Ist das Veröffentlichungsdatum plausibel? Ein selbstsigniertes Zertifikat ist suspicious, ebenso Zertifikate, die nach dem Release‑Datum der Firmware ausgestellt wurden.

    Test 2 — Inhalt entpacken und Dateisystem prüfen

    Viele Manipulationen verstecken sich im Root‑Dateisystem. Ich nutze binwalk zum Extrahieren:

    binwalk -e firmware.bin

    Das Ergebnis ist ein Verzeichnis mit extrahierten Partitionen und Dateisystemen. Dort schaue ich nach ungewöhnlichen Dateien:

  • Unerwartete Scripte in /etc/init.d oder /usr/bin
  • SSH‑Keys, die nicht zu bekannten Produktionsschlüsseln passen
  • Crontab‑Einträge für regelmäßige Verbindungen zu externen Servern
  • Ein schneller Trick: Nutze find und grep, um nach „wget“, „curl“, „nc“ oder IP‑Adressen in Startskripten zu suchen:

    grep -R --line-number -E "wget|curl|nc|telnet|ssh" rootfs/

    Wenn du Backdoors findest — etwa Reverse‑Shells, verschlüsselte Config‑Blöcke oder Hardcoded C2‑Server — ist die Firmware kompromittiert.

    Test 3 — Binäranalyse und Strings

    Manchmal sind Änderungen kompiliert und verstecken sich in ELF‑Binaries oder statischen Libraries. Ich starte mit strings für schnelle Hinweise:

    strings -a bin/somebinary | egrep -i "password|token|api|http|ssh|admin|c2"

    Für tieferes Verständnis lade ich auffällige Binaries in Ghidra oder radare2. Dort suche ich nach Netzwerk‑Funktionen, Hardcoded IPs, verschlüsselten Payloads oder Obfuskation. Ghidra ist dabei nützlich, weil du Functions, Strings und Cross‑References visualisieren kannst. Wenn ein Binary Funktionen wie „connect“, „gethostbyname“ oder „system“ umfangreich nutzt, ohne ersichtlichen Grund, ist Vorsicht geboten.

    Test 4 — Prüfsummen und Versionsvergleich

    Ein einfacher, aber oft aussagekräftiger Test: Vergleiche Hashes der Firmware mit offiziellen Releases. Hersteller veröffentlichen manchmal MD5/SHA256‑Hashes oder Firmware‑Blätter. Ich berechne lokal:

    sha256sum firmware.bin

    Passt der Hash nicht zur offiziellen Version auf der Herstellerseite, kann das einiges bedeuten: Das Image wurde verändert, oder du hast eine ganz andere Build‑Variante. Wenn möglich, extrahiere Versionstexte aus der Firmware (z. B. aus /etc/os-release) und vergleiche auch Dateigrößen und Änderungszeiten.

    Ein weiterer praktischer Weg ist ein Byte‑diff zwischen Original und verdächtigem Image. Tools wie bsdiff oder vbindiff zeigen, wo Bytes eingefügt/ersetzt wurden. Kleine Einfügungen an Schlüsselstellen (Startup‑Scripts, Zertifikate) sind sehr verdächtig.

    Test 5 — Dynamische Analyse: Emulation und Netzwerkmonitore

    Die statische Analyse kann vieles zeigen, aber manche Backdoors sind nur beim Laufzeitverhalten sichtbar. Ich emuliere Geräte‑Images mit qemu oder setze eine isolierte Testumgebung auf (VLAN, separate VM), um Verhalten zu beobachten, ohne mein Heimnetz zu riskieren.

    Wichtige Schritte:

  • Starte das Image in qemu oder als chroot, wenn möglich
  • Überwache ausgehenden Netzwerkverkehr mit Wireshark/tshark
  • Führe MITM‑Tests mit mitmproxy durch, um verschlüsselte Verbindungen zu beobachten (wenn du TLS‑Terminating in deiner Testumgebung erlaubst)
  • Ich achte auf automatisierte DNS‑Anfragen zu unüblichen Domains, wiederkehrende Verbindungen zu fremden IPs oder unverschlüsselten Uploads von Logs. Beispiel: Wenn ein smart‑plug regelmäßig zu einer Domain in Asien connected, obwohl der Hersteller in Europa sitzt, hake ich nach.

    Eine Ergänzung: Simuliere reale Nutzungsszenarien (Schaltbefehle, OTA‑Update) und beobachte, ob plötzlich zusätzliche Prozesse starten oder Dateien verändert werden.

    Was bei Verdacht zu tun ist

    Wenn einer meiner Tests Anzeichen für Manipulation liefert, dokumentiere ich alles: Hashes, Screenshots, Logs, verdächtige Dateien. Dann melde ich den Fund dem Hersteller und, je nach Risikograd, einer CERT‑Stelle. Tausche das Gerät aus oder stelle es in Quarantäne, bis ein Update oder eine Bestätigung vom Hersteller vorliegt.

    Bei Geräten in kritischen Umgebungen (z. B. Überwachungskameras, Zutrittskontrollen) würde ich sofort den Netzanschluss trennen und professionelle Hilfe hinzuziehen.

    Wenn du möchtest, kann ich dir eine Checkliste als Download zusammenstellen oder Schritt‑für‑Schritt‑Skripte für die fünf Tests bereitstellen — sag mir welches Gerät oder welche Firmware du analysieren willst, und ich helfe dir beim nächsten Schritt.

    Sie sollten auch die folgenden Nachrichten lesen:

    Wie du dein iphone 15‑akku in drei schritten kalibrierst und echte laufzeitgewinne siehst

    Wie du dein iphone 15‑akku in drei schritten kalibrierst und echte laufzeitgewinne siehst

    Viele von euch fragen mich: «Bringt eine Akku‑Kalibrierung beim iPhone 15 wirklich etwas?»...

    04. May