Система мониторинга безопасности от компании VK Tech
VK SIEM - модульная система, которая способна обрабатывать очень большое количество данных. Она объединяет как новые, так и успешно зарекомендовавшие себя инженерные решения VK.
Инфраструктура VK SIEM размещена в едином облаке VK (OneCloud) – там же, где находятся сервисы ВКонтакте, Одноклассников, Дзен, VK Видео и других сервисов VK. Что это значит? Огромные вычислительные мощности и масштабируемость, что делает VK SIEM невероятно быстрым.
Особенности VK SIEM:
- Модуль нормализации: преобразование «сырых» логов в CEF+
- Для обработки всех поступающих событий мы используется универсальную схему Common Event Format, но постоянно расширяем ее (сейчас она содержит 300+ полей).
- Для нормализации событий используеся Vector.dev.
- Модуль обогащения: собвтенная реализация «активных листов»
- Сразу на потоке добавляется контекст, чтобы уже на моменте корреляции получать всю необходимую информацию о событии.
- Реализован функционал «статических активных листов» (обновление списков обогащения раз в несколько часов) и «динамических активных листов» (обновление списков обогащений несколько раз в минуту на основе информации из предыдущих событий). Один из сценариев «динамических активных листов» – обновления на основе результатов коррелятора.
- Хранилище обогащений: Key-value хранилище, источник модуля обогащения.
- Коррелятор
- Потоковый коррелятор событий, который анализирует на скоростях в миллионы EPS. Может легко масштабироваться без потери производительности. Все правила написаны и обновляются собственными аналитиками.
- Также дополнительно разрабатываем «ретроспективный» коррелятор для корреляции и поиска IoC в логах, автоматически записанных в собственные базы данных.
- Пользовательский интерфейс (UI) для аналитиков SOC
- Используется OpenSearch Dashboards: во-первых, чтобы сохранить пользовательский опыт наших инженеров (это очень удобный инструмент для работы с логами и выявления аномалий), а во-вторых, это Open Source, который можно использовать как конструктор и дорабатывать под свои потребности.
- Холодное хранилище
- Выбран YTSaurus как успешно зарекомендовавшее себя внутри VK (и не только) решение для распределенного хранения данных, особенно, с потенциалом для масштабирования. Основная задача – получать доступ к логам, полученные минимум за последние полгода, а в идеале – без ограничения по сроку.
- Индексатор
- Разработан модуль индексации, чтобы обеспечить быстрый полнотекстовый поиск по петабайтам событий и возможностью сложных агрегаций.
- Горячее хранилище
- Чтобы максимально быстро находить актуальные события, в нашей архитектуре предусмотрено горячее хранилище. В сочетании с индексатором это дает аналитикам возможность за несколько секунд получать доступ к данным за последние 3 месяца.
- Используется Click House, который предоставляется в инфраструктуре как сервис.
- Транслятор
- Так как модульное решение включает ClickHouse (горячее хранилище), YTSaurus (холодное хранилище), собственный индексатор и ядро OpenSearch Dashboard (только UI, от хранения событий в OpenSearch сознательно отказались), то для их объединения и бесшовного функционирования понадобилось создать транслятор.
- Используя внешний индексатор, он преобразовывает запросы пользователя в базы данных, а затем снова преобразовывает для отображения ответа в UI. Транслятор умеет одновременно работать с холодным и горячим хранилищем, поэтому аналитику не нужно думать, где хранятся те или иные данные, все работает по одной кнопке.