Проект представляет собой:
- Фреймворк для техник реагирования на инциденты компьютерной безопасности (Computer Security Incident Response)
- Набор Сценариев Реагирования на инциденты (Incident Response Playbooks), развиваемый сообществом
- Источник данных для проекта Atomic Threat Coverage
Фреймворк создан для накопления, описания и классификации действенных техник реагирования на инциденты.
Философия RE&CT основана на подходе фреймворка MITRE ATT&CK.
Столбцы представляют собой Стадии Реагирования (Response Stages).
Ячейки представляют собой Действия Реагирования (Response Actions).
(Изображение сгенерировано посредством RE&CT Navigator)
Основные варианты использования:
- Приоритизация задач по созданию и совершенствованию процесса реагирования на инциденты, включая развитие компетенций, внедрение технических средств, разработку регламентов и т.д.
- Анализ недочетов — определение "степени покрытия" матрицы RE&CT уже реализованными функциями реагирования на инциденты
Основные ресурсы:
- RE&CT Navigator (модифицированный ATT&CK Navigator) для визуализации и анализа общей картины
- Автоматически сгенерированный веб-сайт фреймворка RE&CT — лучшее место для детального изучения существующих техник реагирования на инциденты
- Автоматически сгенерированная база знаний в Atlassian Confluence — демонстрация функции по экспорта аналитики
Проект ATC RE&CT наследует парадигму "Действенная Аналитика" от проекта ATC.
Это означает, что аналитика:
- человекочитаемая (
.md
) для распространения/использования в ходе операционной деятельности - машиночитаемая (
.yml
) для автоматизированной обработки/интеграций - исполняемая платформой для реагирования на инциденты (Incident Response Platform, IRP). На данный момент поддерживается генерация шаблонов кейсов для IRP TheHive
Проще говоря, аналитика хранится в формате .yml
файлов, автоматически конвертируется в документы в формате .md
(посредством jinja) и .json
файлы шаблонов кейсов TheHive.
Response Action (Действие Реагирования) — это описание специфичной атомарной процедуры/задачи, которая должна быть выполнена в ходе реагирования на инцидент. Это первостепенный объект, используемый для составления Сценариев Реагирования (Response Playbooks).
Пример Действия Реагирования:
- Автоматически сгенерированный файл в формате Markdown
- Автоматически сгенерированная mkdocs страница
- Автоматически сгенерированная страница в Confluence
Каждое Действие Реагирования связано с конкретной Стадией Реагирования.
Первая цифра идентификатора Действия Реагирования отражает Стадию, к которой это Действие относится:
- 1: Подготовка (Preparation)
- 2: Идентификация (Identification)
- 3: Сдерживание (Containment)
- 4: Ликвидация (Eradication)
- 5: Восстановление (Recovery)
- 6: Выводы (Lessons Learned)
Вторая цифра идентификатора Действия Реагирования отражает Категорию, к которой это Действие относится:
- 0: Общее (General)
- 1: Сеть (Network)
- 2: Электронная почта (Email)
- 3: Файл (File)
- 4: Процесс (Process)
- 5: Конфигурация (Configuration)
- 6: Идентификационные данные (Identity)
Таким образом, посредством идентификатора Действия Реагирования, можно определить Стадию и Категорию, к которым это Действие принадлежит. Например RA2202: Collect an email message относится к Стадии 2 (Идентификация) и Категории 2 (Электронная почта).
Категоризация предназначена для расширения возможностей для оценки зрелости и планирования развития процесса реагирования на инциденты.
Response Playbook (Сценарий Реагирования) — это план, который представляет собой законченный список задач/процедур (Действий Реагирования) которые должны быть выполнены в ходе реагирования на конкретную угрозу с опциональным маппингом к фреймворкам MITRE ATT&CK или Misinfosec AMITT.
Пример Сценария Реагирования:
- Автоматически сгенерированный файл в формате Markdown
- Автоматически сгенерированная mkdocs страница
- Автоматически сгенерированная страница в Confluence
Сценарий Реагирования может включать в себя описание хода работ, особых условий/требований, детали по последовательности исполнения Действий Реагирования, или любую другую релевантную информацию.
Шаблоны кейсов платформы реагирования на инциденты TheHive генерируются на основе Сценариев Реагирования.
Каждая отдельная задача в шаблоне кейса — это отдельное Действие Реагирования (с его полным описанием).
Вот пример импортированного шаблона кейса TheHive:
Импортированный шаблон кейса TheHive, созданный на основе Сценария Реагирования (кликните, чтобы раскрыть)
Шаблоны кейсов TheHive хранятся в директории docs/thehive_templates
и могут быть импортированы в TheHive через его веб-интерфейс.
Проект ATC RE&CT играет роль источника аналитики для проекта Atomic Threat Coverage, который используется для создания баз знаний в форматах Markdown и Confluence, профилей ATT&CK Navigator, индексов Elasticsearch и иной аналитики.
Изначально, аналитика по реагированию была частью проекта ATC, но мы решили выделить ее в отдельный проект для упрощения управления/разработки и предоставления возможности интеграции с другими проектами в данной области.
-
Убедитесь что ваше рабочее окружение соответствует системным требованиям
-
Создайте файл конфигурации, скопировав шаблон файла конфигурации
scripts/config.default.yml
вconfig.yml
(в корень проекта). Обновите его, следуя инструкциям в шаблоне файла конфигурации. -
Модифицируйте существующие
.yml
файлы или разработайте свою собственную аналитику, используя шаблоны Действий Реагирования или Сценариев Реагирования. Они должны быть сохранены в соответствующих директориях. -
Когда
.yml
будут готовы, сконвертируйте их в документы в формате.md
, экспортируйте их в Confluence, создайте шаблоны кейсов TheHive и профиль RE&CT Navigator используя следующие команды:python3 main.py --markdown --auto --init python3 main.py --confluence --auto --init python3 main.py --thehive python3 main.py -NAV
Результат будет доступен в директории
docs
и страницах Confluence (в соответствии с конфигурацией). Профиль RE&CT Navigator можно открыть только в кастомизированном приложении. -
Сгенерируйте ваш собственный (приватный) веб-сайт с вашей собственной аналитикой, используя mkdocs:
python3 main.py -MK python3 -m mkdocs build
Веб-сайт будет создан в директории
site
. Вы можете ознакомиться с ним посредством следующей команды:python3 -m mkdocs serve
- Python 3.7
- Библиотеки Python — PyYAML, mkdocs, jinja2 и stix2 (опционально). Их можно установить посредством следующей команды:
python3 -m pip install -r requirements.txt
- Тимур Зиннятуллин, @zinint
- Даниил Светлов, @Mr_4nders0n
- Андреас Ханкелер, @Karneades
- Патрик Эбрэхам, @pjabes
- Лукас Берези, @lberezy
- Эфе Эрдур, @efeerdur
- Алехандро Ортуно, @aomanzanera
- @d3anp
- Кристоф Ботт, @xofolowski
Вы хотели бы внести свой вклад в проект и тоже стать участником? Инструкция CONTRIBUTING поможет начать.
План развития проекта и соответствующие обсуждения можно найти в issues посредством лейблы:
Лицензия доступна к просмотру по ссылке.