Zeek (ex Bro): Network Security Monitor open source

Zeek — già Bro, avviato da Vern Paxson al Lawrence Berkeley National Lab nel 1995. Rebranding ufficiale da Bro a Zeek l'11 ottobre 2018. Network Security Monitor event-driven con scripting language proprio, licenza BSD, log strutturati conn/http/dns/ssl.

Cyber SecurityOpen Source ZeekBroNSMNetwork SecurityCyber SecurityOpen Source

Da Bro a Zeek

Bro nasce nel 1995 al Lawrence Berkeley National Lab come progetto di ricerca di Vern Paxson, con il nome ispirato al Grande Fratello di Orwell. L’obiettivo è monitorare il traffico di rete in modo passivo e programmabile, con un approccio diverso dai classici IDS a firma.

Per vent’anni il progetto è mantenuto come riferimento accademico e usato in ambienti operativi, ma il nome “Bro” diventa nel tempo fonte di ambiguità. L’11 ottobre 2018, durante la BroCon rinominata ZeekWeek, viene annunciato il rebranding ufficiale in Zeek.

Il codice è mantenuto oggi sotto la tutela della Zeek Project (governance ospitata da Corelight, azienda fondata nel 2013 da membri del team originale), con licenza BSD a 3 clausole.

Architettura event-driven

Zeek si differenzia dagli IDS classici: non cerca pattern malevoli, ma estrae eventi dal traffico e permette di descrivere logiche di sicurezza in uno scripting language dedicato.

Flusso tipico:

  1. Capture — libpcap, AF_PACKET, PF_RING per acquisizione ad alto throughput
  2. Event engine — parser di protocollo che genera eventi semantici (es. http_request, ssl_established, dns_request)
  3. Script layer — script Zeek che consumano eventi e producono log o alert
  4. Logging framework — output strutturato su file (TSV o JSON) o broker downstream

Scripting language

Il linguaggio Zeek è tipizzato, event-driven, funzionale-imperativo. Offre:

  • tipi espressivi (addr, port, subnet, interval, pattern)
  • tabelle e set con chiavi composte
  • handler sugli eventi di protocollo
  • moduli con namespace e load dinamico
  • notice framework per emissione strutturata di notifiche security

Log strutturati

Zeek produce decine di log per-protocollo pronti per SIEM:

  • conn.log — sessioni TCP/UDP/ICMP
  • http.log — richieste HTTP con metodo, host, URI, user-agent
  • dns.log — query e risposte DNS
  • ssl.log / x509.log — handshake TLS e certificati
  • ssh.log — sessioni SSH con server/client version
  • files.log — oggetti trasferiti, hash, mime-type
  • notice.log — notifiche di sicurezza
  • software.log — software detection per host

Questi log sono diventati uno standard de facto nel Network Security Monitoring.

Integrazioni

  • Security Onion — distribuzione NSM che include Zeek + Suricata + Elastic
  • Corelight — sensor commerciali basati su Zeek
  • Elastic Common Schema (ECS) — mapping ufficiale per ingest in Elastic
  • Wazuh, Graylog, OpenSearch — ingestion di log Zeek per correlazione
  • Suricata — spesso affiancato per avere IDS signature-based e NSM event-driven

Adozione

Zeek è adottato in:

  • Research & education network (REN) — NREN europei, Internet2, ESnet
  • Università e centri di ricerca — monitoraggio traffico campus
  • Agenzie governative — analisi retrospettiva su grandi volumi
  • SOC e threat hunting team — indagini basate su metadati di rete

Nel contesto italiano

In Italia Zeek è utilizzato da GARR, università, CERT regionali e SOC avanzati, spesso come base per indagini forensi di rete e ricostruzione di sessioni anche senza full packet capture. L’integrazione con Security Onion e l’ecosistema ECS semplifica il deployment operativo.


Riferimenti: Zeek (ex Bro). Rebranding ufficiale: 11 ottobre 2018 (BroCon→ZeekWeek). Avviato da Vern Paxson al Lawrence Berkeley National Lab nel 1995. Licenza BSD a 3 clausole. Azienda commerciale di riferimento: Corelight (2013). Log strutturati: conn, http, dns, ssl, ssh, files, notice. Integrazione Security Onion, Elastic ECS. Sito: https://zeek.org

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi