
Automatisation et passage à l'échelle des outils de criminalistique numérique
Remarque : Turbinia ne développera plus de nouvelles fonctionnalités et est en mode maintenance. Les utilisateurs devraient jeter un œil à OpenRelik.
Turbinia est un framework open-source pour déployer, gérer et exécuter des charges de travail forensiques distribuées. Il vise à automatiser l'exécution d'outils de traitement forensique courants (par ex. Plaso, TSK, strings, etc.) pour aider au traitement des preuves dans le Cloud, à la mise à l'échelle du traitement de grandes quantités de preuves, et à la réduction du temps de réponse en parallélisant le traitement lorsque c'est possible.
Turbinia est composé de différents composants pour le client, le serveur et les workers. Ces composants peuvent être exécutés dans le Cloud, sur des machines locales, ou en hybride des deux. Le client Turbinia envoie des demandes de traitement de preuves au serveur Turbinia. Le serveur Turbinia crée des jobs logiques à partir de ces demandes utilisateur entrantes, qui créent et planifient des tâches de traitement forensique à exécuter par les workers. Les preuves à traiter sont divisées par les jobs lorsque possible, et de nombreuses tâches peuvent être créées pour traiter les preuves en parallèle. Un ou plusieurs workers s'exécutent en continu pour traiter les tâches du serveur. Toute nouvelle preuve créée ou découverte par les tâches est renvoyée dans Turbinia pour un traitement ultérieur.
La communication du client vers le serveur se fait actuellement via la messagerie Kombu. L'implémentation du worker utilise Celery pour la planification des tâches.
La documentation principale de Turbinia peut être trouvée ici. Vous pouvez également en savoir plus sur l'architecture et comment ça marche ici.
Turbinia est actuellement en version Alpha.
Il y a un guide d'installation ici.
Les étapes de base pour faire fonctionner les choses après l'installation initiale et la configuration sont :
turbiniactl serverturbiniactl api_server si vous utilisez Celeryturbiniactl celeryworkerturbinia-client via pip install turbinia-clientturbinia-client submit ${evidencetype}turbinia-client statusturbinia-client peut être utilisé pour interagir avec Turbinia via le composant serveur API, et voici l'utilisation de base :
$ 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.
Consultez la documentation de turbinia-client page pour un guide utilisateur détaillé.
Vous pouvez également interagir avec Turbinia directement depuis Python en utilisant la bibliothèque API. Nous fournissons quelques exemples ici
Ce n'est pas un produit Google officiel (expérimental ou autre), c'est juste du code qui appartient par hasard à Google.