Модели данных для инцидентов и событий
Эта глава посвящена моделям данных для инцидентов и событий в контексте использования BI и DWH при внедрении SIEM-системы. Цель материала — объяснить новичку, как организовать хранение и обработку больших массивов журналируемых данных с точки зрения аналитики безопасности и оперативного реагирования. Мы разберем термины, подходы к моделированию данных, принципы интеграции источников логов с хранилищем данных, а также дадим практические примеры на основе открытых инструментов и отечественного опыта. В конце главы вы найдете блок FAQ, где отвечаем на наиболее частые вопросы, возникающие при реализации подобных проектов.
Термины и базовые концепции
- Событие (event) — любая единица информации, поступающая из источника лога: запись об входе в систему, попытке подключения, ошибке, предупреждении, сетевом обращении и т. д. Событие имеет временную метку, источник, тип, уровень важности и другие характеристики.
- Инцидент (incident) — сфокусированное понимание серии связанных событий, которые требуют расследования и реагирования. Инцидент сугубо целостен: он объединяет данные, эскалируется по стадиям, закрепляется за кейсом или тикетом.
- Алерт (alert) — сигнал, который система обнаружения безопасности считает потенциально опасным и который должен быть просмотрен аналитиком. Алерты часто возникают из правил корреляции и сигнатур.
- Сигнал/правило корреляции — набор условий, по которым события объединяются в алерты и инциденты. Корреляция позволяет превратить шум логов в управляемые инциденты.
- Тикет/кейс — элемент процесса реагирования. Тикет связывает инцидент с исполнителями, задачами, статусами и сроками выполнения.
- Область видимости данных BI/DWH в SIEM — объединение данных о безопасности с аналитикой для выявления тенденций, дельтов, траекторий атак и эффективности реагирования.
- Архитектура Data Lake / Data Warehouse / Data Lakehouse — подходы к хранению больших массивов данных: data lake (сырые данные), data warehouse (структурированные данные для отчетности) и гибридные решения типа lakehouse, где хранятся и структурированные, и полуструктурированные данные в одном месте.
Модели данных: ER, Dimensional и Data Vault
- ER-модель (Entity-Relationship) полезна на этапе проектирования концепций и связей между объектами: пользователи, устройства, логи, источники, события, инциденты.
- Колончатые или разреженные схемы Dimensional (звезда, снежинка) эффективны для аналитики BI: фактовые таблицы (Fact) и измерения (Dimension). Применяются для быстрого формирования дашбордов по количеству событий, времени, источнику, типу, вероятностям опасности и т. д.
- Data Vault 2.0 — подход, ориентированный на сохранение истории изменений и гибкость адаптации к новым источникам. Разделяет бизнес-ключи (hubs), ссылки (links) и спутники (satellites) для учета изменений в источниках и атрибутов. В SIEM-проектах часто применяют Data Vault для устойчивого сохранения исторических данных и легкости интеграции новых источников логов.
Канонический набор данных для инцидентов и событий
- Событие: TimeStamp, SourceSystem, Hostname/IP, User, EventType, EventID, Severity, Message, Payload (структурированная часть), Protocol, Port, Destination, Source, GeoLocation, однако в реальности набор полей зависит от источника и требований регуляторов.
- Уровни детализации: RawEvent (сырой лог), NormalizedEvent (нормализованный), EnrichedEvent (обогащенный данными контекста: сетевая топология, данные об учётной записи, контекст активов).
- Инцидент/Кейс: IncidentID, Title, Description, Status, Severity, StartTime, EndTime, RelatedAlerts, RelatedEvents, AssignedAnalysts, Resolution, PostMortem.
- Алерт: AlertID, IncidentID (связь), RuleID, SourceEventID, Confidence, CreatedTime, Status.
- Объекты домена: Asset (AssetID, Hostname, IPs, Owner, Criticality), User (UserID, Username, Roles), Source (SourceID, Type, Version, Feed), Location, ThreatIntelligence (индексы по источникам уязвимостей и индикаторам компрометации).
- Временной уровень: DimTime или TimeDimension с уровнями sekund, minute, hour, day, week, month, quarter, year, праздники и вечерние окна.
Жизненный цикл данных SIEM в BI/DWH
- Ингестия (ingestion) — сбор и буферизация логов из разных источников: системных журналов, сетевых устройств, приложений, EDR/EDR-систем, облачных сервисов.
- Нормализация (normalization) — приведение полей к единому каноническому набору. Например, полю source может соответствовать SourceSystem или SourceType.
- Обогащение (enrichment) — добавление контекста: геолокация IP-адресов, сопоставление с инвентарем активов, страновые регламенты, связка с威胁-интеллектом.
- Корреляция (correlation) — объединение отдельных событий в алерты и инциденты на основе правил. Это позволяет снизить шум и выделить реальные угрозы.
- Хранение и управление данными (storage and governance) — сохранение в хранилище (lake/warehouse), обеспечение качества данных, версионирование схем, контроль доступа и соответствие требованиям регуляторов.
- Аналитика и визуализация (analytics and visualization) — построение дашбордов для мониторинга, анализа тенденций, прохождения аудита и подготовки к расследованию.
- Жизненный цикл инцидента/кейса — создание тикета, эскалации, назначение ответственных, этапы расследования, документирование результатов и постмортем.
Регламенты, стандарты и совместимость
- Стандарты журналов: CEF (Common Event Format), LEEF (Log Event Extended Format), Syslog, JSON. Стандарты помогают унифицировать поля и облегчить интеграцию.
- Модели обмена и сигналы: STIX/TAXII для обмена информацией об угрозах и индикаторах компрометации; это полезно для обогащения данных TI и корреляции.
- Совместимость с регуляторами: ФСТЭК/ФСБ для России, требования по хранению данных в отечественных дата-центрах, контроль доступа, аудит изменений и сохранение журналов доступа.
Методологии проектирования моделирования
- Итеративная разработка и минимально жизнеспособное решение (MVP): сначала реализовать базовую модель, затем расширять набор полей и источников по мере роста потребностей.
- Эволюционная архитектура: начинать с центрального хранилища ролей и атрибутов, затем добавлять дополнительные слои: staging, raw, enriched, facts, dims.
- Data quality и lineage: работать над качеством данных, поддерживать трассируемость источников, фиксировать изменения в схемах и маппинге.
- Безопасность и приватность: применять минимальные привилегии, маскирование PII там, где это возможно, проводить аудит доступа и хранение журналов доступа.
Практические примеры
1) Практический пример с открытым стеком
Цель: показать, как на практике строится модель данных для инцидентов и событий на базе открытых инструментов и доступных шаблонов.
Компоненты:
- Система сбора логов: Elasticsearch, Logstash, Beats (Elastic Stack).
- Аналитика и обработка: интеграция с TheHive для управления инцидентами; Wazuh как агентскую систему обнаружения и агрегацию логов; OpenSCAP/OS queries для дополнительной проверки.
- Хранилище данных для BI: ClickHouse или PostgreSQL как аналитическое хранилище; Data Lake на базе HDFS/MinIO для сырых данных.
- Визуализация и исследование: Kibana для мониторинга, Grafana/Prometheus для метрик и дашбордов; SQL-интерфейс для аналитики.
- Процессы и кейсы: TheHive обеспечивает управление инцидентами, тикетами и расследованиями; интеграция с TI-индексами.
Как это работает:
- Идея в том, чтобы собрать логи по всем источникам в единый поток и нормализовать их к каноническим полям: TimeStamp, SourceSystem, Host, User, EventType, Severity, Message, Payload.
- На входе лежат сырые данные; через Logstash Beats и фильтры происходят нормализация и обогащение (например, превращение IP-адреса в геолокацию, сопоставление с активами).
- Обогащенные события отправляются в Elasticsearch и одновременно в Data Warehouse (ClickHouse или PostgreSQL) для долговременной аналитики и построения дашбордов.
- Правила корреляции, реализованные в Wazuh и/или Elastic Security, создают алерты. Алерты группируются в инциденты в TheHive, который позволяет назначать задачи аналитикам, связывать с доказательствами и вести расследование.
- В BI-слое строятся модели DimTime, DimSource, DimEventType, DimAsset, DimUser, DimSeverity, а также FactEvent, FactAlert, FactIncident. Это обеспечивает удобные кросс-табличные отчеты: например, “количество инцидентов по источнику за месяц”, “количество алертов по типу события”, “связь между активами и инцидентами” и т. д.
- Пример канонического набора полей в Dim и Fact:
DimTime: TimeKey, Date, Year, Month, Day, DayOfWeek, IsHoliday DimSource: SourceID, SourceName, SourceType, Version DimEventType: EventTypeID, Name, Category DimAsset: AssetID, Hostname, IP, Owner, Criticality DimUser: UserID, Username, Department, Role DimSeverity: SeverityID, Level FactEvent: EventID, TimeKey, SourceID, AssetID, UserID, EventTypeID, SeverityID, Message, Payload FactAlert: AlertID, TimeKey, IncidentID, RuleID, Confidence, Status FactIncident: IncidentID, TimeKeyStart, TimeKeyEnd, SeverityID, Status, AssignedAnalyst
- Пример некоторых техник реализации:
Ввод данных через Logstash: фильтр grok для извлечения полей, фильтры geoip для геолокации, фильтр kv для пар ключ-значение в сообщениях.
Нормализация полей: привязка к каноническим именам, привязка к Dim-таблицам через IDs.
Обогащение: подгрузка информации об активе из CMDB, сопоставление IP-адресов источников с активами.
Корреляция: правила в Elastic Security и Wazuh, которые конвертируются в алерты и инциденты в TheHive.
Архитектура хранения: сырые логи хранятся в data lake (MinIO/Подобные), нормализованные данные — в аналитическом хранилище (ClickHouse), обогащенные данные — в Elasticsearch/NoSQL.
2) Практический пример с российскими решениями
Цель: показать подход, ориентированный на использование отечественной инфраструктуры и регуляторных требований РФ, включая хранение данных в локальных дата-центрах и соответствие требованиям ФСТЭК.
Компоненты:
- Локальное SIEM-решение на базе отечественных или адаптированных под РФ компонентов: сбор логов с серверами, сетями и приложениями; локальная база данных для аналитики; система управления инцидентами.
- Аналитическое хранилище: ClickHouse как быстрый аналитический столб для больших объемов событий и событийной статистики; PostgreSQL для управления отношениями и метаданными; локальные хранения журналов в отечественных дата-центрах с необходимыми мерами защиты.
- Аналитика и визуализация: Grafana или аналог для дашбордов; локальные инстансы TheHive или аналогичные инструменты для управления инцидентами и расследованиями.
- Интеграции и источники: логи серверов, сетевых устройств, прокси, облачных сервисов, приложение-события, а также сигналы TI в рамках локального обмена.
Как это работает:
- Ингестия и нормализация аналогичны открытому стеку, но акцент делается на локализации данных и соответствие регуляторным требованиям. Поля для канонической модели приводятся к тем же базовым полям: TimeStamp, SourceSystem, Host, User, EventType, Severity, Message, Payload.
- Обогащение и корреляция выполняются средствами отечественного ПО и сторонними интеграциями. В рамках российского проекта можно использовать локальные базы знаний и TI‑потоки, чтобы обогащать данные об угрозах и адресовать конкретные векторы атак, принципы атаки и зоны риска с учетом локальных практик.
- Хранение и управление данными осуществляется в отечественных дата-центрах, с использованием мер защиты и сертификаций, соответствующих ФСТЭК. Важна возможность репликации и бэкапов, а также возможности быстрого восстановления после инцидентов.
- Модели данных в данном контексте аналогичны открытым решениям: DimTime, DimSource, DimEventType, DimAsset, DimUser, DimSeverity; FactEvent, FactAlert, FactIncident и т. д. Однако номенклатура и реализация могут быть адаптированы под требования конкретной организации и отрасли.
- Преимущества такого подхода: соответствие регуляции, минимизация внешних рисков при передаче данных, возможность аудита и прозрачной защиты персональных данных, сохранение контроля над данными и инфраструктурой.
Конкретные поля и схемы
- DimTime: TimeKey (целое число, например YYYYMMDDHHMMSS), Date, Year, Month, Day, DayOfWeek, IsHoliday
- DimSource: SourceID, SourceName, SourceType (Syslog, WindowsEvent, Firewall, Application, Cloud), Version, Location
- DimEventType: EventTypeID, Name (например, LOGIN_SUCCESS, LOGIN_FAILURE, FILE_MODIFICATION), Category (Authentication, Authorization, Network, Application)
- DimAsset: AssetID, Hostname, IP, MAC, OperatingSystem, Owner, Criticality
- DimUser: UserID, Username, Department, Role
- DimSeverity: SeverityID, Level (INFO, WARNING, CRITICAL, ERROR)
- FactEvent: EventID, TimeKey, SourceID, AssetID, UserID, EventTypeID, SeverityID, Message, Payload
- FactAlert: AlertID, TimeKey, IncidentID, RuleID, Confidence, Status
- FactIncident: IncidentID, TimeKeyStart, TimeKeyEnd, SeverityID, Status, AssignedAnalyst, Resolution
Путь данных и ETL
- Источник данных: логи и события из сетевых устройств, ПК и серверов, облачных сервисов; формат фиксируется на каждом источнике.
- ETL-процесс: Extract (извлечение данных из источников), Transform (нормализация полей, привязка к Dim-таблицам, обогащение), Load (загрузка в Data Warehouse).
- Вектор обогащения: подгрузка данных CMDB/Asset DB, геолокация IP, учетные записи пользователей, контекст угроз (TI).
- Хранение: RawEvent сохраняются в data lake; NormalizedEvent и EnrichedEvent в аналитическом хранилище; агрегаты и индексы в базах для быстрого поиска и дашбордов.
- Индексация и производительность: использовать партиционирование по времени (например, по месяцам), TTL для устаревших данных, индексы по часто запрашиваемым полям (SourceSystem, EventType, AssetID, UserID).
Примеры технических операций
- Привязка IP к геолокации с использованием агрегатов GeoIP и обновления DimAsset/DimSource.
- Маппинг к единым кодам событий: например, перевод “AUTH_FAIL” к EventTypeID, сопоставление уровней угроз к Severity.
- Корреляционные правила: если EventType = LOGIN_FAILURE и IP относится к внешней сети и частота повторных попыток превышает порог за N минут — создать Alert и связывать с Incident.
- Верификация данных: дедупликация по EventID + Message + TimeStamp, проверка консистентности полей, аудит изменений схем.
Инструменты и инфраструктура в примерах
- Открытый стек: Elasticsearch/Logstash/Kibana, Wazuh, TheHive, ClickHouse, PostgreSQL; Grafana для визуализации.
- Российский ориентир: ClickHouse как локальное аналитическое хранилище, локальные инстансы Grafana/Kibana, отечественные средства управления инцидентами и сбор логов, интеграции с требованиями ФСТЭК и локальным хранением данных; использование локальных реплик и резервирования данных для обеспечения доступности.
Безопасность данных и соответствие требованиям
- Роль-based access control (RBAC) — доступ по ролям к данным в хранилищах.
- Шифрование данных в покое и в пути (TLS, на уровне хранилища, шифрование резервных копий).
- Аудит и журналирование доступа к данным, хранение журналов доступа в неизменяемом виде.
- Маскирование и псевдонимизация PII, минимизация хранения персональных данных там, где это возможно, согласно регуляторным требованиям.
- Регламентированные сроки хранения: определение уровней retention для RawEvent, NormalizedEvent, EnrichedEvent, Incident и т. д.
Риски и ограничения
- Качество и полнота данных: источники лога могут быть недоступны, поля могут различаться между источниками; требуется преобразование и нормализация, что может приводить к потере информации при некорректном маппинге.
- Производительность и стоимость: объемы журналов могут расти экспоненциально; инфраструктура должна быть масштабируемой, с учетом стоимости хранения и вычислений.
- Контроль доступа и приватность: обеспечение соответствия регуляторным требованиям, особенно при хранении персональных данных и контекстной информации об пользователях.
- Время задержки: логи могут приходить с задержкой; критичность реакции зависит от времени от события до алерта и до инцидента; для некоторых задач может потребоваться near real-time обработка.
- Ложные срабатывания и переобучение правил: риск перегрузки аналитиков ложными алертами; необходимо постоянно пересматривать правила корреляции, внедрять механизмы обучения на прошлых инцидентах.
- Сложности архитектуры: сложность интеграции множества источников, синхронизации времени и согласованности схем; миграции данных, апгрейды инструментов и совместимость версий требуют дополнительных ресурсов.
- Соответствие локальным требованиям: хранение и обработка данных в РФ, сертификация систем, контроль за утечкой, аудит доступа и хранение журналов действий.
- Управление жизненным циклом данных: устаревшие данные нужно удалять или архивировать; необходимо определить политики архивирования и восстановления.
Выводы
- Моделирование данных для инцидентов и событий в рамках BI и DWH — это фундаментальная часть SIEM-проекта, позволяющая аналитикам и оперативным сотрудникам эффективно работать с большим объемом логов и угроз.
- Эффективная архитектура строится на канонической схеме, которая обеспечивает единый взгляд на события, инциденты и активы, а также на возможности масштабирования и адаптации к новым источникам и требованиям.
- Выбор стека — от открытых инструментов до отечественных решений — зависит от регуляторных требований, доступности инфраструктуры, бюджета и целей проекта. Открытые решения дают гибкость и быстрый старт, отечественные решения обеспечивают соответствие требованиям локального регулятора и возможность локального хранения данных.
- Важно не только создать модель данных, но и выстроить процессы управления данными, контроль качества, безопасность и регламенты доступа. Только тогда BI/DWH-серья будет приносить стабильную ценность: точные отчеты, эффективное расследование инцидентов и улучшение процессов реагирования.
Вопрос–Ответ (FAQ)
1) Что такое каноническая модель событий и зачем она нужна в SIEM-проекте?
Каноническая модель — это унифицированное представление полей для всех источников логов, где каждый источник адаптирован к набору общих атрибутов: время, источник, устройство, пользователь, тип события, уровень опасности, сообщение и полезная нагрузка. Она нужна для упрощения интеграции множества источников, ускорения анализа и обеспечения единиц измерения во всем хранилище. Благодаря каноническому набору легче строить отчеты в BI и проводить корреляцию между событиями разных источников.
2) Как выбрать между ER-моделью и Dimensional моделью?
ER-модель помогает проектировать связи между сущностями (пользователь, устройство, источник, событие). Dimensional модель полезна для аналитики через дашборды и BI-запросы, где требуется быстро сосчитать показатели по различным измерениям (время, источник, тип события). В SIEM-проектах часто используют гибрид: ER-подход на этапе моделирования и Dimensional — для финальной аналитики и отчетности, а иногда Data Vault 2.0 применяется для долговременного хранения и адаптации под новые источники.
3) Какие открытые инструменты чаще всего применяют для SIEM на BI/DWH?
Популярный стек: Elasticsearch/Logstash/Kibana (ELK), Wazuh для сбора и обнаружения, TheHive для управления инцидентами, ClickHouse или PostgreSQL в качестве аналитического хранилища, Grafana/Kibana для визуализации. Эти инструменты позволяют быстро наладить сбор логов, нормализацию и корреляцию, а также предоставить аналитикам инструменты для расследования.
4) Какой подход к хранению данных оптимален для больших объемов логов?
Чаще всего применяют слоистую архитектуру: RawEvent в data lake, NormalizedEvent/EnrichedEvent в аналитическом хранилище и агрегаты в виде фактов и измерений для отчетности. В качестве аналитического хранилища можно использовать ClickHouse за счет скорости запросов по большим объемам данных, а для долговременного хранения использовать более экономичные решения. Важно обеспечить партиционирование по времени, консистентность данных и возможность восстановления.
5) Какие риски связаны с использованием внешних SIEM-решений?
Риски включают зависимость от внешних поставщиков, стоимость лицензий, возможности адаптации под специфические потребности и регуляторные требования, задержки обновлений и обновления безопасности. В случае критических данных возможно предпочтение локального разворачивания и контроля над данными, а также соответствие требованиям регуляторов и аудитов.
6) Что такое данные об инцидентах и как они соотносятся с алертами?
Алерт — это сигнал к потенциальной угрозе. Инцидент — это объединение одного или нескольких алертов и связанных событий в единое расследование. В BI/DWH инцидент обычно хранится как сущность с временными характеристиками, связями на алерты, активами, пользователями и расследователями, что позволяет аналитикам быстро увидеть все материалы, относящиеся к конкретному кейсу.
7) Какие регуляторные требования важны для российского контекста?
Важно учитывать требования ФСТЭК и регламенты по защите данных в РФ. Это включает хранение данных в отечественных дата-центрах, аудит доступа к данным, журналы неподразделяемого доступа, защиту по стандартам безопасности и своевременное обновление систем. Архитектура SIEM должна позволять локальное хранение и экспорт только в рамках нормативной среды.
8) Какую роль играет Data Lakehouse в SIEM-проекте?
Data Lakehouse объединяет хранение крупных объемов данных в «холодном» формате и структуру для аналитики в одном решении. Это полезно для хранения сырых логов, их последующей нормализации и анализа. Data Lakehouse упрощает хранение и обработку разрозненных источников и позволяет интегрировать данные в BI-проекты.
9) Какие методы обогащения данных применяются в контексте SIEM?
Обогащение включает добавление контекстных данных: геолокация по IP, привязка к активам в CMDB, данные об учетных записях, контекст угроз из TI (Threat Intelligence), данные об инцидентах и расследованиях. Цель — повысить точность корреляции и качество расследования.
10) Что важнее на старте проекта: скорость внедрения или полнота схемы данных?
На старте чаще важнее запустить MVP с базовой канонической моделью и минимально необходимым набором источников. Затем постепенно расширять модель, добавлять новые источники, поля и аналитические слои. Такой подход позволяет быстро начать использование SIEM, получать первые алерты и инциденты, а затем наращивать функциональность без срывов в работе бизнеса.



