EMBA 2.0: Firmware-Analyzer erreicht 95 Prozent Emulationserfolg
Das Firmware-Analysetool EMBA erreicht in Version 2.0 eine Emulationserfolgsrate von 95 Prozent und lässt damit ältere Werkzeuge deutlich hinter sich.
(Bild: heise medien)
Die Entwickler von EMBA haben Version 2.0 ihres Firmware-Analysetools veröffentlicht. Das Release markiert nach Angaben des Projekts einen Meilenstein auf dem Weg zur automatischen Erkennung und Verifikation von Schwachstellen in Firmware-Images. EMBA ist ein Bash-basiertes Open-Source-Werkzeug zur automatisierten Firmware-Analyse. Es extrahiert Firmware-Images, führt statische und dynamische Analysen durch, generiert Software Bills of Materials (SBOMs) und erstellt Web-Reports. Die neue Version hebt sich durch eine überarbeitete System-Emulations-Engine hervor, die Geräte in einer emulierten Umgebung automatisch startet und so erkannte Schwachstellen verifiziert.
Benchmarks mit Router-Firmware
Die Entwickler haben EMBA 2.0 mit mehreren Firmware-Testsets verglichen. Beim FirmAE-Corpus, einem vor 2020 zusammengestellten Datensatz mit 1074 Firmware-Images, erreichte EMBA eine Erfolgsrate von 95 Prozent und identifizierte dabei über 6000 Netzwerkdienste. FirmAE selbst war ursprünglich auf eine Erfolgsrate von 79 Prozent optimiert worden, während Firmadyne bloß 16 Prozent schaffte. Als Erfolg gilt hierbei, dass mindestens ein Netzwerkdienst in der emulierten Umgebung erreichbar ist.
Bei einem am Fraunhofer FKIE Home Router Security Report orientierten Testset aus dem Jahr 2020 mit 126 Firmware-Images erreichte EMBA eine Erfolgsrate von 87 Prozent (über 600 Netzwerkdienste), FirmAE kam auf 30 Prozent, Firmadyne auf 5 Prozent. Ein neueres Testset von 2022 mit 121 Images bestätigte den Trend: EMBA emulierte 76 Prozent erfolgreich (rund 400 Netzwerkdienste), FirmAE nur 16 Prozent, Firmadyne lediglich 2 Prozent. Die Benchmarks zeigen, dass die Erfolgsrate bei aktuellerer Firmware sinkt, EMBA aber den Vorsprung zu den älteren Projekten hält.
Videos by heise
KI-Integration und SBOM-UnterstĂĽtzung
Version 2.0 bietet neben der verbesserten Emulation weitere neue Features: Die Integration von Dependency-Track ermöglicht den automatischen Transfer von SBOMs in Vulnerability- und SBOM-Management-Tools. EMBA unterstützt nun VEX (Vulnerability Exploitability eXchange) und erweiterte SBOM-Quellen. Das Tool nutzt CycloneDX-JSON als SBOM-Format und kann die Daten direkt an Dependency-Track übergeben.
Eine KI-unterstützte Firmware-Analyse ergänzt die klassischen Scan-Module. Neue Analysekomponenten wie Capa mit ATT&CK-Support, Semgrep und Zarn für Perl-Analysen erweitern die Erkennungsfähigkeiten. Das Modul S09 zur Binary-Versionserkennung wurde im Threading verbessert, was die Performance steigert. Die Emulation basiert auf QEMU mit einem angepassten Kernel-Build der Version 4.14.336 LTS, der bessere Kompatibilität mit älterer und aktueller Router-Firmware bieten soll.
Alle Details zum Update auf Version 2.0.0 finden sich auf der EMBA-Projektseite auf GitHub.
Offene Fragen zur Reproduzierbarkeit
Während die Benchmark-Ergebnisse beeindruckend ausfallen, bleiben einige Fragen offen. Die genauen Firmware-Korpora sind nicht vollständig dokumentiert, die Testsets orientieren sich an Home-Router-Firmware von Herstellern wie AVM, Netgear und Asus. Die Rohdaten der Firmware-Images liegen nicht direkt im Repository, sondern sind über externe Quellen wie Zenodo verfügbar. Eine unabhängige Verifikation der Benchmarks durch Dritte steht aus, obwohl das Projekt sich auf akademische Arbeiten wie jene zu FirmAE bezieht.
Die Emulation nutzt QEMU und angepasste Kernel-Patches für Bootloader-Kompatibilität. Diese Patches sind teilweise projektspezifisch, eine Einbringung in Upstream-Projekte wie Linux oder QEMU ist laut Issue-Tracker geplant. Bei proprietären Bootloadern und signierten Firmware-Images stößt EMBA an Grenzen, hier greift das Tool auf User-Mode-Emulation oder statische Analyse zurück.
Bei der Ausführung potenziell schadhafter Firmware in Docker- oder VM-Umgebungen empfehlen die Entwickler zusätzliche Sicherheitsmaßnahmen wie Nested VMs, AppArmor oder SELinux. Netzwerk-Leaks und Kernel-Exploits können Risiken darstellen, weshalb produktive Umgebungen gemieden werden sollten. Rechtliche Aspekte wie die Lizenz-Compliance bei extrahierten proprietären Binaries oder DSGVO-Fragen bei gespeicherten Credentials liegen in der Verantwortung der Nutzer.
Enterprise-Einsatz und Responsible Disclosure
Für Enterprise-Anwender sieht EMBA eine Skalierung über Docker-Swarms und Kubernetes vor. Die Web-UI EMBArk ermöglicht Cluster-Deployments, Performance-Tests zeigen über 100 analysierte Images pro Tag auf 64-Core-Systemen. Die Integration in CI/CD-Pipelines ist über Docker-Images als GitHub Actions oder Jenkins-Steps möglich.
Mechanismen für eine Responsible Disclosure bei automatisch identifizierten Zero-Days sind nicht eingebaut. Die Entwickler verweisen auf manuelle CVD-Prozesse über First.org und den Issue-Tracker. Die Aktualität der Vulnerability-Feeds wird über das Update-Skript sichergestellt, das täglich CVE-Datenbanken wie cve-bin-tool und cve-search aktualisiert.
EMBA positioniert sich als freie Alternative zu kommerziellen Firmware-Scannern. Die höhere Emulationsdeckung gegenüber proprietärer Software spricht für das Werkzeug, allerdings erfordert es eine manuelle Verifikation der Ergebnisse.
(fo)