Перейти к основному содержимому
Версия: 5.0

Интеграция с Менеджером Инцидентов

Регистрация инцидентов на базе правил выявления угроз

Выявленные угрозы EDR агентом регистрируются в Менеджере Инцидентов. Реализованный механизм позволяет обрабатывать угрозы, используя функциональные возможности Менеджера Инцидентов.

Настройки правил

По умолчанию регистрируются все правила сформированные в BI.ZONE EDR (справочник - dim_bizone_rule). При этом критичность инцидента соответствует критичности правила. Для управления регистрацией алертов и критичностью правил используется справочник bizone_alert_setting.

  1. Для изменения критичности, требуется добавить строку с требуемым alert_name и указать необходимый уровень критичности в поле custom_severity
  2. Добавьте alert_name и установите is_handled в единицу, что бы не регистрировать инцидент для данного правила

Запуск задач EDR

Запуск задачи, как реакции на инцидент, доступен в интерфейсе Менеджера Инцидентов.

Задачи подразделяются на три категории в зависимости от типа инцидента:

  1. Общие задачи – применяются ко всем инцидентам, независимо от платформы
  2. Задачи для Linux – используются для реагирования на инциденты, обнаруженные на серверах и рабочих станциях под управлением операционных систем семейства Linux
  3. Задачи для Windows – предназначены для обработки инцидентов, выявленных на серверах и рабочих станциях под управлением операционной системы Windows

Список доступных активных действий автоматически формируется в зависимости от типа операционной системы на которой была выявлена угроза.

Особенности работы активных действий:

  1. Для каждой задачи формируется интерфейс с полями на основе параметров задачи
  2. Поля инцидента преобразуются в параметры задачи с использованием маппинга

Просмотр результатов задач

Результаты запускаемых задач из Менеджера Инцидентов доступны на дашборде Smart EDR: Результаты задач:

Переход на дашборд с подстановкой устройства в фильтр доступен в карточке инцидента (Посмотреть дополнительную информацию):

Формирование пользовательских реакций

Предусмотрена возможность сбора собственных реакций на инцидент, включающих последовательность нескольких задач EDR. Реакции формируются как python-скрипт и хранятся на сервере Smart Monitor Web в директории /app/opensearch-dashboards/config/actions. Для формирования таких реакций требуется:

  1. Перейти в директорию /app/opensearch-dashboards/config/actions
  2. Сформировать скрипт (использовать как шаблон remove_immutable_bit.py)
  3. Перезагрузить Smart Monitor Web:
    systemctl restart opensearch-dashboards
  4. Перейти в раздел Навигационное меню - Параметры системы - Настройки модулей - Менеджер инцидентов - Активные действия
  5. Создать новое активное действие, в котором указать:
    • поля инцидента:
      • dev_id - обязательно
      • тип ОС (linux, windows), для которой доступна реакция
    • сформированный скрипт из списка

Пример скрипта (remove_immutable_bit.py):

import json  
import os
import urllib3
from jinja2 import Environment, BaseLoader

from run_task import run_task

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)


if __name__ == '__main__':
data = input()
data_dict = json.loads(data)
# настройки
base_path = os.path.abspath(os.path.dirname(__file__))
support_tasks_path = os.path.join(base_path, 'tasks.json')
# метаданные задач
with open(support_tasks_path, 'r') as f:
support_tasks = json.load(f)
# настройки edr
with open(os.path.join(base_path, 'bizone_edr_settings.json'), 'r') as f:
bizone_edr_settings = json.load(f)
# параметры
incident_data = data_dict['metadata'].get('fields')
agents = [incident_data.get('dev_id')]
# выполнение задач
# снять immutable бит task_id = [t for t in support_tasks if t['name'] == '[BZ] [All] Run command'][0]['id']
params = {
'command': 'sudo chattr -i ~/.bash_history',
'timeout': 1800,
'mode': 'current'
}
run_task(bizone_edr_settings['host'], bizone_edr_settings['token'], task_id, agents, params)
# проверка, что атрибут снят
task_id = [t for t in support_tasks if t['name'] == '[BZ] [All] Get file properties'][0]['id']
params = {
'filePath': '/root/.bash_history',
}
run_task(bizone_edr_settings['host'], bizone_edr_settings['token'], task_id, agents, params)
# проверить файл истории на наличие подозрительных команд
task_id = [t for t in support_tasks if t['name'] == '[BZ] [Nix] Get command history (one-shot)'][0]['id']
run_task(bizone_edr_settings['host'], bizone_edr_settings['token'], task_id, agents)
# получить пользователей и группы
task_id = [t for t in support_tasks if t['name'] == '[BZ] [Nix] Get list of users and groups (one-shot)'][0]['id']
run_task(bizone_edr_settings['host'], bizone_edr_settings['token'], task_id, agents)
# получить процессы
task_id = [t for t in support_tasks if t['name'] == '[BZ] [Nix] List processes'][0]['id']
run_task(bizone_edr_settings['host'], bizone_edr_settings['token'], task_id, agents)
# сетевые соединения
task_id = [t for t in support_tasks if t['name'] == '[BZ] [Nix] Get network connections'][0]['id']
run_task(bizone_edr_settings['host'], bizone_edr_settings['token'], task_id, agents)

Настройка активного действия:

Пользовательская реакция в Менеджере Инцидентов: