Sergej Khackimullin - Fotolia
Détection d’intrusions : l’IDS Snort bientôt supplanté par Suricata ?
Un véritable pavé dans la mare. L’Open Information Security Foundation (OISF) américaine – créée et financée par le département américain de la sécurité intérieure – vient de rendre disponible la version 1.0 de Suricata, un outil de détection et de prévention d’intrusions (IDS/IPS) open source aux airs de fork du célèbre Snort, du moins pour certains. Pour pousser Suricata, l’OISF évoque notamment une architecture interne optimisée pour les systèmes multithreads/multicœurs, mais aussi la détection automatique des protocoles ou encore le support d’IPv6. Une solution qui se veut adaptée aux menaces modernes – sous entendu, Snort ne le serait plus. De quoi faire bondir Martin Roesch, créateur de cet IDS/IPS et fondateur de son éditeur, Sourcefire.
C’est la semaine dernière que l’Open Information Security Foundation (OISF) – une émanation du Departement of Homeland Security, le ministère de la sécurité intérieure US – a rendu publique la première version de son système de détection/prévention d’intrusion (IDS/IPS), Suricata, qui doit progressivement remplacer le très connu Snort dans l’ensemble des systèmes de l’administration américaine.
Dans un communiqué, l’OISF souligne quelques caractéristiques qui feraient de Suricata, un IDS/IPS « approprié [aux menaces] actuelles » : un moteur open source, une architecture optimisée pour les systèmes plus ou moins parallèles (multithreads/multicœurs/multiprocesseurs), le support de la réputation des adresses IP et des signatures, ou encore la détection automatique des protocoles.
Cité dans le communiqué de l’OISF, Richard Stiennon, analyste en chef chez IT-Harvest, ose la comparaison avec Snort : « il vieillit et ne s’est pas adapté au paysage changeant [de la sécurité des réseaux]. » Dans un e-mail, Matt Jonkman, président de l’OISF, souligne que « nous n’avons pas attaqué Snort […], notre racine collective. Mais nous devons aller de l’avant […] nous n’avons pas vu d’innovation majeure [dans Snort]. » Et de s’en prendre à la clarté de pensée de Martin Roesch, créateur de Snort : « je n’aurais jamais pensé qu’une personne saine d’esprit pourrait dire que le multithreading n’est pas une tactique viable pour monter en puissance. »
Des approches opposées
Du côté de Sourcefire, on estime que « Suricata [un simple fork de Snort, selon Martin Roesch] n’offre qu’une fraction des performances de Snort, » chiffres à l’appui. Notamment du 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. » En juin dernier, 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. » En particulier, le créateur de Snort insiste sur l’importance d’une utilisation optimale des caches.
Reste que Suricata ne se résume pas qu’à cela. Et, sur le terrain des performances, l’IDS/IPS de l’OISF promet aussi le support – pour l’instant expérimental – de CUDA, pour l’exploitation de la puissance de calcul du GPU dans le cadre du traitement des paquets. Et même sans cela, certains tests montreraient déjà un gain de performances significatif, avec Suricata, sur les systèmes massivement multicœurs.
Compatibilité et financement en question
Alors que Snort revendique 300 000 utilisateurs enregistrés, 4 millions de téléchargement, et près d’une centaine de partenaires OEM, se pose la question de la compatibilité des règles de traitement entre Suricata et Snort. L’OISF revendique cette compatibilité. Mais pour Sourcefire, ce n’est pas exactement le cas « les efforts pour charger un ensemble standard de règles Snort VRT échouent pour certaines règles. » En particulier, Suricata ne supporterait pas les règles de type Shared Object, des règles développées sur mesure, en C.
Au final, Sourcefire estime que Suricata ne représente pas une menace pour Snort, bien qu’il soit supporté notamment par EdenWall ou encore Kerio. Matt Olney, chercheur chez Sourcefire, s’interroge tout de même sur la pertinence du projet de l’OISF, financé par le contribuable américain à hauteur de près d’un million de dollars – alors « qu’ils ont échoué […] à créer l’IDS/IPS de nouvelle génération. » De quoi clore les débats ? Non. Dans les colonnes de notre confrère CIO, Richard Stiennon pointe ce qu’il considère comme une limite du modèle de développement de Snort : « Sourcefire contrôle la propriété intellectuelle et le cycle de mise à jour [de Snort]. » L’affrontement ne semble pas terminé.