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

MaxPatrol SIEM

Данное руководство описывает настройку интеграции Solar TI Feeds Agent с MaxPatrol SIEM для автоматической загрузки индикаторов компрометации (IoC) через CSV-файлы.


Предварительные требования​

  • Установленный и настроенный Solar TI Feeds Agent на системе-источнике
  • Доступ к MaxPatrol SIEM с правами администратора
  • Скачанный пакет экспертизы "MP SIEM_4rays TI Cloud SIEM Content.kb" для MP SIEM (скачать)

Конфигурация интеграции​

Интеграция автоматизирует выгрузку индикаторов из Solar TI Feeds в MaxPatrol SIEM. Взаимодействие осуществляется через CSV-файлы, генерируемые агентом, и пакет экспертизы, устанавливаемый в SIEM.

Основные компоненты интеграции:

КомпонентНазначение
Solar TI Feeds AgentГенерация CSV-файлов с индикаторами
Пакет экспертизы "MP SIEM_4rays TI Cloud SIEM Content.kb"Нормализация, обогащение и корреляция событий в SIEM
Профиль сбора событийСбор CSV-файлов и передача их в SIEM
Табличные спискиХранение индикаторов (IP, Domain/URL, Hash)
Правила обогащения и корреляцииДетектирование взаимодействий с индикаторами

Импорт контента​

Для начала работ по настройке требуется перенести в SIEM пакет экспертизы "MP SIEM_4rays TI Cloud SIEM Content.kb", включая все макросы (Рисунок 1).

Рисунок 1 - Импортированные пакеты экспертизы "4rays TI Cloud SIEM Content"

Примечание: Пакет экспертизы "MP SIEM_4rays TI Cloud SIEM Content.kb" поставляется вместе с агентом Solar TI Feeds Agent.

Далее необходимо убедиться, что были импортированы все необходимые компоненты:

Нормализации:​

  1. Normalizer_4rays_TI_Cloud

Табличные списки:​

  1. Config_4rays_TI_Cloud_IP_IOC_List
  2. Config_4rays_TI_Cloud_Domain_or_URL_IOC_List
  3. Config_4rays_TI_Cloud_Hash_IOC_List
  4. Config_4rays_TI_Cloud_Parameters
  5. Exclusion_4rays_TI_Cloud
  6. StopList_4rays_TI_Cloud
  7. Tech_4rays_TI_Cloud_Tracking_Activity
  8. Tech_4rays_TI_Cloud_Hits_Statistics

Правила обогащения:​

  1. Profile_4rays_TI_Cloud
  2. Tech_4rays_TI_Cloud_IOC_Detection

Правила корреляции:​

  1. Alert_4rays_TI_Cloud_IOC_Detection

Описание контента загрузки фидов​

Часть контента SIEM, предназначенная для загрузки и предварительной обработки фидов из CSV-файлов, формируемых агентом, представлена следующими логическими блоками:

Нормализация фидов:

  • Normalizer_4rays_TI_Cloud — правило нормализации для обработки записей о фидах всех типов. Поступающие из фидов индикаторы проходят дополнительную обработку по полю Value

Конфигурационные табличные списки с данными о фидах:

  • Config_4rays_TI_Cloud_IP_IOC_List — конфигурационный табличный список для хранения индикаторов типов IPV4, IPV6, SOCKETV4 и SOCKETV6
  • Config_4rays_TI_Cloud_Domain_or_URL_IOC_List — конфигурационный табличный список для хранения индикаторов типов DOMAIN и URL
  • Config_4rays_TI_Cloud_Hash_IOC_List — конфигурационный табличный список для хранения типов MD5, SHA1 и SHA256

Конфигурационные табличные списки не имеют ограничений по TTL, релевантность и актуальность записей в данном формате интеграции определяется на стороне платформы TI Cloud. Поддержание актуального содержимого на стороне SIEM осуществляется на основе действий по полю Action.

Актуализация конфигурационных табличных списков:

Profile_4rays_TI_Cloud — правило обогащения для обработки шести групп событий:

  • Событий по добавлению (CREATE) и обновлению (UPDATE) записей типов IPV4, IPV6, SOCKETV4 и SOCKETV6
  • Событий по удалению (DELETE) записей типов IPV4, IPV6, SOCKETV4 и SOCKETV6
  • Событий по добавлению (CREATE) и обновлению (UPDATE) записей типов DOMAIN и URL
  • Событий по удалению (DELETE) записей типов DOMAIN и URL
  • Событий по добавлению (CREATE) и обновлению (UPDATE) записей типов MD5, SHA1 и SHA256
  • Событий по удалению (DELETE) записей типов MD5, SHA1 и SHA256

Настройка контента загрузки фидов​

Для настройки контента по загрузке фидов в табличные списки SIEM необходимо выполнить следующие шаги:

Настройка процесса актуализации конфигурационных списков​

  1. Добавить в набор установки, привязанный к конвейеру (через который планируется обработка фидов), следующие объекты для актуализации конфигурационных активных листов:

    • Normalizer_4rays_TI_Cloud
    • Config_4rays_TI_Cloud_IP_IOC_List
    • Config_4rays_TI_Cloud_Domain_or_URL_IOC_List
    • Config_4rays_TI_Cloud_Hash_IOC_List
    • Profile_4rays_TI_Cloud
  2. Провести установку этого набора в SIEM для активации указанных правил и табличных списков.

Настройка сбора и обработки фидов​

Для настройки профиля и задачи сбора событий для получения и обработки данных о фидах необходимо выполнить следующие действия:

  1. Создайте профиль и задачу сбора событий с префиксом "4rays_TICloud" в названии. Задача будет по мере генерации новых CSV-файлов в директории на системе, где запущен агент Solar TI Feeds Agent, осуществлять сбор и передачу их содержимого на сторону SIEM. Именование CSV-файлов и директория их размещения определяются настройками блока CSVSink (file.name, file.ext) и параметрами монтирования тома агента (директория /workdir/artifacts).

  2. В случае сбора содержимого CSV-файлов с использованием модуля filemonitor в параметрах профиля указать следующие настройки:

    1. Создайте профиль AccordSuciuCsvLog. В папке журнала указать "artifacts": Обработка событий → Папка журнала → указать значение "/workdir/artifacts"
    2. Установить текстовый формат обработки данных: Обработка событий → Обработка данных → выбрать значение "Текст"
    3. Установить построчное чтение файла, в качестве разделителя указать "/n": Обработка событий → Чтение файла → выбрать значение "Построчное" → Разделитель строк указать значение "/n"
    4. После настройки задачи и первичного сбора данных для того, чтобы при повторном запуске задачи ранее прочитанные файлы не были обработаны снова, активировать параметр: Сбор событий → Собирать события, зарегистрированные только после запуска задачи

Примечание: Если в конфигурации агента включена ротация с удалением файлов (FileCfg.maxFiles / FileCfg.maxAge), повторная обработка ранее прочитанных файлов не произойдёт, и пункт 4 можно не использовать.


Настройка агента Solar TI Feeds​

Агент Solar TI Feeds Agent формирует CSV-файлы с индикаторами на основе данных, получаемых из Solar TI Feeds API. Для интеграции с MaxPatrol SIEM используется конфигурация, состоящая из двух pipeline: feeds-api (загрузка данных из API) и siem (выгрузка данных в CSV-файлы).

Полный код конфигурационного файла для интеграции с MP SIEM​

📄 Нажмите, чтобы показать/скрыть siem_pipeline.pkl
amends "package://pkg.pkl-lang.org/github.com/pipelane/pipelaner/pipelaner@1.3.1#/Pipelaner.pkl"
import "package://pkg.pkl-lang.org/github.com/pipelane/pipelaner/pipelaner@1.3.1#/source/Components.pkl"
import "../pkl/internal/agent.pkl"
import "../pkl/internal/templates.pkl"

pipelines {
new Components.Pipeline {
name = "feeds-api"
inputs {
new agent.FeedsAPIGenerator {
name = "feeds-api-generator"
server = templates.TICApiCfg
schedule = (read?("env:TIC_AGENT_API_POOL_INTERVAL") ?? 3600).toInt().s
filter = new agent.FeedsAPIRequestParams {
fields = new Listing {
"all"
}
pagination = new agent.Pagination {
limit = (read?("env:TIC_AGENT_API_BATCH_SIZE") ?? 1000).toInt()
}
}
}
}
sinks {
new agent.FeedsDBSink {
name = "feeds-db-sink"
inputs {
"feeds-api-generator"
}
}
}
}

new Components.Pipeline {
name = "siem"
inputs {
new agent.FeedsDBGenerator {
name = "siem-feeds-db-generator"
schedule = (read?("env:TIC_AGENT_DB_POOL_INTERVAL") ?? 600).toInt().s
delay = (read?("env:TIC_AGENT_DB_START_DELAY") ?? 60).toInt().s
batchSize = (read?("env:TIC_AGENT_DB_BATCH_SIZE") ?? 100).toInt()
batchDelay = (read?("env:TIC_AGENT_DB_BATCH_DELAY") ?? 100).toInt().ms
}
new agent.FeedsDBFailedGenerator {
name = "siem-feeds-db-failed-generator"
feedGenName = "siem-feeds-db-generator"
}
}
sinks {
new agent.CSVSink {
name = "csv-sink"
inputs {
"siem-feeds-db-generator"
"siem-feeds-db-failed-generator"
}
columns {
"*"
}
file {
mode = "rolling"
}
maxLines = 10_000
idleTO = 30.min
withHeaders = false
useJSON = true
}
}
}
}

settings = templates.baseSettings

Структура pipeline​

PipelineНазначение
feeds-apiЗагрузка данных из Solar TI Feeds API и сохранение в локальную SQLite-базу
siemЧтение данных из базы и выгрузка в CSV-файлы для последующего сбора SIEM

Параметры CSVSink​

ПараметрТип данныхЗначение по умолчаниюОписание
columnsListing<String>—Список колонок для выгрузки. В конфигурации указывается "*" (все колонки)
withHeadersBooleantrueВыгружать ли заголовки в CSV. В конфигурации указывается false
useJSONBooleanfalseИспользовать ли JSON-формат записей. В конфигурации указывается true
maxLinesInt0Количество строк в одном файле. Если превышено — создаётся новый файл
idleTODuration0.sВремя без новых данных. Если превышено — создаётся новый файл
fileFileCfg—Настройки файлового вывода (см. ниже)

Параметры FileCfg (настройки файлового вывода)​

ПараметрТип данныхЗначение по умолчаниюОписание
nameString"out"Имя файла
extString"csv"Расширение файла
modeFileMode"append"Режим работы с файлом. В данной конфигурации всегда должно быть "rolling"
maxFilesInt0Ротация: сколько файлов хранить
maxAgeInt0Ротация: как долго хранить файлы
cleanIntervalDuration1.dПериодичность запуска ротации

Переменные окружения​

Для работы интеграции необходимо определить следующие переменные окружения (используются в конфигурационном файле агента):

ПеременнаяНазначениеЗначение по умолчанию
TIC_AGENT_API_POOL_INTERVALИнтервал опроса Solar TI Feeds API (в секундах)3600
TIC_AGENT_API_BATCH_SIZEРазмер пакета при загрузке из API1000
TIC_AGENT_DB_POOL_INTERVALИнтервал чтения из локальной БД (в секундах)600
TIC_AGENT_DB_START_DELAYЗадержка перед первым чтением из БД (в секундах)60
TIC_AGENT_DB_BATCH_SIZEРазмер пакета при чтении из БД100
TIC_AGENT_DB_BATCH_DELAYЗадержка между пакетами при чтении из БД (в миллисекундах)100

Результат работы агента​

При запуске агента в смонтированной директории /workdir/artifacts начнут появляться CSV-файлы с индикаторами. Имя и расширение файлов задаются параметрами file.name и file.ext блока CSVSink, а момент создания нового файла определяется параметрами maxLines и idleTO.

При настройке профиля и задачи сбора событий в MaxPatrol SIEM необходимо указать путь к этой директории — /workdir/artifacts, чтобы SIEM мог обнаруживать и забирать вновь создаваемые CSV-файлы.


Запуск агента Solar TI Feeds​

После выполнения настроек в SIEM, описанных на предыдущих шагах, необходимо запустить агент Solar TI Feeds Agent на системе для генерации CSV-файлов с фидами.

После запуска агента будет сформирован файл первичной выгрузки, в котором будет содержаться актуальная и полная на данный момент база фидов TI Feeds. Следующие файлы будут содержать записи только о тех индикаторах в фидах, для которых произошли изменения со времени предыдущего обновления.


Проверка работоспособности загрузки фидов в списки​

Фиды поступают в SIEM в виде событий, после нормализации доступны для поиска следующими способами:

Сбор данных → Задачи → [выбрать созданную задачу] → Собранные события → Перейти

Или выполните поиск по фильтру:

События → Поиск по фильтру: event_src.vendor = "Solar Security" and event_src.title = "4rays TI Cloud"

Рисунок 2 – Поиск фидов по фильтру в MP SIEM

После проверки наличия нормализованных событий требуется проверить заполнение конфигурационных списков: В разделе Сбор данных → Табличные списки проверьте наполнение списков Config_4rays_TI_Cloud.


Описание контента детектирования​

Контент детектирования сработок по фидам представлен следующим списком объектов:

  1. Правила обогащения:

    • Tech_4rays_TI_Cloud_IOC_Detection;
  2. Правила корреляции:

    • Alert_4rays_TI_Cloud_IOC_Detection;
  3. Табличные списки:

    • Config_4rays_TI_Cloud_Parameters;
    • Exclusion_4rays_TI_Cloud;
    • StopList_4rays_TI_Cloud;
    • Tech_4rays_TI_Cloud_Tracking_Activity;
    • Tech_4rays_TI_Cloud_Hits_Statistics.
  4. Макросы:

    • Filter_4rays_TI_Cloud_Alert_from_Detection_System;
    • Filter_4rays_TI_Cloud_ExternalIP;
    • Filter_4rays_TI_Cloud_Network_Connection;
    • Filter_4rays_TI_Cloud_Proxy;
    • Filter_4rays_TI_Cloud_DNS;
    • Filter_4rays_TI_Cloud_Domain_notin_WL.

Технические поля корреляционных правил:

Поле корреляционного событияОписание
correlation_nameИмя корреляционного правила
correlation_typeТип оповещения
alert.contextИнформация о взаимодействии, информация об индикаторе
alert.keyКлюч корреляции

Описание контента для детектирования взаимодействий с фидами приведено ниже.

Правило обогащения Tech_4rays_TI_Cloud_IOC_Detection​

Основная логика детектирования и работы со списками реализована в правиле обогащения ввиду обработки большого числа событий. Данное правило обрабатывает базовые события. Для передачи технической информации о срабатывании требуется использование одного из полей. В качестве такого поля было выбрано поле datafield10. В случае, если данное поле используется в логике других правил, следует заменить его на другое подходящее в правилах обогащения и корреляции 4rays.

datafield10 = "4rays TI Cloud[IOC: " + $IOC + " Host: " + $Host + " EventType: $EventType]"

При использовании правила обогащения Tech_4rays_TI_Cloud_IOC_Detection не происходит генерация корреляционного события и алерта.

Проверяемые поля базового событияТип паттерна проверкиЛогика правила
src.ipIPAddresssrc.ip удовлетворяет фильтру Filter_4rays_TI_Cloud_ExternalIP
И событие подходит под один из фильтров:
• Filter_4rays_TI_Cloud_Alert_from_Detection_System
• Filter_4rays_TI_Cloud_Network_Connection
И паттерн присутствует в списке Config_4rays_TI_Cloud_IP_IOC_List
dst.ip, dst.portIPAddress, Portdst.ip удовлетворяет фильтру Filter_4rays_TI_Cloud_ExternalIP
И событие подходит под один из фильтров:
• Filter_4rays_TI_Cloud_Alert_from_Detection_System
• Filter_4rays_TI_Cloud_Network_Connection
И один из паттернов присутствует в списке Config_4rays_TI_Cloud_IP_IOC_List
dst.fqdn → dst.hostname → object.name (проверяется первое непустое поле)DomainСобытие подходит под один из фильтров:
• Filter_4rays_TI_Cloud_Proxy
• Filter_4rays_TI_Cloud_Alert_from_Detection_System
И один из паттернов присутствует в списке Config_4rays_TI_Cloud_Domain_or_URL_IOC_List
Проверяемое поле определяется источником: object.value ИЛИ object.query ИЛИ datafield1DomainСобытие подходит под оба фильтра:
• Filter_4rays_TI_Cloud_DNS
• Filter_4rays_TI_Cloud_Domain_notin_WL
И один из паттернов присутствует в списке Config_4rays_TI_Cloud_Domain_or_URL_IOC_List
Проверяемое поле определяется источником: object.value ИЛИ datafield2 ИЛИ object.fullpath → object.path → object.query → datafield1 (проверяется первое непустое поле)URLСобытие подходит под один из фильтров:
• Filter_4rays_TI_Cloud_Proxy
• Filter_4rays_TI_Cloud_Alert_from_Detection_System
И один из паттернов присутствует в списке Config_4rays_TI_Cloud_Domain_or_URL_IOC_List
object.process.hash.md5 → object.hash.md5 → object.hash ИЛИ object.process.hash.sha1 → object.hash.sha1 → object.hash ИЛИ object.process.hash.sha256 → object.hash.sha256 → object.hash ИЛИ subject.process.hash.sha256 → subject.process.hash ИЛИ subject.process.hash (проверяется первое непустое поле)HashЗначение поля object равно "process" или "file" или "resource" или "malware" или "module" или "handle" или "file_object" или "reg_object" или "system" или "connection" или "port" или "attack"
И хотя бы одно из полей хеша не равно null
И паттерн присутствует в списке Config_4rays_TI_Cloud_Hash_IOC_List

Примечания по правилу обогащения Tech_4rays_TI_Cloud_IOC_Detection:

  • Фильтр (макрос) Filter_4rays_TI_Cloud_Alert_from_Detection_System доступен для изменения с учетом СЗИ инфраструктуры (по умолчанию фильтр заполнен условиями на события наиболее распространенных источников категории СЗИ).
  • Фильтры (макросы) Filter_4rays_TI_Cloud_Network_Connection, Filter_4rays_TI_Cloud_Proxy, Filter_4rays_TI_Cloud_DNS содержат условия на наиболее распространенные источники соответствующих категорий. Для категории DNS также определен фильтр для дополнительной фильтрации Filter_4rays_TI_Cloud_Domain_notin_WL.

В правиле реализована логика детектирования на основе зоны индикатора и статистики срабатываний. Событие отправляется в коррелятор, если выполняется одно из условий:

  • Событие получено от СЗИ;
  • Зафиксировано взаимодействие с индикатором зоны MALICIOUS или SUSPICIOUS;
  • Зафиксировано взаимодействие с индикатором зоны UNKNOWN.

И выполняется хотя бы одно из условий:

  • В течение 2 суток зафиксировано >= N событий взаимодействия:
    • Конкретного хоста с любым из фидов базы;
    • Конкретного индикатора зоны UNKNOWN с любым из хостов.
  • На протяжении >= M последних суток фиксируются взаимодействия:
    • Конкретного хоста с любым из фидов базы;
    • Конкретного индикатора зоны UNKNOWN с любым из хостов.

Пороговые значения срабатываний определяются в конфигурационном справочнике Config_4rays_TI_Cloud_Parameters (по умолчанию параметр N = 10 событий, параметр M = 3 суток).

Особенности работы правила обогащения:

  • Проводит фильтрацию активности, заданной в справочнике с исключениями Exclusion_4rays_TI_Cloud;
  • Заполняет информационный профиль срабатываний Tech_4rays_TI_Cloud_Hits_Statistics (TTL = 30d), анализ которого позволяет увидеть все взаимодействия с индикаторами фидов за последние 30 суток;
  • Заполняет технический список Tech_4rays_TI_Cloud_Tracking_Activity (TTL = 2d), который используется для генерации статистических корреляций;
  • Фиксирует срабатывание логики детектирования в стоп-листе StopList_4rays_TI_Cloud (TTL = 1h), ограничивая генерацию корреляционных событий, при этом срабатывания доступны для анализа в списке Tech_4rays_TI_Cloud_Hits_Statistics.

Правило корреляции Alert_4rays_TI_Cloud_IOC_Detection​

Логика правилаГенерация корреляционного события и алерта
datafield10 contains "4rays TI Cloud"
И
$indicator_zone = "MALICIOUS"
Корреляционное событие с критичностью High,
алерт с критичностью High + Инцидент
datafield10 contains "4rays TI Cloud"
И
событие подходит под фильтр Filter_4rays_TI_Cloud_Alert_from_Detection_System
Корреляционное событие с критичностью High
datafield10 contains "4rays TI Cloud: detect"
И
событие НЕ подходит под фильтр Filter_4rays_TI_Cloud_Alert_from_Detection_System
Корреляционное событие с критичностью Medium

Уникальными ключевыми полями алерта у правила корреляции Alert_4rays_TI_Cloud_IOC_Detection является комбинация полей $ioc_feeds (источник фида), $ioc (значение индикатора) и $host (хост, взаимодействовавший с индикатором).


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

Для настройки контента детектирования необходимо выполнить следующие действия:

  1. Добавить в набор установки, привязанный к конвейеру (через который планируется обработка фидов), следующие объекты:

    • Tech_4rays_TI_Cloud_IOC_Detection;
    • Alert_4rays_TI_Cloud_IOC_Detection;
    • Config_4rays_TI_Cloud_Parameters;
    • Exclusion_4rays_TI_Cloud;
    • StopList_4rays_TI_Cloud;
    • Tech_4rays_TI_Cloud_Tracking_Activity;
    • Tech_4rays_TI_Cloud_Hits_Statistics.
  2. Провести установку в SIEM обновлённого набора установки для активации указанных правил и табличных списков.


Примеры корреляционных срабатываний​

Правило Alert_4rays_TI_Cloud_IOC_Detection с критичностью High + Инцидент на индикатор с зоной MALICIOUS​

Пример срабатывания корреляционного правила Alert_4rays_TI_Cloud_IOC_Detection с критичностью High + Инцидент на индикатор с зоной MALICIOUS представлен на рисунках:

Рисунок 3 – Пример срабатывания индикатора с зоной MALICIOUS Рисунок 4 – Параметры корреляции срабатывания индикатора с зоной MALICIOUS


Правило Alert_4rays_TI_Cloud_IOC_Detection с критичностью Medium на индикатор с зоной SUSPICIOUS​

Пример срабатывания корреляционного правила Alert_4rays_TI_Cloud_IOC_Detection с критичностью Medium на индикатор с зоной SUSPICIOUS представлен на рисунке:

Рисунок 5 – Пример срабатывания Medium индикатора с зоной SUSPICIOUS


Правило Alert_4rays_TI_Cloud_IOC_Detection с критичностью Medium на индикатор с зоной UNKNOWN​

Пример срабатывания корреляционного правила Alert_4rays_TI_Cloud_IOC_Detection с критичностью Medium на индикатор с зоной UNKNOWN представлен на рисунке:

Рисунок 6 – Пример срабатывания Medium индикатора с зоной UNKNOWN


Правило Alert_4rays_TI_Cloud_IOC_Detection с критичностью High на индикатор с зоной MALICIOUS​

Пример срабатывания корреляционного правила Alert_4rays_TI_Cloud_IOC_Detection с критичностью High на индикатор с зоной MALICIOUS представлен на рисунке:

Рисунок 7 – Пример срабатывания High индикатора с зоной MALICIOUS Рисунок 8 – Пример срабатывания High индикатора с зоной MALICIOUS