Intrusion Detection ~
computers, servers, networks
IDS DETECTION TECHNIQUES
There are two primary threat detection techniques: signature-based detection and anomaly-based detection. These detection techniques are important when you are 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, usually in real-time.
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. These are easily configurable, or can be built using pre-supplied Use-Case parameters.
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.
Fewer false-positives occur with signature-based detection where only known signatures are flagged, leaving a potential 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. It is usually relatively easy to configure.
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 might 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, notably Snorby, and others like BASE and Sguil. These tools provide a web front end to query and analyze alerts coming from Snort IDS.
Snort Summary:
• Great community support
• According to Snort’s website, features include:
• Modular design;
• Multi-threading for packet processing;
• Shared configuration and attribute table;
• Use a simple, scriptable configuration;
• Plugin framework, make key components pluggable (and 200+ plugins);
• Auto-detect services for port-less configuration;
• Auto-generate reference documentation;
• Scalable memory profile;
• 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 computer 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 is capable of over Snort. There are third-party open source tools available for a web front end to query and analyze alerts coming from Suricata IDS.
Suricata Summary:
• Great community support
• According to Suricata’s website, features include:
High performance - multi-threaded, scalable code base;
Multipurpose Engine - NIDS, NIPS, NSM, offline analysis, etc.;
Cross-platform support - Linux, Windows, macOS, OpenBSD, etc.;
Modern TCP/IP support including a scalable flow engine, full IPv4/IPv6, TCP streams, and IP packet defragmentation;
Protocol parsers - packet decoding, application layer decoding;
HTTP engine - HTTP parser, request logger, keyword match, etc.;
Autodetect services for portless configuration;
Lua scripting (LuaJIT);
Application-layer logging and analysis, including TLS/SSL certs, HTTP requests, DNS requests, and more;
Built-in hardware acceleration (GPU for network sniffing);
File extraction.
BRO
Bro, sometimes referred to as Bro-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 are a tech or network analyst and you have 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? Again, then this is the tool for you.
If you’re not an analyst then this tool will have a challenging learning curve. Since it was developed as a tech 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:
• Great community support
• According to Snort’s website, features include:
Comprehensive traffic logging and analysis;
Powerful and flexible event-driven scripting;
language (Bro scripts)
• Deploys on UNIX-style systems, including Linux;
FreeBSD, and MacOS
• DNS/FTP/HTTP/IRC/SMTP/SSH/SSL/other protocols
support
• Fully passive traffic analysis with network tap or
monitoring port
• Real-time and offline analysis
• Cluster-support for large-scale deployments
• Comprehensive IPv6 support
• IDS-style pattern matching
• File extraction
• Extensible architecture
• 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:
• Great community support
• According to Snort’s website, features include:
File integrity monitoring (FIM);
Log monitoring collects, analyzes, and correlates system logs;
Rootkit detection, which searches for system modifications similar to rootkits;
Active response can invoke automated response action when alerts are triggered;
Client/Server architecture;
Multi-platform support (Linux, Solaris, Windows, MacOS, etc.);
Supports compliance requirements for FIM;
Real-time and configurable alerts;
Integration with current infrastructure;
Centralized server for mass policy management;
Agent and agentless monitoring
• A plugin for OSSEC is available for USM Anywhere
SAMHAIN LABS
Samhain is probably the only HIDS open-source that gives OSSEC a run for its money. But it is very much the case of “same but different” when comparing the two. Samhain has the same client/server architecture but doesn’t require it like 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:
• Great community support
• According to Snort’s website, features include:
• File integrity monitoring (FIM);
• Log file monitoring and analysis;
• Rootkit detection;
• Port monitoring;
• Detection of rogue SUID executables and hidden processes • Multi-platform support;
• Centralized logging and maintenance;
• Client/Server architecture (mostly);
• Variety of output methods (e.g. syslog, email RDBMS);
• Can be used as a standalone application on a single host.
OSQUERY AS A SECURITY TOOL
OSQuery is a difficult to classify security tool. It is part host intrusion detection, part file integrity monitoring, part system monitor. Basically, OSQuery exposes important operating system configuration elements and status in a high-performance relational database. Administrators can write SQL queries to explore operating system data. OSQuery builds SQL tables representing abstract concepts such as running processes, loaded kernel modules, open network connections, browser plugins, hardware events or file hashes.
If this sounds both powerful and complex, you are right. OSQuery is the ultimate “roll your own” tool for system administration and security applications where insight into what is happening on your endpoints is needed. Administrators can query the database to figure out, for example, which systems have a particular malware process running on them or have files that have been modified in specific ways by a threat actor. But you’ll need third party tools and script development to get the most out of OSQuery.
OSQuery Summary:
• Endpoint visibility tool allows remote query of details of configurations;
• Tool is under active development and used by many security vendors;
• Requires extensive scripting or third party scripts to get true value from the tool.
• According to OSQuery’s website, features include:
• Supports Windows, Linux, MacOS, FreeBSD;
• Exposes entire endpoint configuration as a relational database for query by external applications;
• File Integrity Monitoring;
• Malware/signature detection via YARA;
• Process auditing;
• APIs for remote management (via your scripts or third party scripts);
• Log collection via Syslog.
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.
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.
Various Unified Security Management (USM) Platforms provides built in FIM-capabilities to drive threat detection technologies and accelerate your cybersecurity compliance efforts.
SUMMARY
Hopefully this thumbnail brief guide has helped you understand some of your open source options. As discussed, 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.
One final thought - if you are going the open source route, it will be very important to stay “tuned in” to the developments in cyber security. The current moment finds us in the middle of an evolution in our approach to security. We are seeing Endpoint Detection and Response (which is partly addressed by OSQuery), ML-based user behavioral analytics, and even honeypots and deception moving from experimental technologies used by cutting-edge large enterprises to more mainstream deployments. As these become more commonplace, and new ones are developed, you will need to further augment your open source strategy with new tools, or hope that the community adds support for them into a product you have already deployed.
To ensure that you are always equipped to detect the latest emerging threats:
Leverage intrusion detection for any environment with built- in cloud IDS, network IDS, and host-based IDS (including File Integrity Monitoring (FIM));
Use the Kill Chain Taxonomy to quickly assess threat intent and strategy;
Make informed decisions with contextual data about attacks, including a description of the threat, its method and strategy, and recommendations on response;
Use automatic notifications so you can be informed of key threats as they happen;
Work more efficiently with powerful analytics that uncover threat and vulnerability details - all in one console.
GLOSSARY:
Glossary of Terms
EDR - ENDPOINT RESPONSE
FIM - FILE INTEGRITY MONITORING
HIDS/H-IDS - HOST-BASED INTRUSION DETECTION SYSTEMS IDS - INTRUSION DETECTION SYSTEMS
NIDS/N-IDS - NETWORK-BASED INTRUSION DETECTION SYSTEMS NSM - NETWORK SECURITY MONITORING
SIEM - SECURITY INCIDENT AND EVENT MANAGEMENT
USM - UNIFIED SECURITY MANAGEMENT