Skip to main content

Конвертер правил Sigma

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

Чтобы воспользоваться конвертером правил Sigma, выполните следующие шаги:
  1. Установите конвертер правил Sigma. После установки войдите в веб-интерфейс конвертера. Доступны следующие варианты установки (в конце файла процессы установки расписаны подробно) :
      1.  Установка конвертера правил Sigma с использованием docker + bash
      2.  Установка конвертера правил Sigma в среде, допускающей запуск образов docker
      3.  Установка конвертера правил Sigma с использованием Python 3.10 и выше
  2. Подготовьте правило корреляции. Скопируйте из KUMA правило корреляции, которое вы хотите доработать, на вкладку конвертера rule. Выберите в раскрывающихся списках нужные параметры. При необходимости исправьте ошибки.

Поскольку в предустановленных нормализаторах используется обогащение событий to lower case для полей, содержащих имена пользователей, имена хостов, имена процессов, мы рекомендуем в исходном правиле Sigma приводить соответствующие поля к нижнему регистру, иначе придется корректировать правило в KUMA.

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

Правило должно начинаться со слова title, дефисов перед ним не должно быть.

3.  Готовый результат скопируйте в KUMA, если это запрос или фильтр. Если вы хотите использовать в KUMA правило, можно импортировать в KUMA по одному правилу.

4. Перезапустите коррелятор, чтобы применить изменения.

 

Чтобы конвертировать правило Sigma в правило KUMA:
  1. Скопируйте из KUMA правило корреляции, которое вы хотите доработать, на вкладку конвертера rule. Выберите в раскрывающихся списках нужные параметры. При необходимости исправьте ошибки.
  2. В конверторе Sigma в поле backend выберите kuma, в поле Format выберите default, поле pipeline оставьте пустым.
  3. Перейдите на вкладку pipline.yaml и скопируйте туда "Пример словаря адаптированный под pySigma".

Правило конвертировано.

В результате получим условие WHERE для sql запроса.

Поддерживаемые примеры конвертации правил Sigma тут

 
Установка конвертера правил Sigma с использованием docker + bash

Этот тип установки подходит для локальной установки веб-интерфейса конвертера.

Для установки требуются последние версии bash и docker. Для подробной информации по развертыванию обратитесь к официальной документации.

Astra Linux 1.7 не поддерживается.

Чтобы выполнить установку:

  1. Войдите в директорию с распакованным архивом и выполните одну из команд:
    • Чтобы установить конвертер на 0.0.0.0:8000, выполните следующую команду:

      ./run.sh

    • Чтобы установить конвертер на 0.0.0.0:8888, выполните следующую команду:

      ./run.sh <порт (порт по умолчанию 8000)>

    • Чтобы установить конвертер на 127.0.0.1:9999, выполните следующую команду:

       

      ./run.sh  <IP-адрес слушающего интерфейса, по умолчанию 0.0.0.0. Указывайте 127.0.0.1 для запуска только на локальном интерфейсе>:<порт>

Установка конвертера правил Sigma в среде, допускающей запуск образов docker

Это метод установки использует предоставленный контейнер и этот способ может использоваться для создания сервиса systemd и развертывания веб-интерфейса с использованием Kubernetes.

Подойдет любой инструмент запуска контейнеров: docker, podman, cri-o, и т.п. Установка заключается в загрузке образа контейнера и последующего запуска образа с указанием нужного порта.

Чтобы установить конвертер с помощью podman:

  1. Загрузите образ контейнера: 

    podman load --input "kuma-sigma-converter-x.x.x.tar

  2. Запустите образ одним из следующих способов:
    • Запуск до нажатия Ctrl+C: 

      podman run --name=kuma-converter -p "8000:8000" -e "PORT=8000" --rm -it kuma-sigma-converter:x.x.x

    • Запуск в фоновом режиме: 

      podman run --name=kuma-converter -p "8000:8000" -e "PORT=8000" --rm kuma-sigma-converter:x.x.x

Установка конвертера выполнена.

 

Установка конвертера правил Sigma с использованием Python 3.10 и выше

Этот метод отличается наибольшей гибкостью и подходит опытным пользователям, поскольку можно адаптировать конвертер под свои потребности. В отличие от других методов, этот метод требует подключения к интернету для скачивания пакетов python.

Чтобы выполнить установку конвертера:

  1. Убедитесь, что установлен Python 3.10 или выше.
  2. Установите poetry, инструмент для управления зависимостями Python. Для Ubuntu или Debian можно воспользоваться менеджером пакетов:

    sudo apt-get update

    sudo apt install pipx

    pipx install poetry

  3. Используйте poetry для настройки и запуска веб-интерфейса:

    cd sigconverter.io

    poetry install

    poetry run ./run.py

  4. В браузере перейдите на хост, где установлен веб-интерфейс. Для локальной установки адрес будет следующим: http://127.0.0.1:8000 или http://0.0.0.0:8000.
  5. При необходимости вы можете указать переменные окружения

    HOST

     и 

    PORT, чтобы настроить слушающий интерфейс и задать номер порта.

Установка конвертера выполнена.

Поскольку конвертер представляет собой плагин для инфраструктуры pySigma, допускается использование Sigma-backend-kuma с другими стандартными инструментами sigma, не только настраиваемой версией sigconverter.io. Например: sigma-cli  - конвертер с интерфейсом командной строки; sigconverter.io  - исходный универсальный веб-интерфейс.

Ниже указаны файлы README для библиотек, представленных в исходном коде:

src/pySigma/README.md -- инфраструктура и библиотека промышленного стандарта преобразования sigma.

src/pySigma-backend-kuma/README.md -- плагин для pySigma, который реализует преобразование фильтров и запросов KUMA.

src/sigconverter.io/README.md -- пользовательский веб-интерфейс.