К содержимому
MoranaLabs.
Инженерные гайды5 мин чтения0 просмотров

Жизнь после Splunk и Elastic: SIEM и анализ логов на open-source с ИИ-детектом аномалий, когда лицензия отвалилась 

Лицензия отвалилась, вендор ушел, а SOC захлебнулся в логах. Разбираем реальный коллапс самописной замены Splunk на 300к EPS и собираем рабочий контур с ML-детектом аномалий, который не ляжет под нагрузкой.

0xReality

3:15 ночи. Диски на data-нодах свежесобранного кластера OpenSearch пробивают 99% утилизации. Очередь в Kafka отстает на сорок миллионов сообщений. SOC-аналитики смотрят на бесконечно крутящийся лоадер в дашборде. Где-то в этот момент скрипт атакующего спокойно дампит NTDS.dit, потому что движок корреляции подавился спайком от файрволов и лег. Так выглядела наша первая попытка собрать замену отвалившемуся энтерпрайзу из желудей и палок.

Свалить логи в OpenSearch или ClickHouse поверх Kafka — это не SIEM. Это просто очень дорогая онпрем-корзина для мусора, где вы никогда не найдете инцидент до того, как данные утекут в даркнет.

Жизнь после Splunk и Elastic: SIEM и анализ логов на open-source с ИИ-детектом аномалий, когда лицензия отвалилась — это суровая реальность для инфраструктуры КИИ. Продление невозможно, лицензии в серой зоне, вендоры отрезали доступ к апдейтам. Импортозамещение SIEM 2026 стучится в дверь, ГосСОПКА требует отчетов, 187-ФЗ обязывает хранить все on-prem. Попытки купить коробочный RU-SIEM часто разбиваются о космический ценник и примитивность встроенных ML-корреляций. Приходится строить свое, и на этом пути ломаются зубы.

Провал миграции со Splunk SPL и честная карта замен

Мы начинали классически, пытаясь собрать конструктор. Vector на сбор, Kafka как буфер, OpenSearch как хранилище и самописный батчевый движок алертинга. Анализ логов без Splunk сразу обнажил суровую правду: готового контента в опенсорсе нет. У вас больше нет тех тысяч изящных правил безопасности, которые работали из коробки и обновлялись вендором. Splunk SPL — это полноценный язык, на котором аналитик мог крутить данные как угодно. Мы попытались сделать автоматическую трансляцию SPL-запросов в синтаксис Lucene и DQL. Это был тотальный, безоговорочный провал.

Сложные джойны, статистические функции скользящего окна и сабсерчи просто не ложились на логику опенсорс-хранилищ. Миграция со Splunk SPL обернулась необходимостью переписывать всю логику детектирования с нуля руками. Дашборды пришлось собирать заново, продираясь через ограничения визуализации. Перенос двух тысяч ручных правил в YAML-формат создал идеальный шторм ложных срабатываний. Алерт-фатига накрыла SOC за первую же неделю: аналитики получали по триста уведомлений в час и просто начали игнорировать критические инциденты, утонув в белом шуме.

Выбор базы данных для сырых событий тоже оказался лотереей с отрицательным матожиданием. Loki прекрасен для дебага микросервисов, но абсолютно непригоден для секьюрити-контекста с тяжелыми поисками по IP и хешам файлов. OpenSearch терпим, но его UX для глубокого хантинга вызывает у безопасников физическую боль после интерфейса Splunk. ClickHouse переваривает невероятные объемы на вставку, но попробуйте написать там ad-hoc запрос с тремя джойнами по огромным индексам инцидентов — вы либо положите кластер по памяти, либо будете ждать ответа до утра. В итоге мы получили громоздкую неповоротливую систему, которая хранила петабайты, но не видела атаку в реальном времени.

Стрим-обработка и ML-детект аномалий в логах on-prem

Батч-процессинг для ИБ мертв. Вы не можете сложить 300 тысяч событий в секунду в базу, а потом раз в пять минут запускать по ним тяжелые селекты для поиска инцидентов. Пока индекс обновится, атакующий получит права доменного админа. Архитектура контура должна работать на лету. Мы радикально перестроили подход: ingestion через Vector, сырой поток в Kafka, а дальше — потоковая обработка на Apache Flink. И именно в Flink мы врезали слой машинного обучения.

Вместо того чтобы плодить регулярные выражения, мы развернули online-детект аномалий в потоке логов. Изоляционные леса и автоэнкодеры профилируют сетевой трафик и поведение пользователей прямо в оперативной памяти, до записи на диск. Модель оценивает вероятность того, что текущий вектор признаков — это целенаправленная активность, и выносит вердикт за миллисекунды. Кластеризация и дедупликация инцидентов тоже происходят в стриме. Если с тысячи серверов одновременно летит ошибка аутентификации, система схлопывает это в один мета-алерт с указанием скора аномальности, отсекая мусор.

Нагрузка, грабли кардинальности и дрейф нормы

Цифры после редизайна архитектуры говорят сами за себя. Вынеся аналитику в стрим, мы вышли на стабильные 450 тысяч EPS на входе. Задержка детекта — p95 latency — упала с двадцати минут при батчевом подходе до 1.2 секунды. Доля false positive сократилась с 85% до 12%, что позволило аналитикам наконец-то расследовать реальные угрозы. ML-слой взял на себя самую грязную работу по фильтрации аномалий.

Без тяжелых граблей не обошлось. Вылезла проблема взрывного роста кардинальности: динамические поля в логах облачных сервисов начали раздувать словари ClickHouse так, что метаданные стали занимать больше места, чем сами логи. Пришлось агрессивно резать сырые payload-данные на лету, оставляя только извлеченные ML-фичи для долгосрочного хранения. Ретеншн и стоимость владения петабайтами заставили внедрить жесткий тиринг: горячие данные живут неделю на NVMe, затем уезжают на дешевое S3-хранилище.

Самой большой головной болью стал concept drift — неизбежный дрейф «нормы». Алгоритм, отлично обученный на чистом трафике, начал сходить с ума и сыпать алертами во время легитимных обновлений инфраструктуры и массовых патч-вторников. Нам потребовалось выстроить сложный автоматический пайплайн непрерывного дообучения моделей на свежих данных с обязательной петлей обратной связи от дежурной смены SOC.

КритерийКлассический Splunk EnterpriseOpen-Source + Streaming ML
Скорость детекта (p95)Зависит от расписания (минуты)1.2 секунды (в потоке)
Стоимость лицензированияСотни тысяч долларов за объемБесплатно (оплата только железа)
Управление правиламиГотовый контент, SPL-магияML-модели, хардкорная инженерия
False Positive RateВысокий (при ручных правилах)Низкий (после тюнинга моделей)
ХранениеДорогие проприетарные индексыClickHouse + S3 тиринг

Замена Splunk на open-source с ИИ — это не установка очередного бинарника из репозитория, это полная пересборка инженерной культуры внутри ИБ-подразделения. Мы в MoranaLabs проектируем такие realtime-ML контуры для инференса прямо на железе клиента, выжимая максимум из потоковой обработки и нейросетей. Когда объем событий пробивает потолок, а старых добрых лицензий больше нет, спасает только жесткая математика в стриме и архитектура, которая физически не может захлебнуться.

  • #ML-детект
  • #Open-source
  • #SIEM
  • #SOC
  • #Splunk
ПоделитьсяTelegramX
рассылка

Новые статьи — на почту

Лонгриды про ML в проде, edge и компьютерное зрение — сразу после выхода.

Канал в Telegram: morana.log

Без спама. Нажимая «Подписаться», соглашаетесь с обработкой персональных данных

бесплатный pdf-гайд

Edge AI или облако: когда тащить нейросеть на железо

Признаки, фреймворк выбора и прикидка экономии — короткий PDF-гайд на почту.

PDF · 5 страниц · без спама. Нажимая «Получить», соглашаетесь с обработкой персональных данных

Читать дальше
— заявка

Опишите задачу  ответим как инженеры. 

Оставьте имя и Telegram — остальное обсудим. Без брифов на 40 слайдов и звонков по три раза.

Отвечаем за пару часовотвечает инженер, а не отдел продажNDA по запросу

Сюда напишем — это быстрее всего

Или сразу написать в Telegram

Без спама и звонков-роботов. Нажимая кнопку, вы соглашаетесь с политикой конфиденциальности и обработкой персональных данных.