Open Source IDS Tools: Comparing Suricata, Snort, Bro (Zeek), Linux

Orspronkelijk geschreven door Joe Schreiber, herschreven en bewerkt door Guest Blogger, herschreven en uitgebreid door Rich Langston

Of u nu hosts of de netwerken die hen verbinden moet monitoren om de nieuwste bedreigingen te identificeren, er zijn enkele geweldige open source intrusion detection (IDS) tools voor u beschikbaar.

Lijst van Open Source IDS Tools

  • Snort
  • Suricata
  • Bro (Zeek)
  • OSSEC
  • Samhain Labs
  • OpenDLP

IDS-detectietechnieken

Er zijn twee primaire detectietechnieken voor bedreigingen: signature-based detection en anomaly-based detection. Deze detectietechnieken zijn belangrijk bij de keuze voor een engine voor detectie op basis van handtekeningen of een engine voor detectie op basis van anomalieën, maar leveranciers zijn zich bewust geworden van de voordelen van beide, en sommige bouwen beide in hun producten in. Door hun sterke en zwakke punten te leren kennen, kunt u begrijpen hoe ze elkaar kunnen aanvullen.

Signature-based IDS Tools

Bij een signature-based IDS, ook wel kennisgebaseerde IDS genoemd, wordt er gezocht naar regels of patronen van bekend schadelijk verkeer. Zodra een overeenkomst met een handtekening is gevonden, wordt een waarschuwing naar uw beheerder gestuurd. Deze waarschuwingen kunnen problemen aan het licht brengen, zoals bekende malware, netwerkscanactiviteiten en aanvallen op servers.

Unified Security Management

Eén platform dat de essentiële beveiligingsmogelijkheden combineert, waaronder IDS, asset discovery en SIEM-logboekbeheer.

Meer informatie

Anomaly-based IDS Tools

Bij een anomaly-based IDS, ook wel behavior-based IDS genoemd, is de activiteit die het verkeer genereert veel belangrijker dan de payload die wordt afgeleverd. Een anomalie-gebaseerde IDS-tool vertrouwt op basislijnen in plaats van op handtekeningen. Het zal zoeken naar ongewone activiteit die afwijkt van statistische gemiddelden van eerdere activiteiten of eerder geziene activiteit. Als een gebruiker bijvoorbeeld altijd vanuit Californië inlogt op het netwerk en toegang heeft tot technische bestanden, en dezelfde gebruiker logt in vanuit Peking en bekijkt HR-bestanden, dan is dat een rode vlag.

Detectietechnieken op basis van zowel handtekeningen als anomalieën worden doorgaans op dezelfde manier ingezet, hoewel je zou kunnen stellen dat je een anomalie-gebaseerd IDS zou kunnen maken (en mensen hebben dat ook gedaan) op basis van extern verzamelde netflowgegevens of vergelijkbare verkeersinformatie.

Voordelen en nadelen

Er zijn minder fout-positieven bij detectie op basis van handtekeningen, maar alleen bekende handtekeningen worden gemarkeerd, waardoor er een veiligheidsgat overblijft voor nieuwe en nog te identificeren bedreigingen. Bij anomalie-gebaseerde detectie is er sprake van meer valse meldingen, maar als deze goed is geconfigureerd, worden ook onbekende bedreigingen gesignaleerd.

Network-Based IDS (NIDS)

Network-based intrusion detection systems (NIDS) inspecteren al het verkeer op een netwerksegment om kwaadaardige activiteiten te detecteren. Bij NIDS wordt een kopie van het verkeer dat het netwerk passeert, aan het NIDS-apparaat geleverd door het verkeer dat de switches en/of routers passeert, te spiegelen.

Een NIDS-apparaat controleert en waarschuwt op basis van verkeerspatronen of handtekeningen. Wanneer kwaadaardige gebeurtenissen door het NIDS-apparaat worden gesignaleerd, wordt vitale informatie gelogd. Deze gegevens moeten worden gecontroleerd om te weten of een gebeurtenis heeft plaatsgevonden. Door deze informatie te combineren met gebeurtenissen die van andere systemen en apparaten worden verzameld, kunt u een compleet beeld krijgen van de beveiligingsstatus van uw netwerk. Merk op dat geen van de hier genoemde tools zelf logs correleert. Dit is over het algemeen de functie van een Security Information and Event Manager (SIEM).

Snort

Ah, het eerbiedwaardige varkentje dat van pakketjes houdt. Veel mensen zullen zich 1998 herinneren als het jaar dat Windows 98 uitkwam, maar het was ook het jaar dat Martin Roesch voor het eerst Snort uitbracht. Hoewel Snort toen nog geen echte IDS was, was dat wel zijn lot. Sindsdien is het de de-facto standaard voor IDS geworden, dankzij de bijdragen van de gemeenschap.

Het is belangrijk om op te merken dat Snort geen echte GUI of eenvoudig te gebruiken administratieve console heeft, hoewel er veel andere open source tools zijn gemaakt om te helpen, zoals BASE en Sguil. Deze tools bieden een web front end voor het opvragen en analyseren van waarschuwingen afkomstig van Snort IDS.

Snort Summary

  • Lange levensduur van het product zonder tekenen van verdwijning
  • Goede ondersteuning door de gemeenschap
  • Veel administratieve front-ends
  • Degen bewezen en getest
  • Goede ondersteuning door de gemeenschap
  • Volgens de website van Snort zijn de kenmerken onder meer:
    • Modulair ontwerp:
    • 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 portless configuration
    • Auto-generate reference documentation
    • Scalable memory profile
    • Rule parser and syntax (support sticky buffers in rules)
  • Documentation:
    • Ruleset Updates
    • Snort FAQ
    • A Snort Cheatsheet
    • A plugin for Snort is available for AlienVault USM Anywhere.

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. Het kan zoveel meer, dat het waarschijnlijk een eigen post verdient.

Er zijn third-party open source tools beschikbaar voor een web front end om de waarschuwingen van Suricata IDS te analyseren.

Suricata Summary

  • Multi-Threaded – Snort draait op een enkele thread, wat betekent dat het maar een CPU(core) tegelijk kan gebruiken. Suricata kan meerdere threads draaien zodat het gebruik kan maken van alle cpu/cores die je beschikbaar hebt. Er is veel onenigheid geweest over de vraag of dit voordelig is, Snort zegt van niet en een paar benchmarks zeggen van wel.
  • Ingebouwde Hardwareversnelling – Wist u dat u grafische kaarten kunt gebruiken om netwerkverkeer te inspecteren?
  • Bestandsextractie – Iemand die malware downloadt? U kunt het direct vanuit Suricata vastleggen en bestuderen.
  • LuaJIT – Het zijn een heleboel letters ja, maar het is ook een scripting engine die kan worden gebruikt met informatie uit de pakketten die door Suricata worden geïnspecteerd. Dit maakt complexe matching nog eenvoudiger en je kunt zelfs efficiency winnen door meerdere regels in één script te combineren.
  • Meer dan packets loggen – Suricata kan zaken als TLS/SSL certs, HTTP-verzoeken, DNS-verzoeken vastleggen en loggen
  • Grote ondersteuning van de gemeenschap
  • Volgens de website van Suricata zijn de kenmerken onder andere:
    • Hoge prestaties – multi-threaded, schaalbare code base
    • Multipurpose Engine – NIDS, NIPS, NSM, offline analyse, etc.
    • Cross-platform ondersteuning – Linux, Windows, macOS, OpenBSD, etc.
    • Moderne TCP/IP ondersteuning inclusief een schaalbare flow engine, volledige IPv4/IPv6, TCP streams, en IP pakket defragmentatie
    • Protocol parsers – pakket decodering, applicatie laag decodering
    • 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
  • Documentation:
    • Suricata User Guide
    • User and Developer Docs
    • Suricata FAQ

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. Deze policy engine heeft zijn eigen taal (Bro-Script) en kan een aantal zeer krachtige en veelzijdige taken uitvoeren.

Als je een analist bent en je hebt je afgevraagd “Hoe kan ik een deel van mijn werk automatiseren?” dan is dit de tool waar je naar op zoek bent geweest. Wilt u bestanden downloaden die u op internet hebt gezien, deze indienen voor malware-analyse, u waarschuwen als er een probleem is gevonden en vervolgens de bron op een zwarte lijst plaatsen en de computer van de gebruiker die het heeft gedownload afsluiten? Wilt u de gebruikspatronen van een gebruiker volgen nadat hij contact heeft gemaakt met een IP vanuit een reputatie database?

Als u geen analist bent, zal deze tool een uitdagende leercurve hebben. Omdat het is ontwikkeld als een onderzoeks-tool, was het in eerste instantie niet gericht op zaken als GUI’s, bruikbaarheid, en installatiegemak. Hoewel het een groot aantal leuke dingen doet, zijn veel van die dingen niet direct bruikbaar en moeilijk te interpreteren.

Er is geen native GUI, maar er zijn third-party open source tools beschikbaar voor een web front end om alerts van Bro-IDS te analyseren. 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:
    • 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 protocol 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.)
  • Documentatie:
    • Bro Handleiding
    • Bro Docs
    • Bro FAQ

    Host-based IDS (HIDS)

    Host-based intrusion detection systems (HIDS) werken door het monitoren van activiteit die intern op een endpoint host plaatsvindt. HIDS-toepassingen (bijv. antivirussoftware, spywaredetectiesoftware, firewalls) worden doorgaans geïnstalleerd op alle met internet verbonden computers binnen een netwerk, of op een subset van belangrijke systemen, zoals servers.

    HIDS zoeken naar ongebruikelijke of schadelijke activiteiten door logboeken van het besturingssysteem te onderzoeken, te zoeken naar wijzigingen in belangrijke systeembestanden, geïnstalleerde software te volgen en soms de netwerkverbindingen die een host maakt, te onderzoeken.

    De eerste HIDS-systemen waren eenvoudig en maakten meestal alleen maar regelmatig MD5-hashes van bestanden en keken naar afwijkingen, waarbij ze gebruik maakten van een proces dat file integrity monitoring (FIM) werd genoemd. Sindsdien zijn HIDS veel complexer geworden en voeren ze een verscheidenheid aan nuttige beveiligingsfuncties uit, en dit zal zo blijven. Dit omvat ook moderne Endpoint Response (EDR) mogelijkheden.

    Als uw organisatie een compliance-mandaat heeft, zoals voor PCI DSS, HIPAA, of ISO 27001, dan kan het zijn dat u van HIDS verlangt dat ze zowel bestandsintegriteitsbewaking (FIM) als actieve dreigingsbewaking aantonen.

    OSSEC

    In het rijk van de full-featured open source HIDS-tools is er OSSEC en niet veel anders. Het goede nieuws is dat OSSEC erg goed is in wat het doet en behoorlijk uitbreidbaar is.

    OSSEC draait op bijna elk groot besturingssysteem en bevat een client/server gebaseerde management en logging architectuur, wat erg belangrijk is in een HIDS systeem. Omdat lokale HIDS gecompromitteerd kan worden op hetzelfde moment als het besturingssysteem, is het zeer belangrijk dat beveiliging en forensische informatie de host verlaat en zo snel mogelijk elders wordt opgeslagen om elke vorm van manipulatie of verduistering te voorkomen die detectie zou voorkomen.

    OSSEC’s client/server architectuur bevat deze strategie door het leveren van waarschuwingen en logs aan een gecentraliseerde server waar analyse en kennisgeving kan plaatsvinden, zelfs als het host systeem offline is gehaald of gecompromitteerd is. Een ander voordeel van de client/server-architectuur is de mogelijkheid om agents centraal te beheren vanaf een enkele server. Aangezien implementaties kunnen variëren van één tot duizenden installaties, is de mogelijkheid om globale wijzigingen aan te brengen vanaf een centrale server van cruciaal belang voor het gezonde verstand van een beheerder.

    Bij de bespreking van OSSEC (en andere HIDS) bestaat er vaak bezorgdheid over het installeren van een agent of software op kritieke servers. Opgemerkt moet worden dat de installatie van OSSEC zeer licht is (het installatieprogramma is minder dan 1 MB) en dat het merendeel van de analyse plaatsvindt op de server, wat betekent dat er zeer weinig CPU wordt gebruikt door OSSEC op de host. OSSEC heeft ook de mogelijkheid om OS logs naar de server te sturen voor analyse en opslag, wat vooral handig is op Windows machines die geen native en cross-platform logging mechanismen hebben.

    OSSEC Summary:

    • Agents voor bijna elk OS
    • Gebouwde Agent voor Windows
    • Veel meer functionaliteit dan alleen FIM
    • Ruigzaam maar eenvoudig installatieproces
    • Goede ondersteuning van de gemeenschap
    • Volgens de website van OSSEC zijn de features onder andere:
      • 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 AlienVault USM Anywhere. To learn more, read here.
    • Documentation:
      • OSSEC Docs
      • OSSEC FAQ
      • OSSEC Github

    Samhain Labs

    Samhain is probably the only HIDS open-source that gives OSSEC a run for its money. Maar het is echt een geval van “hetzelfde maar toch anders” als je de twee vergelijkt. Samhain heeft dezelfde client/server architectuur maar heeft die niet nodig zoals OSSEC dat doet. De agent zelf heeft een verscheidenheid aan output methodes, één daarvan is een centrale log repository maar bevat ook andere zoals Syslog, Email, en RDBMS. Er is zelfs een optie om Samhain te gebruiken als een standalone applicatie op een enkele host.

    Een ander belangrijk verschil is waar de analyse plaatsvindt. In tegenstelling tot OSSEC, vindt de verwerking plaats op de client zelf, wat operationele implicaties heeft. 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:
      • 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
    • Documentation:
      • Samhain Docs
      • Samhain Gebruikershandleiding
      • Samhain FAQ

    File Integrity Monitoring (FIM Only)

    Veel tools voor bestandsintegriteitsbewaking (FIM) worden onder HIDS geschaard, omdat FIM te maken heeft met het opsporen van bedreigingen. FIM is een tool dat de integriteit van besturingssysteem- en specifieke applicatiebestanden valideert door de huidige versies te vergelijken met bekende geldige versies, waarbij uw beheerder wordt gewaarschuwd wanneer deze zijn gewijzigd. Dit is belangrijk omdat wijzigingen op kritieke servers vaak een signaal zijn dat er een inbreuk heeft plaatsgevonden. Als u zich nog steeds afvraagt “wat is file integrity monitoring en waarom heb ik het nodig?”, dan hebben we een hele blog post die uitlegt waarom.

    Sommige FIM worden actief ontwikkeld terwijl andere al jaren niet meer zijn bijgewerkt. Open Source Tripwire en AFICK zijn twee open-source FIM producten. Voor standalone Unix gebaseerde systemen kun je eens kijken naar rootkit-vindende file integrity checkers, zoals chkrootkit, rkhunter, of Unhide. Het unieke rootkit-zoekmechanisme maakt deze oplossingen het overwegen waard. Er zijn ook eigen oplossingen beschikbaar voor Windows.

    AlienVault Unified Security Management (USM) Platform biedt ingebouwde FIM-mogelijkheden om technologieën voor het opsporen van bedreigingen aan te sturen en uw inspanningen voor compliance op het gebied van cyberbeveiliging te versnellen. Lees hier meer over hoe AlienVault USM FIM gebruikt om uw bedrijfsmiddelen te beschermen.

    Final Thoughts

    Hopelijk heeft deze gids u geholpen een aantal van uw open source opties te begrijpen. Zoals hier te zien is, zijn er nog nooit zoveel keuzes of een bredere set van tools beschikbaar geweest. Met zorgvuldige planning, en een plan voor doorlopend onderhoud, kun je met deze tools een veilig netwerk bouwen. Met zorgvuldige planning, en een plan voor doorlopend onderhoud, kun je met deze tools een veilig netwerk bouwen.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *