ERM&CK - Enterprise Response Model & Common Knowledge
Введение
ERMACK - это общедоступная база знаний по реагированию на компьютерные инциденты. Проект выступает не только базой знаний, но и инструментом (фреймворком) описания знаний по реагированию.
За основу был взят проект RE&CT. Мы вдохновлялись идеями авторов этого проекта, однако проект ERM&CK разрабатывается с иным взглядом на архитектуру и кейсы применения. Кодовая база практически полностью переписана. Действия реагирования в большей своей массе взяты из RE&CT без изменений.
Основным отличием и нововведением проекта ERM&CK относительно RE&CT является детализация действий реагирования. Мы планируем собирать конкретные реализации действий реагирования для того чтобы при возникновении инцидента, у пользователя были конкретные инструкции к действию, а не абстрактные рекомендации. Наш подход предполагает, что все конкретные инструкции будут описаны в рамках единой базы знаний и провалидированы участниками сообщества. Таким образом, на выходе получается провалидированная и одобренная сообществом база знаний по реагированию.
Основные цели проекта:
1) Предоставить пользователю удобный инструмент для подготовки инфраструктуры к процессам реагирования на компьютерные инциденты. 2) Предоставить пользователю информацию о действиях реагирования для случаев, которые описаны в базе знаний. 3) Автоматизация построения сценариев реагирования, аналитика над данными.
Репозитории проекта
Основной:
- GitHub: https://github.com/Security-Experts-Community/ERMACK
Зеркала:
- Codeberg: https://codeberg.org/Security-Experts-Community/ERMACK
- GitFlic: https://gitflic.ru/project/security-experts-community/ermack
Использование базы знаний
Поиск по публичной версии сайта
Публичная версия сайта будет создана позднее.
Запуск локальной копии базы знаний в виртуальном окружении Python
Требования: Python 3.11 и выше
Алгоритм: 1. Скачиваем репозиторий с GitHub
-
Вносим изменения в файл конфигурации (если необходимо)
-
Создаём файл с профилем инфраструктуры (нужно для инстанцирования действий внутри сценариев реагирования)
-
Переходим в корень проекта
-
Создаём виртуальное окружение
python -m venv .pyenv
-
Активируем окружение
-
Устанавливаем зависимости
pip install -r requirements.txt
-
Запускаем сборку проекта
python main.py mkdocs -i -a
-
Переходим в папку с резуьлтатами и запускаем сервер
cd build
python -m mkdocs serve -a 0.0.0.0:8000
- Переходим по ссылке http://localhost:8000
Запуск локальной копии базы знаний в Docker
Требования: Docker
Алгоритм: 1. Скачиваем репозиторий с GitHub
-
Вносим изменения в файл конфигурации
-
Создаём файл с профилем инфраструктуры
-
Переходим в корень проекта
-
Создаём Docker-образ
docker build -t sec/ermack .
-
Запускаем контейнер из собранного образа
docker run --rm -it -p 8000:8000 sec/ermack
-
Переходим по ссылке http://localhost:8000