Software:Zeek

From HandWiki
Short description: Unix-based network security monitoring framework
Zeek
Original author(s)Vern Paxson
Initial release24 January 1998; 26 years ago (1998-01-24)[1]
Written inC++
Operating systemLinux, FreeBSD, macOS
TypeNetwork intrusion detection system
LicenseBSD license
Website{{{1}}}

Zeek is a free and open-source software network analysis framework. Vern Paxson began development work on Zeek in 1995 at Lawrence Berkeley National Lab.[2] Zeek is a network security monitor (NSM) but can also be used as a network intrusion detection system (NIDS).[3] The Zeek project releases the software under the BSD license.

Output

Zeek's purpose is to inspect network traffic and generate a variety of logs describing the activity it sees.[4] A complete list of log files is available at the project documentation site.[5]

Log example

The following is an example of one entry in JSON format from the conn.log:[6]

{
  "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

One of Zeek's primary use cases involves cyber threat hunting.[7]

Name

The principal author, Paxson, originally named the software "Bro" as a warning regarding George Orwell's Big Brother from the novel Nineteen Eighty-Four. In 2018 the project leadership team decided to rename the software. At LBNL in the 1990s, the developers ran their sensors as a pseudo-user named "zeek", thereby inspiring the name change in 2018.[8]

Zeek deployment

Security teams identify locations on their network where they desire visibility. They deploy one or more network taps or enable switch SPAN ports for port mirroring to gain access to traffic. They deploy Zeek on servers with access to those visibility points.[9] The Zeek software on the server deciphers network traffic as logs, writing them to local disk or remote storage.[10]

Zeek application architecture and analyzers

Zeek's event engine analyzes live or recorded network traffic to generate neutral event logs. Zeek uses common ports and dynamic protocol detection (involving signatures as well as behavioral analysis) to identify network protocols.[11]

Developers write Zeek policy scripts in the Turing complete Zeek scripting language. By default Zeek logs information about events to files, but analysts can also configure Zeek to take other actions, such as sending an email, raising an alert, executing a system command, updating an internal metric, or calling another Zeek script.

Zeek analyzers perform application layer decoding, anomaly detection, signature matching and connection analysis.[12] Zeek's developers designed the software to incorporate additional analyzers. The latest method for creating new protocol analyzers relies on the Spicy framework.[13]

References

  1. "Bro 0.3-alpha". https://www.icir.org/vern/tmp/vp-bro-0.3-alpha.tar.gz. 
  2. Paxson, Vern (1998-01-26). "Bro: A System for Detecting Network Intruders in Real-Time" (in en-US). https://www.usenix.org/publications/library/proceedings/sec98/full_papers/paxson/paxson.pdf. 
  3. McCarty, Ronald. "Bro IDS » ADMIN Magazine" (in en-US). https://www.admin-magazine.com/Archive/2014/24/Network-analysis-with-the-Bro-Network-Security-Monitor. 
  4. "Zeek Network Security Monitor". 22 December 2021. https://www.socinvestigation.com/zeek-network-traffic-analysis-and-security-monitoring-tool/. 
  5. "Zeek Script Reference Log Files" (in en-US). https://docs.zeek.org/en/master/script-reference/log-files.html. 
  6. Wright, Joshua (2019-12-09). "Parsing Zeek JSON Logs with JQ" (in en-US). https://www.sans.org/blog/parsing-zeek-json-logs-with-jq/. 
  7. Ooi, Eric (22 November 2023). "Zeekurity Zen - Part IV: Threat Hunting with Zeek" (in en-US). https://ooiventures.com/zeekurity-zen-part-iv-threat-hunting-with-zeek/. 
  8. Paxson, Vern (2018-10-11). "Renaming the Bro Project". https://zeek.org/2018/10/11/renaming-the-bro-project/. 
  9. "Enabling SOHO Network Monitoring". 2020-04-07. https://corelight.com/blog/enabling-soho-network-security-monitoring. 
  10. Ooi, Eric (3 January 2019). "Zeekurity Zen Part III: How to Send Zeek Logs to Splunk" (in en-US). https://www.ericooi.com/zeekurity-zen-part-iii-how-to-send-zeek-logs-to-splunk/. 
  11. Grashöfer, Jan; Titze, Christian; Hartenstein, Hannes (2019). "Attacks on Dynamic Protocol Detection of Open Source Network Security Monitoring Tools". arXiv:1912.03962 [cs.NI].
  12. Sommer, Robin (2003). "Bro: An Open Source Network Intrusion Detection System". CiteSeerX 10.1.1.60.5410.
  13. "Spicy". 11 June 2022. https://github.com/zeek/spicy. 

External links