Après un an de développement, l'organisation OISF (Open Information Security Foundation) lance un système de détection et de prévention des intrusions réseau , qui fournit des outils d'inspection de divers types de trafic. Dans les configurations de Suricata, il est possible d'utiliser , développée par le projet Snort, ainsi que des ensembles de règles et . Les codes sources du projet sous licence GPLv2.
Principales modifications :
- Support initial pour HTTP/2.
- Support des protocoles RFB et MQTT, y compris la possibilité de détecter le protocole et de créer des journaux.
- Possibilité de journaliser le protocole DCERPC.
- Amélioration significative des performances de journalisation grâce au sous-système EVE, fournissant des événements au format JSON. L'accélération a été atteinte grâce à l'utilisation d'un nouveau constructeur de flux JSON, écrit en Rust.
- Scalabilité améliorée du système de journaux EVE et possibilité de créer un fichier journal distinct pour chaque flux.
- Possibilité de définir des conditions pour réinitialiser les informations dans le journal.
- Possibilité de refléter les adresses MAC dans le journal EVE et d'améliorer la granularité du journal DNS.
- Amélioration des performances du moteur de traitement des flux (flow engine).
- Support pour l'identification des implémentations SSH ().
- Implémentation d'un décodeur de tunnels GENEVE.
- Le code pour le traitement , DCERPC et SSH a été réécrit en Rust. Le support de nouveaux protocoles a également été implémenté en Rust.
- Dans le langage de définition des règles, le mot clé byte_jump a été ajouté avec le paramètre from_end, et dans byte_test — avec le paramètre bitmask. Le mot clé pcrexform a été implémenté, permettant d'utiliser des expressions régulières (pcre) pour capturer une sous-chaîne. Ajout de la transformation urldecode. Le mot clé byte_math a été ajouté.
- Offre la possibilité d'utiliser cbindgen pour générer des liaisons en Rust et C.
- Support initial des plugins ajouté.
Caractéristiques de Suricata :
- Utilisation d'un format unifié pour le retour des résultats de vérification , également utilisé par le projet Snort, ce qui permet d'utiliser des outils standard d'analyse, tels que . Possibilité d'intégration avec les produits BASE, Snorby, Sguil et SQueRT. Support pour l'exportation au format PCAP;
- Prise en charge de la détection automatique des protocoles (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB, etc.), permettant de travailler avec des règles basées uniquement sur le type de protocole, sans se référer au numéro de port (par exemple, bloquer le trafic HTTP sur un port non standard). Présence de décodeurs pour les protocoles HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP et SSH ;
- Système d'analyse puissant du trafic HTTP, utilisant une bibliothèque spéciale HTP, développée par l'auteur du projet Mod_Security pour analyser et normaliser le trafic HTTP. Un module est disponible pour tenir un journal détaillé des transmissions HTTP en transit, le journal est enregistré dans un format standard.
Apache. Support de l'extraction et de la vérification des fichiers transmis via le protocole HTTP. Support de l'analyse du contenu compressé. Possibilité d'identification par URI, Cookie, en-têtes, user-agent, corps de la requête/réponse ; - Prise en charge de diverses interfaces pour l'interception du trafic, y compris NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING. Analyse possible de fichiers déjà sauvegardés au format PCAP ;
- Performances élevées, capables de traiter des débits allant jusqu'à 10 gigabits/seconde sur du matériel standard.
- Mécanisme de correspondance haute performance basé sur un masque avec de grands ensembles d'adresses IP. Prise en charge de l'extraction de contenu par masque et expressions régulières. Extraction de fichiers à partir du trafic, y compris leur identification par nom, type ou checksum MD5.
- Possibilité d'utiliser des variables dans les règles : il est possible de conserver des informations provenant du flux et de les utiliser ultérieurement dans d'autres règles ;
- Utilisation du format YAML dans les fichiers de configuration, permettant de maintenir une clarté tout en étant facilement traitable par machine ;
- Prise en charge complète de l'IPv6 ;
- Moteur intégré pour la déflectation automatique et la reconstruction des paquets, permettant d'assurer un traitement correct des flux, quel que soit l'ordre d'arrivée des paquets ;
- Prise en charge des protocoles de tunneling : Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE ;
- Prise en charge du décodage des paquets : IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, PPPoE, Raw, SLL, VLAN ;
- Mode de conservation des clés et certificats dans le cadre des connexions TLS/SSL ;
- Possibilité d'écrire des scripts en Lua pour assurer une analyse avancée et mettre en œuvre des fonctionnalités supplémentaires nécessaires pour identifier des types de trafic pour lesquels les règles standard ne suffisent pas.
Source : opennet.ru
