Turbinia est un framework open source pour le déploiement, la gestion et l'exécution de charges de travail d'investigation distribuées. Il est destiné à automatiser l'exécution d'outils de traitement médico-légal courants (c'est-à-dire Plaso, TSK, chaînes, etc.) pour faciliter le traitement des preuves dans le Cloud, étendre le traitement de grandes quantités de preuves et réduire le temps de réponse en parallélisant le traitement lorsque cela est possible.
Turbinia est composé de différents composants pour le client, le serveur et les travailleurs. Ces composants peuvent être exécutés dans le Cloud, sur des machines locales ou sous forme hybride des deux. Le client Turbinia envoie des demandes de traitement des preuves au serveur Turbinia. Le serveur Turbinia crée des tâches logiques à partir de ces demandes utilisateur entrantes, ce qui crée et planifie des tâches de traitement médico-légal à exécuter par les travailleurs. Les preuves à traiter seront réparties par tâches lorsque cela est possible, et de nombreuses tâches peuvent être créées afin de traiter les preuves en parallèle. Un ou plusieurs travailleurs s'exécutent en continu pour traiter les tâches du serveur. Toute nouvelle preuve créée ou découverte par les tâches sera réinjectée dans Turbinia pour un traitement ultérieur.
La communication du client vers le serveur se fait actuellement avec la messagerie Kombu. L'implémentation du travailleur 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 son fonctionnement 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 et la configuration initiales sont :
Démarrez le composant serveur Turbinia avec la commande turbiniactl server
Démarrez le composant serveur API Turbinia avec la commande turbiniactl api_server
si vous utilisez Celery
Démarrez un ou plusieurs ouvriers Turbinia avec turbiniactl celeryworker
Installer turbinia-client
via pip install turbinia-client
Envoyez les preuves à traiter depuis le client Turbinia avec turbinia-client submit ${evidencetype}
Vérifier l'état des tâches en cours d'exécution avec turbinia-client status
turbinia-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 page de documentation turbinia-client
pour un guide d'utilisation détaillé.
Vous pouvez également interagir avec Turbinia directement depuis Python en utilisant la bibliothèque API. Nous fournissons ici quelques exemples
Documentation principale
Installation
Comment ça marche
Détails opérationnels
Outil CLI client Turbinia
Serveur API Turbinia
Bibliothèque API Turbinia Python
Contribuer à Turbinia
Développer de nouvelles tâches
FAQ
Débogage et erreurs courantes
Utiliser Docker pour exécuter des tâches
Il ne s'agit pas d'un produit officiel de Google (expérimental ou autre), c'est simplement du code qui appartient à Google.