Zurück zu den Updates
New releaseSep 15, 2026

FACT_core v4.4.1

Firmware-Analyse- und Vergleichstool

Teilen

FACT-Logo mit Lupe als C
Das Firmware-Analyse- und Vergleichswerkzeug (FACT)

codecov Codacy Badge Gitter chat CI Build License: GPL v3

Inhalt

Warum FACT?

Die Firmware-Analyse kann verwendet werden, um mehrere interessante Ziele zu erreichen. Die wichtigsten davon sind die Identifizierung von Funktionalitäten, Komponenten und potenziellen Sicherheitsschwachstellen in Black-Box-Firmware.

Das Firmware-Analyse- und Vergleichswerkzeug (FACT) soll so viel wie möglich von der manuellen Firmware-Analysearbeit automatisieren. FACT kombiniert eine wachsende Sammlung leistungsstarker Analysen, um eine einheitliche Schnittstelle zu schaffen, die den Benutzer von einer beliebigen Firmware-Probe zu einer fertigen Analyse führt. Einige der wichtigsten Merkmale der FACT-Analyse sind, dass die Ergebnisse

  • durchsuchbar
  • und vergleichbar sind.

Darüber hinaus bietet FACT mehrere Möglichkeiten zur Navigation und Visualisierung von Analyseergebnissen und Firmware-Inhalten für eine einfache Zugänglichkeit. Die Hauptschnittstelle von FACT ist eine auf html/js/css basierende Weboberfläche, die lokal gehostet oder über das Netzwerk geteilt werden kann. Zusätzlich bietet FACT eine REST-ähnliche HTTP-API, die mit einer integrierten SwaggerUI erkundet werden kann. Einige Hauptmerkmale der Weboberfläche sind:

  • Einfache Visualisierung der Firmware durch eine Dateibaumdarstellung aller Firmware-Komponenten.
  • Schnelle Navigation durch die Analyseergebnisse durch Anzeige von Zusammenfassungen der Ergebnisse über alle Firmware-Komponenten hinweg.
  • Hervorhebung relevanter Analyseergebnisse als Tags oben auf jeder Seite.
  • Verschiedene Download-Optionen für Firmware und Komponenten, um in erweiterte Analysen einzusteigen.

Obwohl FACT als Forschungsprototyp gewartet wird, ist das Projekt gut getestet, enthält eine grundlegende Dokumentation und bietet eine Vielzahl von produktionsreifen Funktionen. Wir sind immer offen für Feedback und Funktionswünsche.

Weitere Details und einige Screenshots finden Sie auf unserer Projektseite.

Einrichtung

Anforderungen

FACT ist als Multiprozess-Anwendung konzipiert, je mehr Kerne und RAM, desto besser.

MinimalEmpfohlen
4 Kerne16 Kerne
8 GB RAM64 GB RAM
10 GB Festplatte10* GB Festplatte

[!NOTE] Etwa 10 GB werden benötigt, um FACT-Code, Container und Binärdateien einzurichten. Zusätzlicher Platz ist für die Speicherung entpackter Dateien und Analyseergebnisse erforderlich. Dies kann auf einer separaten Partition oder einem separaten Laufwerk erfolgen.

Lokale Installation

Es ist grundsätzlich möglich, FACT auf jeder Linux-Distribution zu installieren, aber das Installationsprogramm ist beschränkt auf

  • Debian 12/13 oder kompatibel (stabil)
  • Ubuntu 22.04/24.04/26.04 oder kompatibel (stabil)
  • Kali (experimentell)

Die Installation auf älteren Distributionen (z. B. Debian 11 "Bullseye" oder Ubuntu 20.04 "Focal") funktioniert möglicherweise noch, gilt aber nicht als stabil, da diese Distributionen das Ende ihrer Lebensdauer erreicht haben.

FACT benötigt Python 3.10–3.14 (sollte in allen unterstützten Distributionen die Standardversion sein)

Der Einrichtungsprozess ist weitgehend automatisiert und in einem einzigen Skript zusammengefasst. Einige Funktionen können jedoch spezifisch ausgewählt werden. Eine ausführliche Anleitung zur Installation von FACT finden Sie in INSTALL.md.

[!IMPORTANT] Beachten Sie, dass FACT zwar umfangreich von Containern Gebrauch macht, aber dennoch viele Abhängigkeiten enthält (und es gibt keine Deinstallation). Wenn Sie Ihr System sauber halten möchten, können Sie eine der folgenden Einrichtungsoptionen ausprobieren.

Vagrant

Wir stellen monatlich einsatzbereite Vagrant-Boxen unseres Master-Branches zur Verfügung. Vagrant ist eine einfache und bequeme Möglichkeit, mit FACT zu beginnen, ohne es auf Ihrem Rechner installieren zu müssen. Richten Sie einfach Vagrant ein und importieren Sie unsere bereitgestellte Box in VirtualBox. Unsere Boxen finden Sie auf der Vagrantup-Website!

Erfahren Sie, wie Sie mit FACT und Vagrant loslegen, in unserem Tutorial.

Docker

Es gibt auch eine dockerisierte Version, die derzeit jedoch nicht gewartet wird. (siehe das FACT_docker-Repository für weitere Informationen).

Nutzung

Sie können FACT starten, indem Sie das Skript start_fact.py ausführen. Das Skript erkennt automatisch alle installierten Komponenten.

src/start_fact.py

Anschließend ist FACT unter http://localhost:5000 (Standard) oder https://localhost (wenn FACT mit nginx installiert ist) erreichbar.

Sie können das System durch Drücken von Strg + c oder durch Senden eines SIGTERM an das Skript start_fact.py herunterfahren.

[!CAUTION] FACT ist nicht für die Nutzung als öffentlicher Internetdienst gedacht. Die Weboberfläche ist keine gehärtete Anwendung. Wir versuchen, Sicherheitsprobleme durch die Anwendung von SecDevOps zu begrenzen, aber FACT kann dennoch Sicherheitslücken aufweisen. Stellen Sie sicher, dass Sie alle Passwörter in der FACT-Konfiguration zurücksetzen, wenn Sie FACT in nicht vollständig vertrauenswürdigen Netzwerken hosten möchten.

Dokumentation

[!TIP] Weitere Dokumentation zur Nutzung von FACT finden Sie auf unseren Wiki-Seiten.

Sie können auch einen Blick in unsere Sphinx-Dokumentation werfen.

Informationen darüber, was FACT ist und wie es funktioniert, finden Sie auch in den Folien im docs-Ordner.

REST-API

FACT bietet eine REST-API. Weitere Informationen finden Sie auf der Wiki-Seite.

Benutzerverwaltung

FACT bietet eine optionale grundlegende Authentifizierungs-, Rollen- und Benutzerverwaltung. Weitere Informationen finden Sie auf der Wiki-Seite.

Mitwirken

Der einfachste Weg, einen Beitrag zu leisten, ist das Schreiben Ihres eigenen Plugins. Unser Entwicklerhandbuch finden Sie im Wiki auf GitHub.

Zusätzliche Plugins

Kategorien