IDS : comment Suricata est graduellement devenu incontournable
En dix ans, ce système de détection d’intrusions open source a pris une place considérable, dans de grands projets et au sein de nombreuses infrastructures critiques. Un succès aux raisons multiples.
Il y a un peu plus de neuf ans, l’Open Information Security Foundation (OISF), rendait publique la première version de Suricata, un système de détection d’intrusions (IDS) dérivé de l’alors incontournable Snort.
À l’époque, du côté de Sourcefire, le nouveau venu était regardé d’une certaine hauteur. Martin Roesch, créateur de Snort, n’y voyait qu’un simple fork. Et pour Sourcefire, il n’offrait qui plus est « qu’une fraction de [ses] performances », chiffres à l’appui. Et cela tenait notamment au fait de sa mise en œuvre du parallélisme : « bien que l’intention de l’OISF soit d’améliorer les performances IDS/IPS via le multithreading, le résultat opposé peut être obtenu si l’implémentation est incorrecte ».
Un peu plus tôt, Martin Roesch développait longuement, dans un billet de blog, son analyse sur l’optimisation des performances en tenant compte de l’architecture des processeurs Intel. Conclusion : « les performances des solutions d’analyse de paquets telles que Snort n’ont rien à voir avec le threading mais tout à voir avec une allocation pertinente de la charge et des ressources disponibles sur l’équipement de traitement ».
Des performances de pointe
Mais les temps ont aujourd’hui bien changé. Tout début novembre, à l’occasion de la conférence Suricon, qui se déroulait à Amsterdam, Brad Woodberg, Group Product Manager chez Proofpoint, a fait une intervention remarquée : selon ses tests, dans des conditions neutres, Suricata affiche des performances bien supérieures à celles de Snort. Dans un échange écrit avec la rédaction, il explique d’où viennent ses tests : « Proofpoint Emerging Threats Pro (ETPro) est un jeu de règles pour IDS compatible avec Suricata et Snort. ETPro fournit des capacités de détection de menaces avancées centrées sur l’empreinte de maliciels, leur distribution, les mécanismes de commande et de contrôle, le hameçonnage d’identifiants, le déplacement latéral, et d’autres indicateurs de compromission ». ETPro fait également partie de l’outillage de recherche sur les menaces de Proofpoint, et est utilisé pour sa solution de protection contre les attaques ciblées.
Les équipes de Proofpoint connaissent bien Suricata : « nombre des membres de l’équipe chargée des menaces émergentes sont cofondateurs de l’OISF et du projet Suricata. Proofpoint est également sponsor platinum de l’OISF », et contribue au projet Suricata, en matière de développement et d’assurance qualité.
Pour Brad Woodberg, cela ne fait pas de doute, l’IDS de l’OISF a fait des progrès considérables au fil des ans : c’est « un IDS mature, que ce soit en matière de performances, de fonctionnalités, d’élasticité ou de stabilité ». Les performances se sont en particulier accrues significativement entre ses versions 2.0 et 5.0.
Mais pour Brad Woodberg, « le développement le plus impressionnant de Suricata est peut-être son évolution pour supporter bien plus que les cas d’usage traditionnels de l’IDS/IPS ». Ainsi, selon lui, « pour les conteneurs, les environnements cloud, les implémentations d’IDS à plus de 100 Gb/s, l’embarqué, rien ne manque à ce que l’on peut faire avec Suricata ».
Une forte présence dans les environnements critiques
Et l’adoption est au rendez-vous. Des deux côtés du Rhin, Suricata est mis à contribution pour la protection d’infrastructures critiques. L’Agence nationale pour la sécurité des systèmes d’information (Anssi) compte parmi les contributeurs de l’OISF. Son directeur général, Guillaume Poupard, ne fait d’ailleurs pas mystère de l’intérêt de l’Anssi pour Suricata. Et l’agence n’a pas manqué d’être représentée à Suricon. Dans ses travées évoluaient également des membres de la DGAC.
Cette conférence a également été l’occasion de la présentation de la manière dont l’IDS est utilisé, en Allemagne, pour la surveillance d’infrastructures critiques, telles que les systèmes informatisés de contrôle des réseaux électriques, de la production énergétique, ou encore de la distribution du gaz et de l’eau. Et cela tout simplement parce que, selon le programme de la conférence, « les solutions disponibles pour la détection d’intrusion ne répondent pas à nos attentes de qualité ». D’où le développement de la solution appelée « Kritis Defender ».
Accessoirement, les deux premières sondes qualifiées pour la surveillance des systèmes d’information d’importance vitale (SIIV), signées Thales (Cybels Sensor) et Gatewatcher, s’appuient sur Suricata. Chez ce dernier, Philippe Gillet, directeur technique, ne manque pas de souligner les performances de l’IDS de l’OISF, de même que le rythme d’évolution et le dynamisme de la communauté. Une troisième sonde est en cours de qualification, Jizô, de Sesame IT. À écouter Eric Leblond, fondateur de Stamus Network, et l’un des principaux développeurs de l’OISF, tout cela ne relève pas vraiment du hasard : pour respecter le cahier des charges de l’Anssi au sujet des sondes souveraines, « la solution la plus simple pour y arriver était d’utiliser Suricata ».
Outre-Rhin encore, Suricata est également mis à profit par le DCSO, sorte de prestataire de services de sécurité managés mutualisé entre grands industriels : Allianz, BASF, Bayer et Volkswagen l’ont fondé fin 2015 ; il emploie aujourd’hui environ 70 personnes. DSCO a d’ailleurs apporté son soutien financier à l’organisation de l’édition 2019 de la Suricon, aux côtés de Google, d’AWS, ou encore de Facebook. Autant d’utilisateurs de l’IDS open source, comme FireEye.
Une communauté très dynamique
Lockheed Martin compte également parmi les utilisateurs. Selon Eric Leblond, c’est d’ailleurs à l’industriel que l’on doit l’ajout du support du protocole RDP dans la version 5.0 de Suricata. Cette implication du tissu industriel constitue l’un des points de forts de l’IDS. Mais il est aussi dans l’ADN même de l’OISF : si le ministère de l’Intérieur américain a accepté dès le départ de soutenir le projet – y voyant aussi son intérêt –, son accompagnement financier devait être dégressif. À charge, donc, pour la fondation, d’assurer son existence en attirant des soutiens privés. Un pari aujourd’hui réussi.
Mais cela n’aurait pas été le cas sans un état d’esprit approprié. Eric Leblond souligne ainsi que le support du langage Rust, qui a été utilisé pour intégrer de manière sécurisée l’analyse de protocoles tels que SMB, NFS, IKE, ou encore RDP, trouve notamment son origine… à l’Anssi, dont l’un des membres a vendu l’idée à l’OISF en 2016.
Et puis pour Eric Leblond, Suricata a su aujourd’hui développer deux importantes forces : un moteur de traitement de signatures « extrêmement performant – on peut le faire tourner à plus de 40 Gb/s sur un seul serveur avec presque aucune perte de paquets » –, et d’autre part une génération d’événements qui allège le travail des analystes : les données protocolaires de contexte sont fournies directement dans les événements, sans que les analystes n’aient besoin d’aller examiner les relevés de capture de paquets complets (PCAP).
Ironie de l’histoire, Snort 3 a aujourd’hui fini par adopter ce fameux multithreading appréhendé comme un non-sens par Martin Roesch aux débuts de Suricata. Pire encore, de l’avis de nombreux experts, sur les projets, les faveurs tendent plutôt à aller vers Suricata ou Zeek (ex-Bro) que vers Snort.