Open Source IDS Tools

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

Open Source IDS Tools

Whether you need to monitor hosts or the networks connecting them to identify the
latest threats, there are some great open source intrusion detection (IDS) tools
available to you.

List of Open Source IDS Tools


 Snort

 Suricata

 Bro (Zeek)

 OSSEC

 Samhain Labs

 OpenDLP

IDS Detection Techniques


There are two primary threat detection techniques: signature-based detection and
anomaly-based detection. These detection techniques are important when you’re
deciding whether to go with a signature or anomaly detection engine, but vendors
have become aware of the benefits of each, and some are building both into their
products. Learning their strengths and weaknesses enables you to understand how
they can complement one another.

Signature-based IDS Tools


With a signature-based IDS, aka knowledge-based IDS, there are rules or patterns
of known malicious traffic being searched for. Once a match to a signature is found,
an alert is sent to your administrator. These alerts can discover issues such as
known malware, network scanning activity, and attacks against servers.

Anomaly-based IDS Tools


With an anomaly-based IDS, aka behavior-based IDS, the activity that generated the
traffic is far more important than the payload being delivered. An anomaly-based IDS
tool relies on baselines rather than signatures. It will search for unusual activity that
deviates from statistical averages of previous activities or previously seen activity.
For example, if a user always logs into the network from California and accesses
engineering files, if the same user logs in from Beijing and looks at HR files this is a
red flag.

Both signature-based and anomaly-based detection techniques are typically


deployed in the same manner, though one could make the case you could (and
people have) create an anomaly-based IDS on externally-collected netflow data or
similar traffic information.

Advantages and Disadvantages


Fewer false positives occur with signature-based detection but only known
signatures are flagged, leaving a security hole for the new and yet-to-be-identified
threats. More false positives occur with anomaly-based detection but if configured
properly it catches previously unknown threats.

Network-Based IDS (NIDS)


Network-based intrusion detection systems (NIDS) operate by inspecting all traffic on
a network segment in order to detect malicious activity. With NIDS, a copy of traffic
crossing the network is delivered to the NIDS device by mirroring the traffic crossing
switches and/or routers.

A NIDS device monitors and alerts on traffic patterns or signatures. When malicious
events are flagged by the NIDS device, vital information is logged. This data needs
to be monitored in order to know an event happened. By combining this information
with events collected from other systems and devices, you can see a complete
picture of your network’s security posture. Note that none of the tools here correlate
logs by themselves. This is generally the function of a Security Information and
Event Manager (SIEM).

Snort

Ah, the venerable piggy that loves packets. Many people will remember 1998 as the
year Windows 98 came out, but it was also the year that Martin Roesch first released
Snort. Although Snort wasn't a true IDS at the time, that was its destiny. Since then it
has become the de-facto standard for IDS, thanks to community contributions.
It's important to note that Snort has no real GUI or easy-to-use administrative
console, although lots of other open source tools have been created to help out,
such as BASE and Sguil. These tools provide a web front end to query and analyze
alerts coming from Snort IDS.

Snort Summary

 Long product life with no signs of going away

 Great community support

 Plenty of administrative front-ends

 Thoroughly proven and tested

 Great community support

 According to Snort’s website, features include:


o Modular design:

o Multi-threading for packet processing

o Shared configuration and attribute table

o Use a simple, scriptable configuration

o Plugin framework, make key components pluggable (and 200+ plugins)

o Auto-detect services for portless configuration

o Auto-generate reference documentation

o Scalable memory profile

o Rule parser and syntax (support sticky buffers in rules)

Suricata
What's the only reason for not running Snort? If you're using Suricata instead.
Although Suricata's architecture is different than Snort, it behaves the same way as
Snort and can use the same signatures. What's great about Suricata is what else it's
capable of over Snort. It does so much more, it probably deserves a dedicated post
of its own.

There are third-party open source tools available for a web front end to query and
analyze alerts coming from Suricata IDS.

Suricata Summary

 Multi-Threaded - Snort runs with a single thread meaning it can only use one
CPU(core) at a time. Suricata can run many threads so it can take advantage of all
the cpu/cores you have available. There has been much contention on whether this
is advantageous, Snort says No and a few benchmarks say Yes.

 Built in Hardware Acceleration - Did you know you can use graphic cards to inspect
network traffic?

 File Extraction - Someone downloading malware? You can capture it right from
Suricata and study it.

 LuaJIT - It's a lot of letters yes, but it's also a scripting engine that can be used with
information from the packets inspected by Suricata. This makes complex matching
even easier and you can even gain efficiency by combining multiple rules into one
script.

 Logging more than packets - Suricata can grab and log things like TLS/SSL certs,
HTTP requests, DNS requests

 Great community support

 According to Suricata’s website, features include:


o High performance - multi-threaded, scalable code base

o Multipurpose Engine - NIDS, NIPS, NSM, offline analysis, etc.

o Cross-platform support - Linux, Windows, macOS, OpenBSD, etc.

o Modern TCP/IP support including a scalable flow engine, full IPv4/IPv6, TCP
streams, and IP packet defragmentation
o Protocol parsers - packet decoding, application layer decoding

o HTTP engine - HTTP parser, request logger, keyword match, etc.

o Autodetect services for portless configuration

o Lua scripting (LuaJIT)

o Application-layer logging and analysis, including TLS/SSL certs, HTTP


requests, DNS requests, and more
o Built-in hardware acceleration (GPU for network sniffing)

o File extraction
Bro (renamed Zeek)
Bro, which was renamed Zeek in late 2018 and is sometimes referred to as Bro-IDS
or now Zeek-IDS, is a bit different than Snort and Suricata. In a way, Bro is both a
signature and anomaly-based IDS. Its analysis engine will convert traffic captured
into a series of events. An event could be a user login to FTP, a connection to a
website or practically anything. The power of the system is what comes after the
event engine and that's the Policy Script Interpreter. This policy engine has its own
language (Bro-Script) and it can do some very powerful and versatile tasks.

If you're an analyst and you've wondered "How can I automate some of my work?"
then this is the tool you've been looking for. Want to download files seen on the wire,
submit them for malware analysis, notify you if a problem is found then blacklist the
source and shutdown the user's computer who downloaded it? Want to track the
usage patterns of a user after they've contacted an IP from a reputation database?

If you're not an analyst then this tool will have a challenging learning curve. Since it
was developed as a research tool, it didn't initially focus on things like GUIs,
usability, and ease of installation. While it does numerous cool things out of the box
many of those things aren't immediately actionable and may be difficult to interpret.

There’s no native GUI but there are third-party open source tools available for a web
front end to query and analyze alerts coming from Bro-IDS. Consider ELK stack.

Bro Summary

 Complicated to set up

 Can detect patterns of activity other IDS systems can not

 Very extensible architecture

 Good community support

 According to Bro’s website, features include:


o Comprehensive traffic logging and analysis

o Powerful and flexible event-driven scripting language (Bro scripts)

o Deploys on UNIX-style systems, including Linux, FreeBSD, and MacOS

o DNS/FTP/HTTP/IRC/SMTP/SSH/SSL/other protocol support

o Fully passive traffic analysis with network tap or monitoring port

o Real-time and offline analysis

o Cluster-support for large-scale deployments


o Comprehensive IPv6 support

o IDS-style pattern matching

o File extraction

o Extensible architecture

o Analysts can use Bro for automation (file extraction, malware analysis,
blacklisting, track usage patterns, research work, etc.)

Host-based IDS (HIDS)


Host-based intrusion detection systems (HIDS) work by monitoring activity occurring
internally on an endpoint host. HIDS applications (e.g. antivirus software, spyware-
detection software, firewalls) are typically installed on all internet-connected
computers within a network, or on a subset of important systems, such as servers.
This includes those in public cloud environments.

HIDS search for unusual or nefarious activities by examining logs created by the
operating system, looking for changes made to key system files, tracking installed
software, and sometimes examining the network connections a host makes.

The first HIDS systems were basic, usually just creating MD5 hashes of files on a
recurring basis and looking for discrepancies, utilizing a process dubbed file integrity
monitoring (FIM). Since then, HIDS have grown far more complex and perform a
variety of useful security functions and will continue to grow. This includes modern
Endpoint Response (EDR) capabilities.

If your organization has a compliance mandate, such as for PCI DSS, HIPAA, or ISO
27001, then you may require HIDS to demonstrate file integrity monitoring (FIM) as
well as active threat monitoring.

OSSEC
In the realm of full-featured open source HIDS tools, there is OSSEC and not much
else. The great news is OSSEC is very good at what it does and is rather extensible.

OSSEC runs on almost any major operating system and includes client/server based
management and logging architecture, which is very important in a HIDS system.
Since local HIDS can be compromised at the same time the OS is, it is very
important security and forensic information leave the host and be stored elsewhere
asap to avoid any kind of tampering or obfuscation that would prevent detection.

OSSEC's client/server architecture incorporates this strategy by delivering alerts and


logs to a centralized server where analysis and notification can occur even if the host
system is taken offline or compromised. Another advantage of client/server
architecture is the ability to centrally manage agents from a single server. Since
deployments can range from one to thousands of installations, the ability to make
global changes from a central server is critical for an administrator's sanity.

When discussing OSSEC (and other HIDS) there is often anxiety over installing an
agent or software on critical servers. It should be noted that the installation of
OSSEC is extremely light (the installer is under 1MB) and the majority of analysis
actually occurs on the server which means very little CPU is consumed by OSSEC
on the host. OSSEC also has the ability to send OS logs to the server for analysis
and storage, which is particularly helpful on Windows machines that have no native
and cross-platform logging mechanisms.

OSSEC Summary:

 Agents for almost every OS

 Compiled Agent for Windows

 Lots of functionality than just FIM

 Rigid but simple installation process

 Good community support

 According to OSSEC’s website, features include:


o File integrity monitoring (FIM)

o Log monitoring collects, analyzes, and correlates system logs

o Rootkit detection, which searches for system modifications similar to rootkits

o Active response can invoke automated response action when alerts are
triggered
o Client/Server architecture

o Multi-platform support (Linux, Solaris, Windows, MacOS, etc.)

o Supports compliance requirements for FIM

o Real-time and configurable alerts

o Integration with current infrastructure

o Centralized server for mass policy management

o Agent and agentless monitoring


Samhain Labs

Samhain is probably the only HIDS open-source that gives OSSEC a run for its
money. But it’s very much the case of “same but different” when comparing the two.
Samhain has the same client/server architecture but doesn’t require it as OSSEC
does. The agent itself has a variety of output methods, one being a central log
repository but includes others like Syslog, Email, and RDBMS. There is even an
option to use Samhain as a standalone application on a single host.

Another important difference is where analysis occurs. Unlike OSSEC, the


processing occurs on the client itself, which has operational implications. From a
practical point of view, care must be taken it doesn’t overload a busy server and
interfere with operations. From the security point of view, having the brains on the
endpoint invites hackers to deactivate the tool so warnings aren’t issued.

Samhain Summary:

 Harder to install

 Windows clients require Cygwin

 Great FIM functionality

 More flexible client

 Okay community support

 According to Samhain’s website, features include:


o File integrity monitoring (FIM)

o Log file monitoring and analysis

o Rootkit detection

o Port monitoring

o Detection of rogue SUID executables and hidden processes

o Multi-platform support

o Centralized logging and maintenance


o Client/Server architecture (mostly)

o Variety of output methods (e.g. syslog, email RDBMS)

o Can be used as a standalone application on a single host

File Integrity Monitoring (FIM Only)


Many file integrity monitoring (FIM) tools get categorized with HIDS since FIM
involves threat detection, so let’s talk about them. FIM is tool that validates operating
system and specified application file integrity by comparing current versions with
known valid versions, alerting your administrator whenever they are modified. This is
important because changes on critical servers often signal a breach has occurred. If
you are still wondering “what is file integrity monitoring and why do I need it?”, we
have an entire blog post explaining why.

Some FIM are actively developed while others haven't been updated in years. Open
Source Tripwire and AFICK are two open-source FIM products options. For
standalone Unix-based systems, consider checking out rootkit-finding file integrity
checkers, such as chkrootkit, rkhunter, or Unhide. The unique rootkit-finding
mechanism makes these solutions worth considering. Proprietary solutions are also
available for Windows.

AlienVault Unified Security Management (USM) Platform provides built-in FIM


capabilities to drive threat detection technologies and accelerate your cybersecurity
compliance efforts. To learn more about how AlienVault USM uses FIM to protect
your assets, read here.

Final Thoughts
Hopefully this guide has helped you understand some of your open source options.
As shown here, there has never before been so many choices or a broader set of
tools available. With careful planning, and a plan for ongoing maintenance, you can
build a secure network with these tools. With careful planning, and a plan for ongoing
maintenance, you can build a secure netork with these tools.

You might also like