Einleitung
Firmware und einzelne ausführbare Dateien können nicht nur statisch, sondern auch dynamisch analysiert werden. Da dabei aktiv mit dem System oder dem Programm interagiert wird, fällt dies in die Phase der Enumeration.
Die dynamische Analyse von Firmware oder einer ausführbaren Datei erfolgt während der Ausführung. Dabei wird das Verhalten des Codes in Echtzeit untersucht, um Laufzeitfehler, Fehler in der Speicherverwaltung und Sicherheitslücken zu identifizieren.
In diesem Abschnitt lernst du zwei gängige Methoden kennen:
Fuzzing: Es werden zufällige oder unerwartete Eingabewerte in ein Programm oder System eingespeist, um unerwartetes Verhalten auszulösen, das auf eine Schwachstellen hinweisen kann.
Debugging: Ein Programm wird in einer kontrollierten Umgebung ausgeführt und schrittweise analysiert, um Sicherheitslücken zu identifizieren.
Um Firmware oder eine ausführbare Datei zu untersuchen, muss die Software nicht zwingend auf der ursprünglichen Hardware ausgeführt werden. Es ist auch möglich, diese zu emulieren. Dabei wird das Verhalten der Firmware oder der ausführbaren Datei auf einer anderen Plattform nachgebildet. Dies erfolgt durch Software, die die Funktionalität der Original-Hardware oder des Mikrocontrollers simuliert, auf dem die Firmware oder die ausführbare Datei normalerweise ausgeführt wird.
