Модуль Threat Intelligence
Общее описание
Этот модуль предназначен для автоматического обнаружения угроз в IT-инфраструктуре путем корреляции событий из различных источников с базой данных Индикаторов Компрометации (IoC).
Модуль построен на базе стека OpenSearch и использует Logstash для сбора и обработки данных, правила корреляции для выявления угроз и OpenSearch Dashboards для визуализации инцидентов и аналитики.
Ключевые компоненты:
- База данных IoC: централизованное хранилище индикаторов, получаемых от внешних поставщиков (ThreatFox, CTT и др.)
- Источники данных: логи с сетевых устройств (Cisco ASA), конечных точек (KSC) и других систем безопасности
- Механизм корреляции: запросы (job), которые сопоставляют данные из событий с базой IoC в реальном времени
- Система инцидентов: специализированный индекс для хранения обогащенной информации о срабатываниях
Архитектура и принцип работы
Рабочий процесс модуля разделен на три основных этапа:
- Сбор IoC: скрипты сбора осуществляют выгрузку из базы IoC поставщиков, Logstash обрабатывает и загружает данные в специализированные индексы в соответствии с моделями данных
- Корреляция: правила корреляции в реальном времени выполняют поиск (lookup) по индексам IoC для каждого релевантного события взаимодействия
- Создание инцидента: при обнаружении совпадения создается новый инцидент в менеджере инцидентов. Он содержит полную информацию как из исходного события, так и из совпавшего IoC, что обеспечивает аналитику по всем необходимым данным
Модели данных
Модуль использует строго типизированные и стандартизированные модели данных для обеспечения эффективности поиска и анализа. Все поля событий и IoC организованы в логические группы (например, threat.indicator.*, file.*, network.*).
Для обеспечения совместимости и единообразия данные приведены к стандарту ECS (Elastic Common Schema). При этом используются дополнительные поля, которые начинаются с заглавной буквы. Эти поля не входят в ECS, но необходимы для обогащения информации по определенным типам IoC.
Рекомендуется придерживаться данной модели данных описанных в файла Domain, Hash, Ip и Url. Ссылки на них находятся в разделе поддерживаемые типы IoC.
- Индикатор Компрометации (IoC): описывает отдельную угрозу. Каждый тип IoC хранится в отдельном индексе и имеет свою, адаптированную под него, модель данных
- Инцидент (Incident): фиксирует факт совпадения события взаимодействия и IoC. Модель данных инцидента объединяет в себе поля из обеих сущностей
Поддерживаемые типы IoC
В данный момент модуль поддерживает корреляцию по четырем основным типам индикаторов.
| Тип IoC | Ключевое поле в событии для сопоставления | Примеры полей в базе IoC |
|---|---|---|
| Domain | destination.address | threat.indicator.domain, threat.indicator.tld, threat.indicator.resolved.registrant |
| Hash | file.hash.md5, file.hash.sha1, file.hash.sha256 | threat.indicator.file.name, threat.indicator.file.sha256, Threat.indicator.malware.name |
| IP | destination.ip | threat.indicator.geo.country_name, Threat.indicator.category, Threat.indicator.blackists |
| URL | url.original | threat.indicator.url.domain, Threat.indicator.category, Threat.indicator.malware.name |
Каждому источнику следует присвоить свой(-и) алиас(-ы). Более подробно про источники и требуемые алиасы описано внутри модели данных по каждому типу IoC.
Дашборды и визуализация
Для работы с модулем используются дашборды, которые предоставляют следующую информацию:
- Threat Intelligence: Статистика по базе IoC
- статистика по общему количеству IoC в базе
- разбивка IoC по типам (IP, Domain, HASH, URL)
- статистика по поставщикам IoC
- динамика поступления новых индикаторов
- Threat Intelligence: Статистика инцидентов
- список последних инцидентов с указанием критичности
- топ-10 атакованных хостов и пользователей
- зазбивка инцидентов по сработавшим правилам и типам IoC