Turbinia é uma estrutura de código aberto para implantação, gerenciamento e execução de cargas de trabalho forenses distribuídas. O objetivo é automatizar a execução de ferramentas comuns de processamento forense (ou seja, Plaso, TSK, strings, etc.) para ajudar no processamento de evidências na nuvem, dimensionando o processamento de grandes quantidades de evidências e diminuindo o tempo de resposta ao paralelizar o processamento sempre que possível.
Turbinia é composto por diferentes componentes para cliente, servidor e trabalhadores. Esses componentes podem ser executados na nuvem, em máquinas locais ou como um híbrido de ambos. O cliente Turbinia faz solicitações de processamento de evidências ao servidor Turbinia. O servidor Turbinia cria trabalhos lógicos a partir dessas solicitações de usuário recebidas, que criam e agendam tarefas de processamento forense a serem executadas pelos trabalhadores. As evidências a serem processadas serão divididas pelos trabalhos quando possível, e muitas tarefas podem ser criadas para processar as evidências em paralelo. Um ou mais trabalhadores são executados continuamente para processar tarefas do servidor. Qualquer nova evidência criada ou descoberta pelas tarefas será devolvida ao Turbinia para processamento posterior.
A comunicação do cliente para o servidor é feita atualmente com mensagens Kombu. A implementação do trabalhador usa Celery para agendamento de tarefas.
A documentação principal do Turbinia pode ser encontrada aqui. Você também pode descobrir mais sobre a arquitetura e como ela funciona aqui.
Turbinia está atualmente em versão Alpha.
Há um guia de instalação aqui.
As etapas básicas para fazer tudo funcionar após a instalação e configuração inicial são:
Inicie o componente do servidor Turbinia com o comando turbiniactl server
Inicie o componente do servidor Turbinia API com o comando turbiniactl api_server
se estiver usando o Celery
Inicie um ou mais trabalhadores Turbinia com turbiniactl celeryworker
Instale turbinia-client
via pip install turbinia-client
Envie evidências para serem processadas do cliente turbinia com turbinia-client submit ${evidencetype}
Verifique o status das tarefas em execução com turbinia-client status
turbinia-client pode ser usado para interagir com Turbinia através do componente API server, e aqui está o uso básico:
$ 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.
Confira a página de documentação turbinia-client
para obter um guia do usuário detalhado.
Você também pode interagir com o Turbinia diretamente do Python usando a biblioteca API. Fornecemos alguns exemplos aqui
Documentação Principal
Instalação
Como funciona
Detalhes Operacionais
Ferramenta CLI do cliente Turbinia
Servidor API Turbinia
Biblioteca de APIs Turbinia Python
Contribuindo para a Turbinia
Desenvolvendo novas tarefas
Perguntas frequentes
Depuração e erros comuns
Usando Docker para executar jobs
Este não é um produto oficial do Google (experimental ou não), é apenas um código que pertence ao Google.