
Automatisierung und Skalierung von Werkzeugen der digitalen Forensik
Hinweis: Turbinia wird keine neuen Funktionen mehr entwickeln und befindet sich im Wartungsmodus. Nutzer sollten sich OpenRelik ansehen.
Turbinia ist ein Open-Source-Framework zum Bereitstellen, Verwalten und Ausführen verteilter forensischer Arbeitslasten. Es soll die Automatisierung gängiger forensischer Verarbeitungswerkzeuge (z. B. Plaso, TSK, strings usw.) ermöglichen, um die Verarbeitung von Beweismitteln in der Cloud zu unterstützen, die Verarbeitung großer Mengen an Beweismitteln zu skalieren und die Reaktionszeit durch Parallelisierung der Verarbeitung zu verkürzen.
Turbinia besteht aus verschiedenen Komponenten für den Client, den Server und die Worker. Diese Komponenten können in der Cloud, auf lokalen Maschinen oder als Hybrid aus beiden betrieben werden. Der Turbinia-Client sendet Anfragen zur Verarbeitung von Beweismitteln an den Turbinia-Server. Der Turbinia-Server erstellt aus diesen eingehenden Benutzeranfragen logische Jobs, die forensische Verarbeitungsaufgaben erzeugen und planen, die von den Workern ausgeführt werden. Die zu verarbeitenden Beweismittel werden nach Möglichkeit von den Jobs aufgeteilt, und es können viele Aufgaben erstellt werden, um die Beweismittel parallel zu verarbeiten. Ein oder mehrere Worker laufen kontinuierlich, um Aufgaben vom Server zu verarbeiten. Alle neuen Beweismittel, die durch Aufgaben erstellt oder entdeckt werden, werden zur weiteren Verarbeitung an Turbinia zurückgegeben.
Die Kommunikation vom Client zum Server erfolgt derzeit über Kombu-Messaging. Die Worker-Implementierung verwendet Celery zur Aufgabenplanung.
Die Hauptdokumentation für Turbinia finden Sie hier. Weitere Informationen zur Architektur und zur Funktionsweise finden Sie hier.
Turbinia befindet sich derzeit in der Alpha-Phase.
Es gibt eine Installationsanleitung hier.
Die grundlegenden Schritte, um nach der ersten Installation und Konfiguration loszulegen, sind:
turbiniactl serverturbiniactl api_server, falls Celery verwendet wirdturbiniactl celeryworkerturbinia-client mit pip install turbinia-clientturbinia-client submit ${evidencetype}turbinia-client statusturbinia-client kann verwendet werden, um über die API-Serverkomponente mit Turbinia zu interagieren. Hier ist die grundlegende Verwendung:
$ turbinia-client -h
Usage: turbinia-client [OPTIONS] COMMAND [ARGS]...
Turbinia API command-line tool (turbinia-client).
*** ***
* *
*** ******
* *
** * * ** ,*
******* * ********
* * *
* * *
%%%%%%
%%%%%%
%%%%%%%%%%%%%%% %%%%%%
%%%%%%%%%%%%%%%%%%%%% %%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ** *******
%% %% ***************
%% (%%%%%%%%%%%%%%%%%%% ***** **
%%%%% %%%%%%%%%%%%%%%
%%%%%%%%%% %% ** ***
%%% %% %% %%% %%%%,
%%% %%% %%% %%%%% %%% %%% %% %%% %%% %%% (%%
%%% %%% %%% %%% %% %%/ %% %%% %%% %%% %%%%%%%%
%%% %%% %%% %%% %%% %%% %% %%% %%% %%% %%% %%%
%%% %%%%% %%% %%%%% %% %%% %% %%% %%%%%
This command-line tool interacts with Turbinia's API server.
You can specify the API server location in ~/.turbinia_api_config.json
Options:
-c, --config_instance TEXT A Turbinia instance configuration name.
[default: (dynamic)]
-p, --config_path TEXT Path to the .turbinia_api_config.json file..
[default: (dynamic)]
-h, --help Show this message and exit.
Commands:
config Get Turbinia configuration.
evidence Get or upload Turbinia evidence.
jobs Get a list of enabled Turbinia jobs.
result Get Turbinia request or task results.
status Get Turbinia request or task status.
submit Submit new requests to the Turbinia API server.
Die turbinia-client-Dokumentation finden Sie auf der Seite für eine detaillierte Bedienungsanleitung.
Sie können auch direkt aus Python mit Turbinia interagieren, indem Sie die API-Bibliothek verwenden. Wir stellen einige Beispiele hier zur Verfügung.
Dies ist kein offizielles Google-Produkt (weder experimentell noch anderweitig), es ist lediglich Code, der zufällig von Google verwaltet wird.