anomaly
Процессор anomaly
Процессор anomaly обогащает события результатами оценки аномальности от ML-сервиса KOMRAD. Для каждого события процессор извлекает значение ключевого поля (entity) и запрашивает оценку аномальности у сервиса машинного обучения.
Предварительные требования
- ML-сервис KOMRAD запущен и доступен
- Настроено задание (job) обнаружения аномалий
Конфигурация
processors:
- module: anomaly
entity-field: "ECS.Source.IP"
job-id: "network_traffic"
threshold: 75.0
timeout: 2s
cache-ttl: 5m
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
entity-field | string | — | (обязательный) Поле события, значение которого используется как ключ сущности для оценки аномальности (например, IP-адрес, имя пользователя) |
job-id | string | "" | Идентификатор ML-задания. Если не указан, используется любое подходящее задание |
threshold | float64 | 75.0 | Пороговое значение оценки аномальности (0–100). Если оценка >= порога, поле ML.Anomaly.IsAnomaly устанавливается в true |
timeout | duration | 2s | Таймаут запроса к ML-сервису |
cache-ttl | duration | 5m | Время жизни кеша оценок. Рекомендуется устанавливать равным интервалу bucket span ML-задания |
Выходные поля
При получении оценки от ML-сервиса процессор добавляет в событие следующие поля:
| Поле | Тип | Описание |
|---|---|---|
ML.Anomaly.Score | float64 | Оценка аномальности (0–100) |
ML.Anomaly.IsAnomaly | bool | true, если Score >= threshold |
ML.Anomaly.JobID | string | Идентификатор ML-задания, выполнившего оценку |
ML.Anomaly.DetectorFunction | string | Функция детектора (например, rare, mean, high_count) |
ML.Anomaly.Typical | float64 | Типичное (ожидаемое) значение метрики |
ML.Anomaly.Actual | float64 | Фактическое значение метрики |
ML.Anomaly.Timestamp | time | Временная метка оценки |
Пример
Обнаружение аномальной активности по IP-адресу источника:
processors:
- module: suricata
- module: anomaly
entity-field: "ECS.Source.IP"
job-id: "suricata_alerts"
threshold: 80.0
timeout: 2s
cache-ttl: 5m
Если ML-сервис определяет, что активность IP-адреса из поля ECS.Source.IP имеет оценку аномальности 92.5, в событие будут добавлены поля:
| Поле | Значение |
|---|---|
ML.Anomaly.Score | 92.5 |
ML.Anomaly.IsAnomaly | true |
ML.Anomaly.JobID | suricata_alerts |
Эти поля могут быть использованы в фильтрах и директивах корреляции для приоритизации событий с высокой оценкой аномальности.