Outils IDS open source : Comparaison de Suricata, Snort, Bro (Zeek), Linux

Écrit initialement par Joe Schreiber, réécrit et édité par Guest Blogger, réédité et développé par Rich Langston

Que vous ayez besoin de surveiller des hôtes ou les réseaux qui les connectent pour identifier les dernières menaces, il existe d’excellents outils de détection d’intrusion (IDS) open source à votre disposition.

Liste des outils IDS open source

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

Techniques de détection IDS

Il existe deux techniques principales de détection des menaces : la détection basée sur les signatures et la détection basée sur les anomalies. Ces techniques de détection sont importantes lorsque vous décidez d’opter pour un moteur de détection de signatures ou d’anomalies, mais les fournisseurs ont pris conscience des avantages de chacune, et certains intègrent les deux dans leurs produits. Apprendre leurs forces et leurs faiblesses vous permet de comprendre comment ils peuvent se compléter.

Les outils IDS basés sur les signatures

Avec un IDS basé sur les signatures, alias IDS basé sur les connaissances, il y a des règles ou des modèles de trafic malveillant connu qui sont recherchés. Une fois qu’une correspondance à une signature est trouvée, une alerte est envoyée à votre administrateur. Ces alertes peuvent découvrir des problèmes tels que des logiciels malveillants connus, des activités de balayage du réseau et des attaques contre les serveurs.

Gestion unifiée de la sécurité

Une seule plateforme combinant les capacités de sécurité essentielles, notamment l’IDS, la découverte d’actifs et la gestion des journaux SIEM.

En savoir plus

Outils IDS basés sur les anomalies

Avec un IDS basé sur les anomalies, alias IDS basé sur le comportement, l’activité qui a généré le trafic est bien plus importante que la charge utile délivrée. Un outil IDS basé sur les anomalies s’appuie sur des lignes de base plutôt que sur des signatures. Il recherche une activité inhabituelle qui s’écarte des moyennes statistiques des activités précédentes ou de l’activité observée précédemment. Par exemple, si un utilisateur se connecte toujours au réseau depuis la Californie et accède à des fichiers d’ingénierie, si le même utilisateur se connecte depuis Pékin et consulte des fichiers RH, c’est un signal d’alarme.

Les techniques de détection basées sur les signatures et sur les anomalies sont généralement déployées de la même manière, bien que l’on puisse avancer que vous pourriez (et les gens l’ont fait) créer un IDS basé sur les anomalies sur des données de flux net collectées en externe ou des informations de trafic similaires.

Avantages et inconvénients

Moins de faux positifs se produisent avec la détection basée sur les signatures, mais seules les signatures connues sont signalées, laissant une faille de sécurité pour les menaces nouvelles et encore à identifier. Plus de faux positifs se produisent avec la détection basée sur les anomalies, mais si elle est configurée correctement, elle attrape les menaces précédemment inconnues.

Les systèmes de détection d’intrusion basés sur le réseau (NIDS)

Les systèmes de détection d’intrusion basés sur le réseau (NIDS) fonctionnent en inspectant tout le trafic sur un segment de réseau afin de détecter les activités malveillantes. Avec les NIDS, une copie du trafic traversant le réseau est délivrée au dispositif NIDS en mettant en miroir le trafic traversant les commutateurs et/ou les routeurs.

Un dispositif NIDS surveille et alerte sur des modèles de trafic ou des signatures. Lorsque des événements malveillants sont signalés par le dispositif NIDS, des informations vitales sont enregistrées. Ces données doivent être surveillées afin de savoir qu’un événement s’est produit. En combinant ces informations avec les événements collectés par d’autres systèmes et dispositifs, vous pouvez obtenir une image complète de la posture de sécurité de votre réseau. Notez qu’aucun des outils présentés ici ne corrèle les journaux par lui-même. C’est généralement la fonction d’un gestionnaire d’informations et d’événements de sécurité (SIEM).

Snort

Ah, le vénérable cochon qui aime les paquets. Beaucoup de gens se souviendront de 1998 comme de l’année de sortie de Windows 98, mais c’est aussi l’année où Martin Roesch a publié pour la première fois Snort. Bien que Snort ne soit pas un véritable IDS à l’époque, c’était son destin. Depuis, il est devenu la norme de facto pour les IDS, grâce aux contributions de la communauté.

Il est important de noter que Snort n’a pas de véritable interface graphique ou de console d’administration facile à utiliser, bien que beaucoup d’autres outils open source aient été créés pour aider, comme BASE et Sguil. Ces outils fournissent une interface web pour interroger et analyser les alertes provenant de Snort IDS.

Snort Summary

  • Longue durée de vie du produit sans aucun signe de disparition
  • Grande assistance communautaire
  • Plusieurs frontaux administratifs
  • Thorriblement éprouvés et testés
  • Grande assistance communautaire
  • Selon le site Web de Snort, les caractéristiques comprennent :
    • Conception modulaire :
    • 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. Il fait tellement plus, qu’il mérite probablement un post dédié à lui seul.

Il existe des outils tiers open source disponibles pour un frontal web permettant d’interroger et d’analyser les alertes provenant de Suricata IDS.

Suricata Summary

  • Multi-Threaded – Snort fonctionne avec un seul thread, ce qui signifie qu’il ne peut utiliser qu’un CPU(core) à la fois. Suricata peut exécuter de nombreux threads afin qu’il puisse profiter de tous les cpu/cores dont vous disposez. Il y a eu de nombreuses controverses pour savoir si cela est avantageux, Snort dit non et quelques benchmarks disent oui.
  • Accélération matérielle intégrée – Saviez-vous que vous pouvez utiliser des cartes graphiques pour inspecter le trafic réseau ?
  • Extraction de fichiers – Quelqu’un télécharge un logiciel malveillant ? Vous pouvez le capturer directement depuis Suricata et l’étudier.
  • LuaJIT – C’est beaucoup de lettres oui, mais c’est aussi un moteur de script qui peut être utilisé avec les informations des paquets inspectés par Suricata. Cela rend les correspondances complexes encore plus faciles et vous pouvez même gagner en efficacité en combinant plusieurs règles en un seul script.
  • La journalisation de plus que les paquets – Suricata peut saisir et enregistrer des choses comme les certs TLS/SSL, les requêtes HTTP, les requêtes DNS
  • Grande assistance communautaire
  • Selon le site Web de Suricata, les caractéristiques comprennent :
    • Hautes performances – base de code multithread et évolutive
    • Moteur polyvalent – NIDS, NIPS, NSM, analyse hors ligne, etc.
    • Prise en charge multiplateforme – Linux, Windows, macOS, OpenBSD, etc.
    • Prise en charge moderne de TCP/IP, y compris un moteur de flux évolutif, IPv4/IPv6 complet, flux TCP et défragmentation des paquets IP
    • Analyseurs de protocole – décodage de paquets, décodage de couche d’application
    • Moteur HTTP – analyseur de flux HTTP, enregistreur de requêtes, correspondance de mots clés, 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. Ce moteur de politiques a son propre langage (Bro-Script) et il peut effectuer des tâches très puissantes et polyvalentes.

Si vous êtes un analyste et que vous vous êtes demandé « Comment puis-je automatiser une partie de mon travail ? », alors c’est l’outil que vous recherchiez. Vous voulez télécharger des fichiers vus sur le fil, les soumettre à l’analyse des logiciels malveillants, vous avertir si un problème est trouvé puis mettre la source sur liste noire et éteindre l’ordinateur de l’utilisateur qui l’a téléchargé ? Vous voulez suivre les habitudes d’utilisation d’un utilisateur après qu’il ait contacté une IP à partir d’une base de données de réputation ?

Si vous n’êtes pas un analyste, alors cet outil aura une courbe d’apprentissage difficile. Puisqu’il a été développé comme un outil de recherche, il ne s’est pas initialement concentré sur des choses comme les interfaces graphiques, la convivialité et la facilité d’installation. Bien qu’il fasse de nombreuses choses cool hors de la boîte, beaucoup de ces choses ne sont pas immédiatement actionnables et peuvent être difficiles à interpréter.

Il n’y a pas d’interface graphique native, mais il existe des outils tiers open source disponibles pour un front-end web pour interroger et analyser les alertes provenant de 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:
    • 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.)
  • Documentation:

    • Manuel de Bro
    • Docs de Bro
    • Foire aux questions de Bro

SDI basés sur l’hôte (HIDS)

Les systèmes de détection d’intrusion basés sur l’hôte (HIDS) fonctionnent en surveillant l’activité se produisant en interne sur un hôte de point de terminaison. Les applications HIDS (par exemple, les logiciels antivirus, les logiciels de détection des logiciels espions, les pare-feu) sont généralement installées sur tous les ordinateurs connectés à Internet au sein d’un réseau, ou sur un sous-ensemble de systèmes importants, tels que les serveurs. Cela inclut ceux des environnements de clouds publics.

Les HIDS recherchent des activités inhabituelles ou néfastes en examinant les journaux créés par le système d’exploitation, en recherchant les modifications apportées aux fichiers système clés, en suivant les logiciels installés et parfois en examinant les connexions réseau établies par un hôte.

Les premiers systèmes HIDS étaient basiques, se contentant généralement de créer des hachages MD5 de fichiers de manière récurrente et de rechercher les divergences, en utilisant un processus baptisé surveillance de l’intégrité des fichiers (FIM). Depuis lors, les HIDS sont devenus beaucoup plus complexes et remplissent une variété de fonctions de sécurité utiles, et ils continueront à se développer. Cela inclut les capacités modernes de réponse aux points d’extrémité (EDR).

Si votre organisation a un mandat de conformité, comme pour PCI DSS, HIPAA ou ISO 27001, alors vous pouvez exiger que les HIDS démontrent la surveillance de l’intégrité des fichiers (FIM) ainsi que la surveillance active des menaces.

OSSEC

Dans le domaine des outils HIDS open source complets, il y a OSSEC et pas grand-chose d’autre. La bonne nouvelle, c’est qu’OSSEC est très bon dans ce qu’il fait et qu’il est plutôt extensible.

OSSEC fonctionne sur presque tous les principaux systèmes d’exploitation et inclut une architecture de gestion et de journalisation basée sur le client/serveur, ce qui est très important dans un système HIDS. Étant donné que le HIDS local peut être compromis en même temps que le système d’exploitation, il est très important que les informations de sécurité et médico-légales quittent l’hôte et soient stockées ailleurs dès que possible pour éviter toute sorte de falsification ou d’obscurcissement qui empêcherait la détection.

L’architecture client/serveur deOSSEC intègre cette stratégie en fournissant des alertes et des journaux à un serveur centralisé où l’analyse et la notification peuvent se produire même si le système hôte est mis hors ligne ou compromis. Un autre avantage de l’architecture client/serveur est la possibilité de gérer les agents de manière centralisée à partir d’un seul serveur. Comme les déploiements peuvent aller de une à des milliers d’installations, la possibilité d’effectuer des changements globaux à partir d’un serveur central est essentielle pour la santé mentale d’un administrateur.

Lorsque l’on discute de l’OSSEC (et d’autres HIDS), il y a souvent de l’anxiété quant à l’installation d’un agent ou d’un logiciel sur les serveurs critiques. Il convient de noter que l’installation d’OSSEC est extrêmement légère (le programme d’installation est inférieur à 1 Mo) et la majorité de l’analyse se produit effectivement sur le serveur, ce qui signifie que très peu de CPU est consommé par OSSEC sur l’hôte. OSSEC a également la capacité d’envoyer les journaux du système d’exploitation au serveur pour analyse et stockage, ce qui est particulièrement utile sur les machines Windows qui ne disposent pas de mécanismes de journalisation natifs et multiplateformes.

OSSEC Summary:

  • Agents pour presque tous les OS
  • Agent compilé pour Windows
  • Plus de fonctionnalités que le simple FIM
  • Processus d’installation rigide mais simple
  • Bon support communautaire
  • Selon le site Web d’OSSEC, les fonctionnalités comprennent :
    • 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. Mais c’est vraiment le cas de « même mais différent » quand on compare les deux. Samhain a la même architecture client/serveur mais ne l’exige pas comme OSSEC. L’agent lui-même dispose d’une variété de méthodes de sortie, l’une d’entre elles étant un dépôt central de journaux, mais il en existe d’autres comme Syslog, Email et RDBMS. Il existe même une option pour utiliser Samhain comme une application autonome sur un seul hôte.

Une autre différence importante est l’endroit où l’analyse se produit. Contrairement à OSSEC, le traitement se produit sur le client lui-même, ce qui a des implications opérationnelles. 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 User Manual
    • Samhain FAQ

Surveillance de l’intégrité des fichiers (FIM uniquement)

Plusieurs outils de surveillance de l’intégrité des fichiers (FIM) sont classés dans la catégorie HIDS puisque FIM implique la détection des menaces, alors parlons-en. FIM est un outil qui valide l’intégrité des fichiers du système d’exploitation et des applications spécifiées en comparant les versions actuelles avec les versions valides connues, alertant votre administrateur dès qu’elles sont modifiées. C’est important car les modifications sur les serveurs critiques signalent souvent qu’une brèche s’est produite. Si vous vous demandez encore « qu’est-ce que la surveillance de l’intégrité des fichiers et pourquoi en ai-je besoin ? », nous avons un article de blog entier pour vous expliquer pourquoi.

Certains FIM sont activement développés tandis que d’autres n’ont pas été mis à jour depuis des années. Open Source Tripwire et AFICK sont deux options de produits FIM open source. Pour les systèmes autonomes basés sur Unix, envisagez de vérifier les vérificateurs d’intégrité de fichiers de recherche de rootkit, tels que chkrootkit, rkhunter ou Unhide. Le mécanisme unique de recherche de rootkit rend ces solutions intéressantes. Des solutions propriétaires sont également disponibles pour Windows.

La plateforme de gestion de la sécurité unifiée (USM) d’AlienVault fournit des fonctionnalités FIM intégrées pour piloter les technologies de détection des menaces et accélérer vos efforts de conformité en matière de cybersécurité. Pour en savoir plus sur la façon dont AlienVault USM utilise la FIM pour protéger vos actifs, lisez ici.

Pensées finales

Espérons que ce guide vous ait aidé à comprendre certaines de vos options open source. Comme nous le montrons ici, il n’y a jamais eu auparavant autant de choix ou un ensemble plus large d’outils disponibles. Avec une planification soigneuse, et un plan de maintenance continue, vous pouvez construire un réseau sécurisé avec ces outils. Avec une planification minutieuse, et un plan de maintenance continue, vous pouvez construire un netork sécurisé avec ces outils.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *