Открыть сервис

Common Event Format

Common Event Format (CEF) — это открытый текстовый формат представления данных о событиях информационной безопасности, разработанный компанией ArcSight (впоследствии приобретена Hewlett Packard Enterprise). Формат предназначен для унификации и стандартизации передачи журналов событий (логов) от различных источников (межсетевых экранов, антивирусов, серверов, систем обнаружения вторжений) в централизованные системы управления информацией и событиями безопасности (SIEM). CEF обеспечивает возможность автоматического разбора и анализа событий без необходимости написания индивидуальных парсеров для каждого типа устройств.

История и предпосылки создания

До появления CEF и аналогичных форматов (например, Syslog, LEEF, WELF) каждое устройство или программное обеспечение генерировало журналы событий в собственном, часто проприетарном, формате. Это создавало серьёзные трудности при интеграции разнородных систем в единую SIEM-платформу: для каждого источника требовалась разработка отдельного парсера, что было трудоёмко и дорого.

Компания ArcSight, основанная в 2000 году и ставшая одним из пионеров рынка SIEM, столкнулась с этой проблемой при создании своей платформы ArcSight ESM (Enterprise Security Manager). В середине 2000-х годов инженеры ArcSight разработали CEF как стандартизированное расширение протокола Syslog. Формат был призван упростить интеграцию устройств и снизить порог входа для производителей оборудования, желающих отправлять события в ArcSight. В 2010 году Hewlett Packard (HP) приобрела ArcSight за 1,5 миллиарда долларов, после чего формат CEF получил более широкое распространение, хотя и остался тесно связанным с экосистемой HP ArcSight.

Структура формата

Сообщение CEF состоит из двух частей: обязательного заголовка (CEF header) и расширения (extension), содержащего переменные пары «ключ-значение». Формат может передаваться как по протоколу Syslog, так и через другие транспортные механизмы (например, TCP, UDP, файлы).

Заголовок (CEF Header)

Заголовок имеет фиксированную структуру и начинается с префикса CEF:. Он содержит несколько полей, разделённых вертикальной чертой (|). Общий вид заголовка:

CEF:Version|Device Vendor|Device Product|Device Version|Signature ID|Name|Severity|

Описание полей:

  • Version (версия) — целое число, указывающее версию формата CEF. Наиболее распространена версия 0.
  • Device Vendor (производитель устройства) — строка, идентифицирующая производителя источника события (например, Cisco, Microsoft, Palo Alto Networks).
  • Device Product (продукт) — название продукта или устройства (например, ASA, Windows, Firewall).
  • Device Version (версия продукта) — версия программного обеспечения или прошивки устройства.
  • Signature ID (идентификатор сигнатуры) — уникальный идентификатор типа события (например, 100, LOGIN_FAILED, Virus_Found). Может быть строкой или числом.
  • Name (название) — человекочитаемое описание события (например, Authentication Failure, Malware Detected).
  • Severity (серьёзность) — целое число от 0 до 10, отражающее критичность события. 0 — наименее критично, 10 — наиболее критично. В некоторых реализациях используются строковые эквиваленты (Low, Medium, High, Critical).

Расширение (Extension)

Часть расширения следует за заголовком и отделяется от него пробелом. Она состоит из одной или нескольких пар «ключ=значение», разделённых пробелами. Ключи являются предопределёнными идентификаторами, а значения могут быть строками, числами, IP-адресами, датами и временем.

Пример пары: src=192.168.1.100 dst=10.0.0.1 dpt=80

Стандарт CEF определяет множество ключей расширения, которые делятся на категории:

  • Сетевые ключи: src (IP-адрес источника), dst (IP-адрес назначения), spt (порт источника), dpt (порт назначения), proto (протокол, например, TCP, UDP).
  • Ключи пользователя и устройства: duser (пользователь назначения), suser (пользователь источника), fname (имя файла), fpath (путь к файлу).
  • Ключи времени: rt (время получения события), deviceReceiptTime (время, когда устройство зафиксировало событие).
  • Ключи контента: msg (текстовое сообщение), cs1, cs2, ..., cs6 (пользовательские строки), c1, c2, ..., c6 (пользовательские числа), flexString1, flexString2 (гибкие строки).

Для экранирования специальных символов (например, знака равенства =, пробела, обратной косой черты \) в значениях используется обратная косая черта. Например, msg=Hello\=World будет интерпретировано как значение Hello=World.

Пример сообщения CEF

CEF:0|Microsoft|Windows|10.0.17763|4625|Logon Failure|5|src=192.168.1.100 dst=10.0.0.1 duser=Administrator msg=Account locked out due to multiple failed logon attempts rt=Dec 21 2024 14:30:00

В этом примере:

  • Заголовок: Версия 0, производитель Microsoft, продукт Windows, версия 10.0.17763, идентификатор события 4625 (событие Windows), название «Logon Failure», серьёзность 5.
  • Расширение: IP-адрес источника 192.168.1.100, IP-адрес назначения 10.0.0.1, пользователь Administrator, сообщение «Account locked out due to multiple failed logon attempts», время получения 21 декабря 2024 года 14:30:00.

Применение в SIEM-системах

Основное применение CEF — интеграция устройств и приложений с SIEM-системами. Большинство современных SIEM-платформ, включая HP ArcSight, Splunk, IBM QRadar, Elastic Security, и другие, поддерживают разбор сообщений CEF «из коробки». Это позволяет:

  1. Автоматически классифицировать события: По полям Signature ID и Name система может определить тип события и применить к нему соответствующие правила корреляции.
  2. Обогащать данные: Поля расширения, такие как src, dst, duser, позволяют связывать события с активами, пользователями и сетевыми топологиями.
  3. Снижать нагрузку на парсинг: Администраторам не нужно писать сложные регулярные выражения для каждого нового источника — достаточно настроить его на отправку событий в формате CEF.

Производители сетевого оборудования и программного обеспечения часто включают в свои продукты возможность отправки логов в формате CEF. Например, межсетевые экраны Palo Alto Networks, системы предотвращения вторжений (IPS) от Cisco, веб-прокси и антивирусные решения могут быть настроены на генерацию CEF-сообщений.

Критика и ограничения

Несмотря на широкое распространение, формат CEF имеет ряд недостатков:

  • Привязка к ArcSight: Формат был разработан под нужды одной компании, и его эволюция долгое время была тесно связана с развитием HP ArcSight. Это могло ограничивать его внедрение в других экосистемах.
  • Отсутствие строгой схемы: Стандарт CEF определяет лишь набор ключей, но не обязывает производителей использовать их единообразно. Одно и то же событие может быть описано разными наборами ключей разными устройствами, что снижает эффективность автоматической нормализации.
  • Ограниченная поддержка сложных структур: CEF не поддерживает вложенные структуры данных (JSON), что делает его менее гибким для описания сложных событий с большим количеством вложенных атрибутов.
  • Проблемы с экранированием: Неправильное экранирование специальных символов в значениях может приводить к ошибкам разбора, особенно если источник генерирует нестандартные строки.

Альтернативные форматы

Помимо CEF, существуют другие форматы для представления событий безопасности:

  • LEEF (Log Event Extended Format) — формат, разработанный компанией IBM для платформы QRadar. Он также основан на парах «ключ-значение», но имеет другую структуру заголовка.
  • Syslog (RFC 3164 / RFC 5424) — традиционный протокол для передачи логов, который не имеет строгой структуры для событий безопасности, но широко используется.
  • JSON (JavaScript Object Notation) — современный формат, который становится всё более популярным благодаря своей гибкости, поддержке вложенных структур и простоте обработки. Многие современные SIEM-системы и облачные сервисы (например, AWS CloudTrail, Azure Monitor) используют JSON для представления событий.

Интересные факты

  • Формат CEF не является официальным стандартом (например, RFC), но де-факто стал индустриальным стандартом для интеграции с SIEM-системами.
  • В документации HP ArcSight существует подробное руководство по написанию парсеров для CEF, которое используется разработчиками по всему миру.
  • Некоторые производители устройств безопасности, такие как Check Point и Fortinet, поддерживают отправку логов в нескольких форматах одновременно, включая CEF, LEEF и Syslog.

Источники

  1. Документация HP ArcSight: «Common Event Format (CEF) Standard» (версия 25).
  2. Руководство по интеграции устройств с ArcSight ESM.
  3. Статья «Understanding CEF (Common Event Format)» на портале Splunk.
  4. Материалы конференций по информационной безопасности (например, RSA Conference, Black Hat).
  5. Аналитические отчёты Gartner по рынку SIEM (Magic Quadrant for SIEM).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →