Zeek | |
Author: | Vern Paxson |
Released: | [1] |
Programming Language: | C++ |
Operating System: | Linux, FreeBSD, macOS |
Genre: | Network intrusion detection system |
License: | BSD license |
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.
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]
The following is an example of one entry in JSON format from the conn.log:[6]
One of Zeek's primary use cases involves cyber threat hunting.[7]
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]
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'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]