Malcolm v23.03 releases: powerful, easily deployable network traffic analysis tool
Malcolm is a powerful network traffic analysis tool suite designed with the following goals in mind:
- Easy to use – Malcolm accepts network traffic data in the form of full packet capture (PCAP) files and Zeek (formerly Bro) logs. These artifacts can be uploaded via a simple browser-based interface or captured live and forwarded to Malcolm using lightweight forwarders. In either case, the data is automatically normalized, enriched, and correlated for analysis.
- Powerful traffic analysis – Visibility into network communications is provided through two intuitive interfaces: Kibana, a flexible data visualization plugin with dozens of prebuilt dashboards providing an at-a-glance overview of network protocols; and Moloch, a powerful tool for finding and identifying the network sessions comprising suspected security incidents.
- Streamlined deployment – Malcolm operates as a cluster of Docker containers, isolated sandboxes which each serve a dedicated function of the system. This Docker-based deployment model, combined with a few simple scripts for setup and run-time management, makes Malcolm suitable to be deployed quickly across a variety of platforms and use cases, whether it be for long-term deployment on a Linux server in a security operations center (SOC) or for incident response on a Macbook for an individual engagement.
- Secure communications – All communications with Malcolm, both from the user interface and from remote log forwarders, are secured with industry-standard encryption protocols.
- Permissive license – Malcolm is comprised of several widely used open-source tools, making it an attractive alternative to security solutions requiring paid licenses.
- Expanding control systems visibility – While Malcolm is great for general-purpose network traffic analysis, its creators see a particular need in the community for tools providing insight into protocols used in industrial control systems (ICS) environments. Ongoing Malcolm development will aim to provide additional parsers for common ICS protocols.
Although all of the open-source tools which make up Malcolm are already available and in general use, it provides a framework of interconnectivity which makes it greater than the sum of its parts. And while there are many other network traffic analysis solutions out there, ranging from complete Linux distributions like Security Onion to licensed products like Splunk Enterprise Security, the creators of Malcolm feel its easy deployment and robust combination of tools fill a void in the network security space that will make network traffic analysis accessible to many in both the public and private sectors as well as individual enthusiasts.
In short, Malcolm provides an easily deployable network analysis tool suite for full packet capture artifacts (PCAP files) and Zeek logs. While Internet access is required to build it, it is not required at runtime.
Changelog v23.03
- Enhancements
- Replace Zeek’s misc/scan.zeek with ncsa/bro-simple-scan
- terminate
start
andrestart
scripts once Malcolm has started properly (cisagov#240 and cisagov#241, thanks @Njinx) - minor usability improvements for ISO-installed Malcolm and Hedgehog (#155)
- Added a “Configure Malcolm” menu item (under the “Internet” GTK menu with the other Malcolm stuff) and launcher on the top panel of icons in Malcolm. This runs
./scripts/install.py --configure
in full screen. May look at starting this automatically on first boot in the future. (Malcolm) - Added Malcolm shortcut to gtk-3.0/bookmarks so it shows up in Thunar sidebar (Malcolm)
- Added /opt/sensor/sensor_ctl shortcut to gtk-3.0/bookmarks so it shows up in Thunar sidebar (Hedgehog)
- Have tilix from launcher panel start in /opt/sensor/sensor_ctl (Hedgehog)
- Added a “Configure Malcolm” menu item (under the “Internet” GTK menu with the other Malcolm stuff) and launcher on the top panel of icons in Malcolm. This runs
- minor tweaks to defaults for
install.py --configure
(enable offline-capable file scanners by default) - interrupt NetBox startup import script when
netbox-restore
is run - added NetBox restore logic to
reset_and_auto_populate.sh
script (used mostly for demos and presentations)
- Component version updates
- Arkime to v4.2.0
- OpenSearch and OpenSearch Dashboards to 2.6.0
- Logstash from v8.4.0 to v8.6.1
- Beats to v8.6.2
- Zeek to v5.0.7
- OpenSearch-Py to v2.2.0 (and remove opensearch-dsl which is now part of opensearch-py)
- Supercronic to v0.2.2
- Capa to v5.0.0
- Fluent Bit to v2.0.9
- Version updates to various Python package dependencies
- Fixes
- last few seconds’ Zeek logs prior to log rotation may be lost (#151)
- in ISO-packaged Malcolm installation
scripts
directory, symlinknetbox-backup
andnetbox-restore
tocontrol.py
- improve opensearchpy connect/health check logig in
pcap_watcher.py
inpcap-monitor
container
Copyright 2019 Battelle Energy Alliance, LLC