Zeek

Zeek — свободное программное обеспечение с открытым исходным кодом для сетевого анализа. Верн Паксон начал разработку Zeek в 1995 году в Лаборатории им. Лоуренса в Беркли. Zeek используется как монитор безопасности сети (NSM), а также для задач обнаружения сетевых вторжений (NIDS). Проект Zeek распространяется под лицензией BSD.

Общие сведения
Zeek
Тип Система обнаружения вторжений в сети
Автор Верн Паксон
Написана на C++
Операционные системы Linux, FreeBSD, macOS
Последняя версия 8.1.1 (29 января 2026)
Репозиторий github.com/zeek/zeek
Лицензия BSD
Сайт zeek.org

Вывод данных

Цель Zeek — инспектировать сетевой трафик и создавать различные журналы (логи), отражающие зафиксированную активность[1]. Полный перечень лог-файлов опубликован на сайте документации проекта[2].

Пример лога

Далее приведён пример записи (в формате JSON) из файла conn.log[3]:

{
  "ts": 1554410064.698965,
  "uid": "CMreaf3tGGK2whbqhh",
  "id.orig_h": "192.168.144.130",
  "id.orig_p": 64277,
  "id.resp_h": "192.168.144.2",
  "id.resp_p": 53,
  "proto": "udp",
  "service": "dns",
  "duration": 0.320463,
  "orig_bytes": 94,
  "resp_bytes": 316,
  "conn_state": "SF",
  "missed_bytes": 0,
  "history": "Dd",
  "orig_pkts": 2,
  "orig_ip_bytes": 150,
  "resp_pkts": 2,
  "resp_ip_bytes": 372,
  "tunnel_parents": []
}

Threat hunting

Одно из основных назначений Zeek — использоваться при охоте за киберугрозами (threat hunting)[4].

Название

Первоначально автор программы, Верн Паксон, дал системе название «Bro» — как предупреждение, отсылающее к роману Джорджа Оруэлла «1984» и образу Большого Брата. В 2018 году команда проекта решила переименовать программу. В 1990-х годах в Лаборатории Лоуренса в Беркли разработчики запускали свои датчики от имени псевдопользователя «zeek», что и послужило вдохновением для переименования в 2018 году[5].

Развёртывание Zeek

Администраторы безопасности определяют точки в сети, где им требуется мониторинг трафика. В этих местах разворачиваются сетевые TAP-адаптеры или включаются зеркалирующие порты коммутаторов (SPAN) для доступа к трафику. Zeek устанавливают на серверы, имеющие доступ к этим точкам[6]. Программное обеспечение Zeek на сервере интерпретирует сетевой трафик в виде журналов, которые можно сохранять на локальном диске или в удалённом хранилище[7].

Архитектура и анализаторы Zeek

Событийный движок Zeek анализирует сетевой трафик в реальном времени или в записи, формируя нейтральные журналы событий. Zeek использует как типовые порты, так и динамическое определение протокола (анализ сигнатур и поведения) для идентификации протоколов сети[8].

Политики Zeek реализуются на собственном языке сценариев, обладающем полной Тьюринг-полнотой. По умолчанию Zeek записывает сведения о событиях в файлы, но по мере необходимости может быть сконфигурирован для дополнительных действий: отправки сообщений, создания оповещений, выполнения системных команд, обновления метрик или вызова других Zeek-скриптов.

Анализаторы Zeek выполняют декодирование прикладного уровня, обнаружение аномалий, сопоставление сигнатур и анализ соединений[9]. Архитектура Zeek проектировалась с учётом возможности гибкого добавления новых анализаторов. Современный способ реализации новых протокольных анализаторов основан на фреймворке Spicy[10].

Примечания

Ссылки