
디지털 포렌식 도구의 자동화 및 확장
참고: Turbinia는 더 이상 새로운 기능을 개발하지 않으며 유지보수 모드에 있습니다. 사용자는 OpenRelik을 확인하시기 바랍니다.
Turbinia는 분산 포렌식 워크로드를 배포, 관리 및 실행하기 위한 오픈 소스 프레임워크입니다. 일반적인 포렌식 처리 도구(예: Plaso, TSK, strings 등)의 실행을 자동화하여 클라우드에서 증거를 처리하고, 대량의 증거 처리 규모를 조정하며, 가능한 경우 병렬 처리를 통해 응답 시간을 단축하는 데 목적이 있습니다.
Turbinia는 클라이언트, 서버 및 작업자(worker)를 위한 다양한 구성 요소로 구성됩니다. 이러한 구성 요소는 클라우드, 로컬 머신 또는 둘의 하이브리드 방식으로 실행될 수 있습니다. Turbinia 클라이언트는 Turbinia 서버에 증거 처리를 요청합니다. Turbinia 서버는 들어오는 사용자 요청으로부터 논리적 작업(job)을 생성하고, 이 작업은 작업자가 실행할 포렌식 처리 태스크를 생성 및 스케줄링합니다. 처리할 증거는 가능한 경우 작업에 의해 분할되며, 증거를 병렬로 처리하기 위해 많은 태스크가 생성될 수 있습니다. 하나 이상의 작업자가 지속적으로 실행되어 서버의 태스크를 처리합니다. 태스크에 의해 생성되거나 발견된 새로운 증거는 추가 처리를 위해 Turbinia로 다시 전달됩니다.
클라이언트에서 서버로의 통신은 현재 Kombu 메시징을 사용하여 이루어집니다. 작업자 구현은 태스크 스케줄링을 위해 Celery를 사용합니다.
Turbinia의 주요 문서는 여기에서 찾을 수 있습니다. 아키텍처 및 작동 방식에 대한 자세한 내용도 확인할 수 있습니다.
Turbinia는 현재 알파 릴리스(Alpha release) 단계입니다.
여기에 설치 가이드가 있습니다.
초기 설치 및 구성 후 기본 실행 단계는 다음과 같습니다:
turbiniactl server 명령으로 Turbinia 서버 구성 요소 시작turbiniactl api_server 명령으로 Turbinia API 서버 구성 요소 시작turbiniactl celeryworker 명령으로 하나 이상의 Turbinia 작업자 시작pip install turbinia-client를 통해 turbinia-client 설치turbinia-client submit ${evidencetype} 명령으로 증거 전송turbinia-client status 명령으로 실행 중인 태스크 상태 확인turbinia-client는 API 서버 구성 요소를 통해 Turbinia와 상호작용하는 데 사용할 수 있으며, 기본 사용법은 다음과 같습니다:
$ 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.
자세한 사용자 가이드는 turbinia-client 문서 페이지를 확인하세요.
Python에서 직접 API 라이브러리를 사용하여 Turbinia와 상호작용할 수도 있습니다. 몇 가지 예제는 여기에서 제공됩니다.
이것은 공식 Google 제품(실험적이든 아니든)이 아니며, 우연히 Google이 소유한 코드일 뿐입니다.