Firmware-Extraktion
Firmware-Extraktion heißt, Code und Daten aus einem Gerät herauszuholen. Methoden von Update-Datei bis Chip-off, was Angreifer finden, wie du es ihnen schwer machst.
Aktualisiert Diese Seite als Markdown
Kurz gesagt
Firmware-Extraktion ist der Vorgang, die in einem Embedded-Gerät gespeicherte Software und Konfiguration zu beschaffen, etwa durch Herunterladen eines Update-Pakets, Auslesen des Flash über eine Debug-Schnittstelle, Dumpen eines Speicherchips in der Schaltung oder nach dem Auslöten, oder über einen Bootloader-Exploit. Es ist der erste Schritt der meisten Hardware-Angriffe und jedes ernsthaften Embedded-Sicherheitstests, weil das extrahierte Image Schlüssel, Zugangsdaten, versteckte Schnittstellen und Schwachstellen offenlegt.
Was ist Firmware-Extraktion?
Firmware-Extraktion heißt, eine Kopie der Software zu bekommen, die auf einem Gerät läuft. Je nach Gerät und Schutz unterscheidet sich der Weg:
- Update-Pakete von der Website des Herstellers, aus der App oder aus mitgeschnittenem Update-Verkehr. Oft unverschlüsselt oder nur verschleiert; der günstigste Weg.
- Debug-Schnittstellen: JTAG, SWD oder ein Herstellerport, der den Flash direkt lesen lässt, oder ein UART-Bootloader mit Speicher-Dump-Kommando.
- In-circuit-Auslesen eines externen SPI-NOR-Flash oder eMMC mit Clip oder Testpunkten, während die Haupt-CPU im Reset gehalten wird.
- Chip-off: Flash oder eMMC auslöten und im Programmiergerät lesen. Zuverlässig, braucht aber Werkzeug und ein zweites Gerät, falls das erste nicht überlebt.
- Software-Exploits im Bootloader, im Update-Prozess oder in einem Netzwerkdienst, die Speicher lesen oder einen Dumper ausführen lassen.
- Fault Injection (Spannungs- oder Takt-Glitching), um den Ausleseschutz auf Mikrocontrollern zu umgehen, bei denen er aktiv ist.
Das Ergebnis ist ein Binär-Image, das anschließend entpackt und analysiert wird.
Wo ist es definiert?
Firmware-Extraktion ist eine Technik, kein Standard, aber die Anforderungen, die sie erschweren, sind es. ETSI EN 303 645 Provision 5.4 verlangt, dass sensible Sicherheitsparameter sicher gespeichert und keine fest einprogrammierten kritischen Parameter in der Gerätesoftware verwendet werden; 5.6-4 verlangt deaktivierte Debug-Schnittstellen. Der Cyber Resilience Act, Verordnung (EU) 2024/2847, fordert in Anhang I Teil I, dass Produkte die Vertraulichkeit gespeicherter Daten und die Integrität von Software und Firmware schützen. NIST SP 800-193 behandelt Firmware-Schutz für Plattformen. Der OWASP IoT Security Testing Guide beschreibt Firmware-Beschaffung und -Analyse als Testphase.
Was es in der Praxis bedeutet
Fast jeder Hardware-Penetrationstest beginnt mit der Extraktion, weil das Image uns sagt, was das Gerät wirklich tut. Aus Leistungselektronik-Steuergeräten mit TriCore-Firmware haben wir den UDS-Security-Access-Algorithmus rekonstruiert und festgestellt, dass “Seed und Key” ein festes XOR war, was die Diagnoseschnittstelle zur offenen Tür machte. Aus Infotainment-Einheiten auf Embedded Linux haben wir Root-Dateisysteme mit privaten Schlüsseln für die Backend-Verbindung und fest kodierten WLAN-Zugangsdaten geholt. Aus ESP32-basierten Kommunikationsmodulen haben wir MQTT-Zugangsdaten gedumpt, die jedes Gerät der Serie teilte.
Was dagegen schützt, nach steigendem Aufwand für den Angreifer: verschlüsselte, pro Gerät signierte Update-Pakete, in der Fertigung gesperrte Debug-Ports und gebrannter Ausleseschutz, Firmware-Verschlüsselung mit Schlüsseln in Secure Element oder eFuses, pro Gerät individuell provisionierte Geheimnisse, damit ein extrahiertes Image nicht die Flotte kompromittiert, und ein Design, das die Firmware als öffentlich annimmt und die Sicherheit in den Schlüsseln hält.
Häufige Missverständnisse
Firmware-Extraktion wird nicht durch Verschleierung besiegt: unbeschriftete Chips, entfernte Markierungen oder exotische Dateisysteme kosten Stunden, nicht Wochen. Es ist auch nichts, das nur gut finanzierte Angreifer tun; ein Flash-Clip, ein Programmiergerät und freie Werkzeuge kosten weniger als das Gerät selbst. Die nützliche Frage ist nicht “kann die Firmware extrahiert werden”, sondern “was gewinnt ein Angreifer, wenn sie es ist”, und die Antwort sollte lauten: nichts, das auf anderen Geräten funktioniert.
FAQ
Häufig gestellte Fragen
Ist Firmware-Extraktion legal?
An einem Gerät, das dir gehört, und für Sicherheitsforschung oder Interoperabilität ist sie in Deutschland und der EU grundsätzlich erlaubt, im Rahmen der urheberrechtlichen Regeln zur Dekompilierung und der Vertragsbedingungen. Im Penetrationstest deckt die schriftliche Erlaubnis des Herstellers sie ab. Zyberum extrahiert Firmware nur aus Geräten, die im Scope eines beauftragten Projekts sind. Wenn du Firmware aus einem Produkt holen willst, das du nicht herstellst, hol dir vorher rechtlichen Rat.
Verhindert Verschlüsselung die Firmware-Extraktion?
Verschlüsselung verhindert, dass der Klartext-Code aus einem gedumpten Flash-Chip gelesen wird, sofern der Schlüssel nicht lesbar auf demselben Chip liegt. Viele Designs legen den Schlüssel im Flash neben das verschlüsselte Image oder entschlüsseln in externes RAM, wo er gelesen werden kann. Verschlüsselung mit dem Schlüssel in einem Secure Element oder in gesperrten eFuses, kombiniert mit gesperrtem Debug-Port, erhöht den Aufwand deutlich.
Was macht ihr mit einem extrahierten Image?
Das Layout bestimmen (Bootloader, Kernel, Dateisysteme, Konfigurationspartitionen), entpacken und nach Zugangsdaten, privaten Schlüsseln, Zertifikaten, Debug-Diensten, Update-Mechanismen und Drittkomponenten mit bekannten Schwachstellen suchen. Mikrocontroller-Images laden wir in einen Disassembler und reversen die Teile, die Authentifizierung, Diagnose und Updates behandeln. Die Ergebnisse speisen den Rest des Penetrationstests.
Quellen
Passende Seiten
- GlossarDebug-Schnittstellen (JTAG, SWD, UART)JTAG, SWD und UART sind die Debug- und Konsolenschnittstellen fast jeder Embedded-Platine. Was sie Angreifern geben, wie du sie sperrst und was wir in Gerätetests finden.
- GlossarSecure BootSecure Boot prüft die Signatur jeder Firmware-Stufe, bevor sie läuft. Wie die Kette funktioniert, wo sie spezifiziert ist und wo sie in echten Geräten scheitert.
- GlossarSBOMEine SBOM listet jede Softwarekomponente eines Produkts mit Version und Lieferant. Formate, Mindestinhalte, was der Cyber Resilience Act verlangt, wie du sie nutzt.
- InsightsFirmware-Extraktion: Was sie verrät und wie du sie verhinderstWarum Firmware-Extraktion in IoT- und ECU-Pentests zählt, welche Schutzmechanismen sie stoppen (eFuses, Flash-Verschlüsselung, Secure Boot) und wie du vorbeugst.
- LeistungenWir öffnen das Gehäuse. Dann die Firmware.Hardware-Pentest für Embedded-Geräte: Debug-Schnittstellen, Firmware-Extraktion, Secure Boot, Fault Injection und Reverse Engineering im eigenen Labor.
