Обогащение

Интеграция с Active Directory (LDAP-обогащение)

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

Официальная документация по данному разделу приведена в Онлайн-справке на продукт: https://support.kaspersky.com/KUMA/4.0/ru-RU/217926.htm 

Видео «Обогащение событий данными с LDAP сервера»:
https://rutube.ru/video/e07d36a0ad26ad29143c4aca8e58c672/?playlist=540937

При наличии интеграции KUMA cо службой каталогов Active Directory появляется возможность импортировать информацию о доменных учетных записях пользователей. Перечень импортируемых атрибутов доступен в онлайн-справке.

После настройки интеграции информация об учетных записях Active Directory становится доступной в карточке событий, окне алертов и инцидентов. Данные из LDAP можно использовать при обогащении событий в коллекторах и в аналитике. Также становится доступным возможность ручного или автоматического запуска действий по реагированию через Active Directory:

Настройка интеграции KUMA с Active Directory включает следующие этапы:


Создание секрета в KUMA

Для импорта информации о доменных учетных записях пользователей предварительно создайте в домене сервисную учетную запись, которая будет использоваться для интеграции KUMA c Active Directory.

После создания сервисной учетной записи требуется добавить секрет в веб-интерфейсе KUMA. Этот ресурс будет хранить учетные данные для подключения к Active Directory. Чтобы создать секрет в KUMA выполните следующие действия:

image295.png

Из соображений безопасности после сохранения секрета строки, указанные в полях Пользователь и Пароль, скрываются


Создание подключения к LDAP-серверу

Чтобы создать LDAP-подключение к Active Directory:

image.png

image.png

LDAP-подключение к Active Directory создано и отображается в окне Интеграция с LDAP-сервером. Нажмите Добавить.


Импорт информации о пользователях из Active Directory

Чтобы выполнить импорт информации о пользователях из Active Directory:

image.png

image299.png

Информация об учетных записях успешно импортирована.


Настройка обогащения событий данными Active Directory

Обогащение событий данными Active Directory настраивается на уровне коллектора и позволяет дополнить события информацией о доменных учетных записях (атрибутах, импортированных из AD). На основе полученных атрибутов доступно выполнение действий по реагированию с помощью Active Directory, а также написание правил корреляции по атрибуту memberOf. Остальные атрибуты, импортируемые из AD, служат справочной информацией и используются при расследовании алертов и инцидентов.

Чтобы настроить обогащение событий данными Active Directory:

image300.png

image301.png

В случае, если Вы не знаете полного наименования домена для импортированных учетных записей, подключитесь к компоненту Ядра KUMA по SSH. Далее воспользуйтесь следующей статьей.

image302.png

image303.png

Поэтому в данном случае для корректной работы LDAP-обогащения необходимо добавить правило обогащения, с помощью которого NetBIOS-имя в полях  SourceNtDomain/DestinationNtDomain будет преобразовано в DNS-имя домена.

Для большого количества доменов рекомендуется настроить обогащение через словарь.

Для настройки правила обогащения:

image304.png

image305.png

image306.png


Проверка работы обогащения

SELECT * FROM `events` WHERE SourceAccountID !='' OR DestinationAccountID!='' ORDER BY Timestamp DESC LIMIT 250

image308.png

image309.png

Обогащение событий Windows данными Active Directory настроено.

Если обогащение событий информацией из Active Directory не выполняется, попробуйте указать только те домены, которые есть в базе Ядра KUMA. Если эта рекомендация не помогла - попробуйте сделать обогащение только по одному домену.

GeoIP-обогащение (Геоданными)

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

Официальная документация по данному разделу приведена в Онлайн-справке на продукт: https://support.kaspersky.com/KUMA/3.2/ru-RU/233257.htm 

Скачанная и конвертированная база (IP2Location) - https://box.kaspersky.com/d/c77609e6f5bd463b8f56/ 

Конвертация mmdb файла базы в CSV для KUMA - https://github.com/KUMA-Community/mmdb2kuma 

Российская база (требуется регистрация) - https://geoip.noc.gov.ru/ 

Скачивание БД

IP2Location

Чтобы скачать базы необходимо зарегистрироваться.  После регистрации и входа на сайт переходим по ссылке:  https://lite.ip2location.com/database-download 
И выбираем нужную нам БД (есть для ipv4 и ipv6) и скачиваем.

image.png

MAXMIND

Скачивание БД также доступно после регистрации. Также при регистрации проверяется соответствие выбранной странны и ip, с которого вы регистрируетесь. При этом при выборе страны отсутствует Россия. Возможно проблему можно решить через VPN.


Конвертация БД

Перед импортом базы ее необходимо конвертировать в формат, понятный KUMA. Для конвертации данных используется скрипт. Актуальный скрипт и команды запуска тут: https://support.kaspersky.com/help/KUMA/2.1/ru-RU/233259.htm 

В простейшем случае команда запуска выглядит так: 
python converter.py --type ip2location --input IP2LOCATION-LITE-DB11.CSV.ZIP --out geoip_ip2location.csv
После запуска нужно подождать 20-30 сек и в случае успешной конвертации получим файл CSV:

image.png


Загрузка БД в KUMA

Загрузка БД (предварительно сконвертированной скриптом!) осуществляется по пути: Settings - Common - GeoIP settings - Import from file

image.png

После добавления БД необходимо перезапустить все сервисы, где настроено обогащение по GeoIP (при выполнении тестов было достаточно выполнить reload, а не restart)

image.png

При импорте нового файла с данными GeoIP ранее добавленные данные перезапишутся (с созданием события аудита). Поэтому если нужно внести незначительные изменения для кастомизации сопоставления рекомендуется скачать текущую БД из интерфейса KUMA, после чего внести туда изменения и подгрузить обратно.

image.png


Обогащение GeoIP

image.png


Сопоставление по умолчанию доступно, если в качестве источника IP выбрано одно из полей событий SourceAddress, DestinationAddress и DeviceAddress. 
При выборе других полей в качестве источника сопоставление по умолчанию не доступно.

image.png

image.png

Далее нужно созданное правило выше закрепить в коллекторе в части обогащения. Пример того, как выглядит обогащенное событие:

image.png


Формат файла CSV:

Network,Country,Region,City,Latitude,Longitude
10.0.0.0/8,Russia,Moscow,Butovo,,
192.168.0.0/16,Russia,SPB,Zelenograd,,

Интеграция CyberTrace с KUMA

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

Официальная документация по данному разделу приведена в Онлайн-справке на продукт: https://support.kaspersky.com/help/KUMA/4.0/ru-RU/217924.htm

Онлайн-справка Kaspersky CyberTrace:
https://support.kaspersky.ru/cyber-trace/5.3

Описание CyberTrace 

Обучающие видео по Kaspersky CyberTrace: https://rutube.ru/plst/1042259/

Ссылка на актуальный дистрибутив CyberTrace: https://support.kaspersky.com/datafeeds/download/15920#block0 

Kaspersky CyberTrace — это платформа анализа киберугроз (Threat Intelligence Platform), которая агрегирует индикаторы компрометации из различных источников, в том числе из потоков данных об угрозах Лаборатории Касперского, и поддерживает интеграцию с SIEM-системами для автоматического поиска индикаторов компрометации (IoC) в событиях ИБ. В случае обнаружения IoC в событии ИБ CyberTrace автоматически отправляет в SIEM сообщение об обнаруженном индикаторе, вместе с дополнительной контекстной информацией.

Вы можете интегрировать CyberTrace с KUMA одним из следующих способов:

Возможность развертывания и использования CyberTrace с потоками данных об угрозах Лаборатории Касперского доступна при наличии модуля TI KUMA или приобретении отдельной лицензии CyberTrace.

Интеграция KUMA с веб-интерфейсом CyberTrace доступна только для лицензии CyberTrace TIP Enterprise (доступна при наличии модуля TI KUMA или в рамках отдельной лицензии CyberTrace).


Аппаратные и программые требования

Аппаратные и программные требования доступны по ссылке:
https://support.kaspersky.ru/cyber-trace/5.3/162509

Руководство по выбору аппаратной конфигурации:
https://support.kaspersky.ru/cyber-trace/5.3/270237

Примеры требований для трех распространенных режимов использования Kaspersky CyberTrace:
https://support.kaspersky.ru/cyber-trace/5.3/270383

Для загрузки потоков данных об угрозах Лаборатории Касперского CyberTrace требуется доступ до адреса https://wlinfo.kaspersky.com (TCP/443).
Важно: НЕ должен подменяться сертификат (SSL inspection) на периметре при доступе к ресурсу. Для загрузки других потоков данных об угрозах может потребоваться доступ в зависимости от их размещения.


Установка CyberTrace в ОС Linux

В ОС Linux CyberTrace можно установить двумя способами:

При этом типе установки запускается скрипт установки run.sh. Скрипт установки устанавливает пакет RPM и запускает конфигуратор. Конфигуратор генерирует сертификаты для веб-интерфейса Kaspersky CyberTrace и настраивает базу данных индикаторов Elasticsearch.

Аналогична установке пакета RPM.

Рекомендуется перед установкой CyberTrace установить и запустить антивирусное программное обеспечение, а также настроить списки исключений (на примере KES).

В рамках статьи рассматривается пример установки CyberTrace в ОС Ubuntu с использованием DEB-пакета.

В результате установки CyberTrace в операционной системе создаются два сервиса:

CyberTrace устанавливается в каталог /opt/kaspersky/ktfs.

Учетная запись пользователя, выполняющего установку пакета DEB, должна иметь права root.

Чтобы установить пакет DEB Kaspersky CyberTrace, выполните следующие действия:

tar -C %temp_dir% -xvzf Kaspersky_CyberTrace-Linux-x86_64-%VERSION%-DEB.tar.gz --no-same-owner

Пакет DEB, скрипт установки и документация распаковываются в этот каталог.

У архива может быть другое имя, например %SIEM%-deb.tar.gz. Можно использовать имя как есть или переименовать архив командой mv.

image.png

./run.sh install

Скрипт установки установит пакет DEB и добавит Kaspersky CyberTrace Service в список сервисов, которые systemd запускает при загрузке системы. Kaspersky CyberTrace Service будет запускаться автоматически при загрузке системы.

image311.png

Статья онлайн-справки «Установка в ОС Linux»:
https://support.kaspersky.ru/cyber-trace/5.3/165522

Статья онлайн-справки «Установка в ОС Windows»:
https://support.kaspersky.ru/cyber-trace/5.3/165581


Настройка CyberTrace

При первом входе в веб-интерфейс CyberTrace после установки появится окно мастера первоначальной настройки (Initial Setup Wizard), в котором:

image312.png

image313.png

image314.png

image315.png 

Для получения коммерческого сертификата обратитесь к сотрудникам Лаборатории Касперского или представителям партнера, который проводит пилотное тестирование.

image316.png

image317.png

image318.png

После завершения первоначальной настройки рекомендуется изменить пароль администратора, используемый по умолчанию 


Проверка загрузки индикаторов компрометации

Чтобы проверить, что индикаторы компрометации, выбранных потоков данных об угрозах, успешно загружены в CyberTrace:

 image319.png

image320.png

image321.png


Настройка обогащения событий

Начиная с версии 3.2 в KUMA доступно 2 варианта интеграции с CyberTrace для потокового обогащения событий данными об индикаторах компрометации:

Интеграция с использованием API CyberTrace 

image.png

В качестве ключевых полей необходимо указывать поля, в которых присутствует внешний IP-адрес/домен/URL/хеш-сумма файла. Например, поля FileHash, DestinationHostName и другие. 

image.png

Пример готового кода для добавления в правило обогащения:

SourceAddress insubnet [
  '10.0.0.0/8',
  '172.16.0.0/12',
  '192.168.0.0/16'
]
AND NOT DestinationAddress insubnet [
  '10.0.0.0/8',
  '172.16.0.0/12',
  '192.168.0.0/16'
]

Укажите поля DestinationHostName | RequestURL и DestinationNtDomain | DestinationDnsDomain, потому что в событии может быть только одно поле из пары. Если есть оба поля, коннектор CyberTrace в KUMA возьмет только уникальное значение и отправит в CyberTrace на анализ

Если объекты (IP, URL, Domain, Hash) расположены в “кастомных” полях, напр., DeviceCustomString1, то можно создать отдельное правило обогащения, в котором в качестве ключевого поля будет указано необходимое "кастомное" поле/поля

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

Рекомендуется применять правила обогащения в Коллекторах, которые обрабатывают события приложений, сетевого оборудования или средств защиты, в которых есть внешние домены/URL/IP-адреса или хеш-суммы файлов

Создайте новый сервис коллектора, выбрав на шаге Парсинг событий нормализатор [OOTB] CEF. В качестве коннектор укажите тип TCP.

image325.png

Чтобы добавить созданное ранее правило обогащения событий данными об индикаторах компрометации в коллектор:

image326.png

image327.png

image328.png


Проверка работы обогащения Kaspersky CyberTrace

Чтобы проверить корректность работы правила обогащения и интеграции с Kaspersky CyberTrace:

nc <IP-адрес сервера KUMA> <порт коллектора> <<< 'CEF:Version|Device Vendor|Device Product|Device Version|Signature ID|Name|Severity|src=10.1.1.1 dst=192.0.2.3'

image.png

nc <IP-адрес сервера KUMA> <порт коллектора> <<< 'CEF:Version|Device Vendor|Device Product|Device Version|Signature ID|Name|Severity|src=10.1.1.1 request=http://a7396d61caffe18a4cffbb3b428c9b60.com'

image.png

image331.png

image332.png

image333.png

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

SELECT * FROM `events` WHERE TI !='' ORDER BY Timestamp DESC LIMIT 250

Для создания алертов и отслеживания обращений к IP-адресам/доменам/URL, информация о которых есть в фидах CyberTrace, необходимо привязать к коррелятору следующие правила корреляции из SOC Package: 
 R201_Обнаружено соединение с подозрительным IP-адресом
 R202_Обнаружено обращение на подозрительный Domain
 R203_Обнаружено обращение на подозрительный URL

Количество обнаружений на основе объектов (IP/домены/URL/хеш-суммы файлов), полученных от KUMA, можно просмотреть в виджете Обзор статистики CyberTrace. Для этого:

image334.png

Чтобы просмотреть обнаруженные индикаторы компрометации во входящих событиях:

image335.png


Интеграция интерфейса CyberTrace

Вы можете интегрировать веб-интерфейс CyberTrace в веб-интерфейс KUMA. Когда эта интеграция настроена и включена, в веб-интерфейсе KUMA появляется раздел CyberTrace с доступом к веб-интерфейсу CyberTrace.

Чтобы интегрировать веб-интерфейс CyberTrace в KUMA:

image336.png

Учетные данные сервера CyberTrace сохранены и могут использоваться в других ресурсах KUMA.

image.png

image338.png

Обновление списка запрещенных объектов CyberTrace (Internal TI)

После интеграции веб-интерфейса CyberTrace в веб-интерфейс KUMA появляется возможность вручную формировать внутренний BlackList из объектов, которые встречаются в событиях KUMA. Данный BlackList (в терминологии CyberTrace фид «Internal TI») будет хранится в CyberTrace и может быть использован для обогащения событий и поиска индикаторов компрометации по аналогии с коммерческими фидами.  

Чтобы добавить объект в фид Internal TI CyberTrace:

Выбранный объект добавлен в список запрещенных объектов в CyberTrace.

image339.png

Чтобы просмотреть перечень объектов, добавленных в фид Internal TI CyberTrace:

Нажав на значение индикатора можно просмотреть сведения об индикаторе и  при необходимости добавить дополнительные атрибуты.

image340.png


Приложение А. Интеграция с помощью Kaspersky CyberTrace Service

Чтобы настроить обогащение событий данными об индикаторах компрометации с использованием Kaspersky CyberTrace Service создайте правило обогащения:

image322.png

В качестве отправляемых полей необходимо указывать поля, в которых присутствует внешний IP-адрес/домен/URL/хеш-сумма файла. Например, поля FileHash, DestinationHostName и другие.

SourceAddress insubnet [
  '10.0.0.0/8',
  '172.16.0.0/12',
  '192.168.0.0/16'
]
AND NOT DestinationAddress insubnet [
  '10.0.0.0/8',
  '172.16.0.0/12',
  '192.168.0.0/16'
]

    Правило обогащения будет применяться к событиям, в которых внутренний IP-адрес обращается к внешнему IP-адресу.

image323.png

image324.png

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

Рекомендуется применять правила обогащения в Коллекторах, которые обрабатывают события приложений, сетевого оборудования или средств защиты, в которых есть внешние домены/URL/IP-адреса или хеш-суммы файлов

Создайте новый сервис коллектора, выбрав на шаге Парсинг событий нормализатор [OOTB] CEF. В качестве коннектор укажите тип TCP.

image325.png

Чтобы добавить созданное ранее правило обогащения событий данными об индикаторах компрометации в коллектор:

image326.png

image327.png

image328.png

DNS-обогащение

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

Официальная документация по данному разделу приведена в Онлайн-справке на продукт: https://support.kaspersky.com/KUMA/3.2/ru-RU/217863.htm

Обогащение DNS

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

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

Важный момент, DNS обогащение работает только для серых сетей

Обогащение происходит если: целевые поля пустые и если резолвится PTR из IP, то будут резолвиться только серые IP

"Cache TTL" в настройках DNS Обогащения (Дефолтовое значение 60 сек), работает следующим образом:

Поле настройки URL - не обязательно. Если оставить пустым, то при обогащении будут использоваться системные настройки сервера. Соответственно, если DNS в ОС серверов коллекторов разные - то и обогащение будет разное

Если событие с адресом 127.0.0.1, то можно перед DNS обогащением в коллекторе в парсинге добавить затирание deviceAddress, если оно равно 127.0.0.1, тогда обогащение DNS должно произойти


Настройка на стороне KUMA

Для повышения прозводительности, можно изменять число рабочих процессов коллектора (1 шаг настройки) / самого правила обогащения (для асинхронных задач эффективнее работа)

В разделе Ресурсы - Правила Обогащения создаем новое правило, ниже пример типового обогащения для DNS:

image.png

Далее созданное правило обогащения выше необходимо закрепить в коллекторе в части обогащения.

Обогащение событий KSMG ссылкой на сообщение, помещенное в хранилище

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

Для нормализации событий KSMG в KUMA применяется нормализатор [OOTB] KSMG 2.1+ syslog CEF

Хранилище сообщений KSMG

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

Для сохранения оригинала сообщения в Хранилище в параметрах модуля KSMG должен быть активирован параметр Поместить исходное сообщение в Хранилище. Сообщения помещаются в Хранилище вместе с вложениями. 

image.png

Создание правила обогащения в KUMA

Чтобы настроить обогащение событий KSMG ссылкой на почтовое сообщение, помещенное в Хранилище KSMG, создайте правило обогащения:

https://{{.DeviceAddress}}/ru_RU/#/backup?filter=[{"field":"smtp_message_id","condition":"CONTAIN","value":"{{.DeviceCustomString1}}"}]
Name = 'message backup result'
OR (
S.BackupResult = 'BackedUp'
AND
Name = 'message result'
)
    • Нажмите Создать.

image.png

Далее созданное правило обогащения необходимо применить в Коллекторе для приема и обработки событий KSMG.

Применение правила обогащения в коллекторе KSMG

Чтобы добавить созданное правило обогащения в Коллекторе для приема и обработки событий KSMG:

image.png

image.png

image.png

Проверка перехода в хранилище KSMG из карточки события KUMA

SELECT *
FROM `events`
WHERE Name = 'message backup result' AND DeviceProduct = 'KSMG' 
ORDER BY Timestamp DESC
LIMIT 250

ИЛИ

SELECT *
FROM `events`
WHERE Name = 'message result' AND DeviceProduct = 'KSMG' 
ORDER BY Timestamp DESC
LIMIT 250

image.png

image.png

image.png

image.png

image.png

image.png

Обогащение событий информацией об Активах

Начиная с версии 4.0 обогащение активами стало явным. Теперь для настройки обогащения необходимо создать и добавить на коллектор правило обогащения типа "обогащение активами".

Обогащения созданные до обновления остаются как inline-ресурсы, а все созданные после обновления коллекторы не будут иметь встроенного обогащения, его необходимо настроить самостоятельно.

Подробности см. https://support.kaspersky.ru/kuma/4.2/307279 

Активы могут попасть в KUMA следующими способами:

Коллекторы KUMA с периодически получают списки асcетов (активов) от ядра KUMA и хранят их памяти в виде таблиц, позволяющих определить AssetID по IP адресу и/или FQDN.

У ассета может быть указан массив значений IP и/или FQDN. Обогащение проверяет все IP ассета и/или FQDN.

Про склейку информации об активах, подробнее тут: https://support.kaspersky.com/help/KUMA/3.2/ru-RU/243031.htm 

При поступлении события в коллектор, коллектор выполняет:

После чего события, обогащенные информацией об ассетах направляются в коррелятор и/или хранилище.

Пример обогащенного события (при нажатии открывается карточка актива):

image.png

Правила обогащения информацией об активах

Информация в событии Информация в карточке актива Будет ли обогащение
IP IP + FQDN Да
FQDN IP + FQDN Да
IP + FQDN IP + FQDN Да
IP IP Да
FQDN IP Нет
IP + FQDN IP Нет
IP FQDN Нет
FQDN FQDN Да
IP + FQDN FQDN Да

Обогащение произвольного поля с утилитой Tracer

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

image.png

Утилита (скрипт) была написана для получения возможности обогощать событие по значению поля со сторонних систем с использованием языка программирования Python3. Tracer.py мимикрирует под механизм обогащения аналогично CyberTrace, с обогащенными данными можно работать подобно обогащению Threat Intelligence. Утилита может работать как на Linux (рекомендуется), так и Windows платформах (ОС).

Для продвинутых пользователей! Для работы с Tracer.py требуются навыки программирования Python3

Скрипт можно загрузить по ссылке в Пресейл-Паке контенте.

Необходимые библиотеки для работы Tracer.py:

  • import socket
  • from select import select
  • from signal import signal
  • from sys import platform
  • from re import match
  • from datetime import datetime
  • from dateutil.relativedelta import relativedelta

Для использования TCP_FASTOPEN (рекомендуется) на ОС Linux выполните команду ниже:

echo 3 > /proc/sys/net/ipv4/tcp_fastopen

Предварительные правки для Tracer.py:

На стороне KUMA нужно прописать следующее обогащение:

image.png

По картинке выше, обогащается значение поля Code и сопоставляется с полем Tracer - url. Производительность скрипта состовляет ~ 50 EPS, при рекомендуемой настройке Enrichment: 50 connections и 100 RPS.

Возможно использовать только поле url в сопоставлении, но туда можно поместить произвольные данные

При обогащении события получаем следующие обогащенные данные:

image.png

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

image.png

Интеграция OpenCTI и KUMA

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

Ссылка на репозиторий https://github.com/KUMA-Community/KumaOpenctiLookupProxy 

В современных SOC-инфраструктурах эффективность анализа событий безопасности напрямую зависит от актуальных данных Threat Intelligence. Интеграция платформы OpenCTI с SIEM-системой Kaspersky Unified Monitoring and Analysis Platform (KUMA) позволяет использовать данные о киберугрозах для обогащения событий безопасности и ускорения расследования инцидентов.

Основная задача интеграции — автоматическая проверка индикаторов компрометации (IoC), обнаруженных в событиях KUMA, по базе Threat Intelligence OpenCTI. При нахождении совпадений события дополняются контекстной информацией: описанием индикатора, источником, уровнем доверия и связанными аналитическими отчётами.

Возможности интеграции:

Таким образом, OpenCTI выступает централизованным источником данных о киберугрозах для KUMA, обеспечивая дополнительный уровень контекстного анализа и повышая качество обнаружения атак.


Архитектура интеграции

Интеграция реализована через промежуточный сервис OpenCTI-KUMA Lookup Proxy — HTTP-сервис, принимающий запросы от KUMA и преобразующий их в запросы к API OpenCTI.

Функции сервиса:

Компоненты и технический стек

Сервис реализован на Python с использованием фреймворка FastAPI и развёрнут в Docker-контейнере на сервере OpenCTI в рамках той же Docker-сети.

Для запуска используется Gunicorn с Uvicorn workers, что обеспечивает эффективную обработку параллельных запросов. Количество worker-процессов рассчитывается по формуле:

workers = 2 × CPU + 1

Каждый worker — это отдельный процесс, обслуживающий множество асинхронных HTTP-запросов.

Для доступа к сервису извне используется Nginx в роли reverse-proxy: он публикует порт 8000 и обеспечивает доступ по HTTPS. Сост

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

Переменная Описание
LOOKUP_BASIC_USER Имя пользователя для подключения KUMA к сервису
LOOKUP_BASIC_PASSWORD Пароль для подключения KUMA к сервису
OPENCTI_TOKEN Bearer-токен сервисного пользователя OpenCTI

KUMA обращается к сервису с использованием Basic Authentication, а сам сервис выполняет запросы к OpenCTI с Bearer-токеном сервисного пользователя.


Настройка пользователя в OpenCTI

Для работы интеграции необходимо создать отдельного сервисного пользователя в OpenCTI.

  1. Перейдите в Settings → Security → Users и нажмите Create User.
  2. В окне New User укажите Name — имя пользователя.
  3. Добавьте пользователя в заранее созданную группу Integration.
  4. Отметьте пользователя как Service Account.
  5. Откройте профиль пользователя и скопируйте API Token — он будет использоваться сервисом для обращения к GraphQL API OpenCTI.

Примечание: группа Integration должна иметь роль с правами только на чтение в соответствии с принципом минимально необходимых привилегий.


API сервиса OpenCTI-KUMA Lookup Proxy

Сервис предоставляет два HTTP endpoint:

Метод Endpoint Назначение
POST /api/1.1/lookup Проверка индикаторов (используется KUMA)
GET /health Мониторинг состояния сервиса

Обработка запроса

KUMA отправляет список индикаторов в формате JSON. Каждый элемент массива содержит значение индикатора для проверки в OpenCTI.

Сервис обрабатывает запрос в три этапа:

  1. Аутентификация — проверка заголовка Authorization: Basic base64(user:password). Значения сравниваются с LOOKUP_BASIC_USER и LOOKUP_BASIC_PASSWORD. При несоответствии запрос отклоняется.

  2. Нормализация индикаторов — например, из URL-адреса дополнительно извлекаются доменное имя и IP-адрес для расширения области поиска.

  3. Поиск в OpenCTI через GraphQL API — сначала среди объектов Indicators, затем, при отсутствии совпадений, среди Observables. Для авторизации используется API-токен сервисного пользователя.

Поля обогащения

При обнаружении индикатора в OpenCTI событие KUMA обогащается следующими данными:

Поле Описание
description / x_opencti_description Описание индикатора
pattern STIX-паттерн индикатора
created_at Дата создания
updated_at Дата последнего обновления
valid_from Дата начала актуальности индикатора
valid_until Дата окончания актуальности индикатора
x_opencti_score Степень доверия от 0 до 100
objectLabel Теги индикатора / наблюдаемого объекта
createdBy Источник информации
reports Связанные аналитические отчёты (при наличии)

image.png

image.png


Настройка на стороне KUMA

Для интеграции в KUMA используется механизм cybertrace-http, обеспечивающий потоковое обогащение событий.

1. Создание секрета

Перейдите в Ресурсы → Секреты → Добавить и заполните параметры:

Параметр Значение
Название <название секрета>
Тенант <название тенанта, например, Main>
Тип credentials
Пользователь <LOOKUP_BASIC_USER>
Пароль <LOOKUP_BASIC_PASSWORD>
Описание (опционально)

2. Создание правила обогащения

Перейдите в Ресурсы → Правила обогащения → Добавить и заполните параметры:

Параметр Значение
Название <название правила обогащения>
Тенант <название тенанта, например, Main>
Исходный тип cybertrace-http
URL <IP-адрес/FQDN сервера OpenCTI:порт>
Секрет <секрет, созданный на предыдущем шаге>
Ключевые поля <поля, значения которых передаются в OpenCTI на анализ>
Время ожидания 0
Макс. кол-во событий в очереди 1 000 000
Описание (опционально)
Параметры фильтра <условия срабатывания правила, например: внутренние IP → внешние IP>

3. Подключение правила к коррелятору

После создания добавьте правило обогащения на нужный коррелятор.

image.png

Производительность и рекомендации

Количество запросов к сервису OpenCTI-KUMA Lookup Proxy не ограничено жёстко в коде, однако зависит от:

OpenCTI хранит данные в Elasticsearch в виде графовой модели STIX:

Сложные графовые запросы могут существенно снижать производительность, поэтому не рекомендуется использовать интеграцию для обогащения всего потока событий.

Рекомендуется применять интеграцию для:

Пример работы

В качестве примера рассмотрим детектирование обращений к вредоносным IP-адресам из командной строки. Для этого:

1. В нормализатор событий Windows Event ID 4688 добавьте извлечение IP-адресов из командной строки (*названия полей могут отличаться с учетом Вашей схемы нормализации).

image.png

2. Отредактируйте правило обогащения (названия полей могут отличаться с учетом Вашей схемы нормализации). В разделе «Ключевые поля» укажите поле, в которое записывается IP адрес при его обнаружении в командной строке, тем самым «сужая» фильтр поиска событий для обогащения. Пример настройки правила обогащения ниже:

image.png

3. Сохраните и обновите параметры коллектора.

image.png

4. Создайте правило корреляции с фильтром: 

DeviceEventClassID = 4688
AND DeviceProduct = 'Windows'
AND DeviceVendor = 'Microsoft'
AND SourceProcessName icontains [
  'cmd.exe',
  'powershell.exe'
]
AND tidetect('', Reason)

image.png

5. Привяжите правило к коррелятору. После выполнения настроек необходимо сохранить и обновить (можно и перезапустить) параметры коррелятора.

Таким образом, KUMA может обнаруживать обращения к вредоносным IP-адресам, выполняемым из командной строки, и автоматически обогащать такие события данными Threat Intelligence.