Turbinia — это платформа с открытым исходным кодом для развертывания, управления и выполнения распределенных аналитических рабочих нагрузок. Он предназначен для автоматизации работы распространенных инструментов судебно-медицинской обработки (например, Plaso, TSK, строк и т. д.), чтобы помочь с обработкой доказательств в облаке, масштабировать обработку больших объемов доказательств и сокращать время ответа за счет распараллеливания обработки, где это возможно.
Turbinia состоит из различных компонентов для клиента, сервера и рабочих процессов. Эти компоненты можно запускать в облаке, на локальных компьютерах или как гибрид того и другого. Клиент Turbinia отправляет запросы на обработку доказательств серверу Turbinia. Сервер Turbinia создает логические задания на основе этих входящих пользовательских запросов, которые создают и планируют задачи аналитической обработки, которые будут выполняться работниками. Доказательства, подлежащие обработке, по возможности будут разделены по заданиям, и можно создать множество задач для параллельной обработки доказательств. Один или несколько рабочих постоянно работают для обработки задач с сервера. Любые новые доказательства, созданные или обнаруженные в ходе выполнения задач, будут переданы обратно в Турбинию для дальнейшей обработки.
Связь от клиента к серверу в настоящее время осуществляется с помощью обмена сообщениями Kombu. Реализация работника использует Celery для планирования задач.
Основную документацию по Turbinia можно найти здесь. Вы также можете узнать больше об архитектуре и о том, как она работает здесь.
Turbinia в настоящее время находится в стадии альфа-версии.
Здесь есть инструкция по установке.
Основные шаги для запуска системы после первоначальной установки и настройки:
Запустите серверный компонент Turbinia с помощью команды turbiniactl server
Запустите серверный компонент API Turbinia с помощью команды turbiniactl api_server
если используете Celery.
Запустите один или несколько рабочих Turbinia с помощью turbiniactl celeryworker
Установите turbinia-client
через pip install turbinia-client
Отправьте доказательства для обработки из клиента turbinia с помощью turbinia-client submit ${evidencetype}
Проверьте статус запущенных задач со turbinia-client status
turbinia-client можно использовать для взаимодействия с Turbinia через компонент сервера API, и вот основное использование:
$ 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
для получения подробного руководства пользователя.
Вы также можете взаимодействовать с Turbinia напрямую из Python, используя библиотеку API. Мы приводим здесь несколько примеров
Основная документация
Установка
Как это работает
Операционные детали
Инструмент CLI клиента Turbinia
API-сервер Турбинии
API-библиотека Turbinia Python
Вклад в Турбинию
Разработка новых задач
Часто задаваемые вопросы
Отладка и распространенные ошибки
Использование Docker для выполнения заданий
Это не официальный продукт Google (экспериментальный или какой-либо другой), это просто код, принадлежащий Google.