
Automação e Escalonamento de Ferramentas de Perícia Digital
Nota: O Turbinia não desenvolverá mais novos recursos e está em modo de manutenção. Os utilizadores devem dar uma olhada no OpenRelik.
Turbinia é um framework open-source para implantar, gerenciar e executar cargas de trabalho forenses distribuídas. Ele tem como objetivo automatizar a execução de ferramentas comuns de processamento forense (ex.: Plaso, TSK, strings, etc.) para ajudar no processamento de evidências na Nuvem, escalando o processamento de grandes quantidades de evidências e reduzindo o tempo de resposta ao paralelizar o processamento sempre que possível.
Turbinia é composto por diferentes componentes para o cliente, servidor e os workers. Esses componentes podem ser executados na Nuvem, em máquinas locais ou como um híbrido de ambos. O cliente Turbinia faz requisições ao servidor Turbinia para processar evidências. O servidor Turbinia cria jobs lógicos a partir dessas requisições dos utilizadores, que por sua vez criam e agendam tarefas de processamento forense a serem executadas pelos workers. As evidências a serem processadas serão divididas pelos jobs sempre que possível, e muitas tarefas podem ser criadas para processar as evidências em paralelo. Um ou mais workers são executados continuamente para processar as tarefas do servidor. Qualquer nova evidência criada ou descoberta pelas tarefas será realimentada no Turbinia para processamento adicional.
A comunicação do cliente para o servidor atualmente é feita com mensagens Kombu. A implementação do worker utiliza Celery para agendamento de tarefas.
A documentação principal do Turbinia pode ser encontrada aqui. Você também pode saber mais sobre a arquitetura e como funciona aqui.
O Turbinia está atualmente em versão Alpha.
Existe um guia de instalação aqui.
Os passos básicos para começar a funcionar após a instalação e configuração iniciais são:
turbiniactl serverturbiniactl api_server se estiver usando o Celeryturbiniactl celeryworkerturbinia-client via pip install turbinia-clientturbinia-client submit ${evidencetype}turbinia-client statusO turbinia-client pode ser usado para interagir com o Turbinia através do componente do servidor API, 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 documentação do turbinia-client página para um guia detalhado do utilizador.
Você também pode interagir com o Turbinia diretamente do Python usando a biblioteca API. Fornecemos alguns exemplos aqui
Este não é um produto oficial do Google (experimental ou de outro tipo), é apenas código que pertence ao Google.