Der Aufbau eines robusten Malware-Analyse-Labors stützt sich häufig auf Virtualisierung zur Verwaltung von Snapshots, was es Ermittlern ermöglicht, von einem sauberen Zustand aus zu beginnen oder nach kritischen Schritten zurückzusetzen. Diese Bequemlichkeit birgt jedoch ein erhebliches Risiko: Das Zurücksetzen einer virtuellen Maschine auf einen früheren Snapshot führt zum vollständigen Verlust aller während dieser Sitzung vorgenommenen Änderungen. Für Analysten, die Ghidra verwenden, bei dem die Arbeit in lokalen Projektdateien gespeichert ist, die umbenannte Funktionen, Kommentare und Strukturen enthalten, bedeutet dies, dass stundenlange Analysen augenblicklich verschwinden können, wenn die VM Probleme aufweist oder zurückgesetzt wird.
Um diesen Datenverlust zu mildern, empfehlen Experten die Bereitstellung eines lokalen Ghidra-Servers, einer Komponente, die in der Standardverteilung enthalten ist und keine zusätzliche Lizenz erfordert. Dieser Server verwandelt lokale Projekte in gemeinsam genutzte Repositories, die an einem zentralen Ort außerhalb der flüchtigen virtuellen Maschine gespeichert werden. Der Hauptvorteil besteht in der Persistenz; Analysten können ihre VMs so oft wie nötig zurücksetzen, während annotierte Programme sicher auf dem Server verbleiben. Darüber hinaus bietet das System Versionskontrollfunktionen ähnlich wie Git, sodass Benutzer Änderungen mit Kommentaren verfolgen, verschiedene Zustände einer Analyse vergleichen und frühere Versionen wiederherstellen können.
Die Architektur unterstützt mehrere Clients, wodurch ein Analyst die Arbeit auf einem Gerät beginnen und auf einem anderen fortsetzen kann, beispielsweise auf einem Laptop oder dem Arbeitsplatz eines Kollegen. Sie erleichtert auch die Zusammenarbeit, indem sie es mehreren Analysten ermöglicht, an denselben Proben mit granularer Berechtigung zu arbeiten, einschließlich nur-lesender, Lese-/Schreib- oder Administratorzugriffs. Von entscheidender Bedeutung für Incident-Response-Einsätze ist diese Konfiguration, da sie die Vertraulichkeit gewährleistet, indem alle Proben und kundenbezogene Binärdateien innerhalb des Labornetzwerks bleiben, wodurch der Bedarf an der Übertragung von Daten an Dienste Dritter vermieden wird.
Aus technischer Sicht ist der Server leichtgewichtig und kann auf einer kleinen Linux-VM oder einem Container laufen, die von den Analysegeräten getrennt sind. Empfohlene Spezifikationen umfassen zwei CPU-Kerne, 4 GB RAM und 8 GB Speicherplatz sowie JDK 21 oder neuer. Es ist unerlässlich, die Ghidra-Version zwischen Server und Clients abzustimmen, um Inkompatibilitätsprobleme zu vermeiden. Die Netzwerkkonfiguration erfordert, dass die TCP-Ports 13100 und 13101 von den Client-Maschinen erreichbar sind, und die Clients müssen den vom Server angekündigten Hostnamen auflösen können.
Sicherheitsüberlegungen sind bei der Bereitstellung dieses Dienstes von größter Bedeutung. Da der Server Repositories hostet, die Rohbytes von bösartigem Code enthalten, muss er so behandelt werden, als würde er Live-Malware hosten, und streng innerhalb des Malware-Analyse-Labornetzwerks gehalten werden. Er sollte niemals dem Internet ausgesetzt werden. Die Einrichtung umfasst die Erstellung eines dedizierten Systemkontos, das Entpacken der Ghidra-Verteilung und die Konfiguration der server.conf-Datei, um das Repository-Verzeichnis, die Authentifizierungsmethode und den angekündigten Hostnamen zu definieren. Zu den Authentifizierungsmodi gehören lokale Passwörter, PKI mit Client-Zertifikaten oder JAAS-Integration mit LDAP oder Active Directory.
Nach der Installation erstellen Benutzer Repositories über den Ghidra-Client, indem sie "Shared Project" auswählen und eine Verbindung zum Server herstellen. Obwohl gemeinsam genutzte Projekte weiterhin lokale .gpr-Dateien und .rep-Verzeichnisse für das Caching und die Verbindungseinstellungen generieren, bleiben Binärdateien privat, bis sie explizit in die Versionskontrolle aufgenommen werden. Der Arbeitsablauf spiegelt Standard-Quellkontrollsysteme wider: Analysten checken Programme aus, um an ihnen zu arbeiten, checken Änderungen mit Kommentaren ein, um neue Versionen zu erstellen, und verwalten Zugriffslisten für andere Teammitglieder. Wenn eine VM zurückgesetzt wird und lokale Daten verloren gehen, können Analysten ihre Arbeit wiederherstellen, indem sie sich mit dem bestehenden Repository verbinden, wobei jedoch private Dateien, die nie in die Versionskontrolle aufgenommen wurden, sowie nicht committete Änderungen unwiederbringlich bleiben.
Quellen: SANS Internet Storm Center.