Étiquette : Expressions Régulières

Gros plan sur un terminal sombre affichant du code structuré sous une lumière néon bleue.

YARA v4.6.0 : de nombreux correctifs pour renforcer la robustesse de la recherche de…

La publication de YARA v4.6.0 par VirusTotal marque un effort significatif pour stabiliser l’outil de recherche de motifs. Cette version intègre une myriade de correctifs, visant notamment à colmater des vulnérabilités liées aux débordements d’entiers et aux comportements imprévus des expressions régulières. Parmi les changements notoires, on retrouve des corrections qui préviennent l’augmentation exponentielle de la mémoire et du CPU lors de l’utilisation de répétitions régulières imbriquées, une source potentielle de blocage système.

L’aspect robustesse est au cœur de cette mise à jour. Selon l’annonce de github.com, plusieurs correctifs adressent des problèmes de débordement d’entiers (integer overflows) sur divers composants. Cela concerne l’allocation de la pile VM, le basculement des symboles ELF ou encore le formatage des digests Authenticode. Ces corrections montrent que les chercheurs en sécurité travaillent sur la résistance des systèmes face à des données complexes ou malformées.

Des failles plus subtiles ont également été corrigées. Par exemple, un bug empêchait la corruption de la pile VM lorsqu’une règle désactivée était utilisée au sein d’un ensemble de règles. De plus, des sécurisations ont été apportées au parsing Authenticode pour mieux résister aux données corrompues. On observe aussi des améliorations dans la gestion des limites des indices de chaînes, de règles et d’espaces de noms lors de l’importation de règles.

Mains travaillant sur un outil de débogage spécialisé dans un bureau chaleureux.

Améliorations structurelles et d’usage

Au-delà des failles critiques, des ajouts fonctionnels enrichissent l’expérience utilisateur. La nouvelle version inclut la fonction yr_get_version pour exposer la version de la bibliothèque chargée à l’exécution. Par ailleurs, github.com annonce l’exposition de neuf valeurs e_machine supplémentaires dans le module ELF. Ces détails montrent une attention aux spécificités techniques, essentielle dans un outil qui doit fonctionner dans un écosystème logiciel très diversifié.

Il est intéressant de noter que YARA-X, qui semble avoir pris la relève de YARA dans certains domaines, bénéficie de fonctionnalités spécifiques. Didier Stevens souligne que YARA-X intègre des fonctions pour lire des entiers de 64 bits (int64, uint64), ce que la version 4.6.0 de YARA ne propose pas nativement.

La complexité des protocoles modernes

Si YARA se concentre sur la détection de motifs dans les fichiers, d’autres aspects de l’infrastructure numérique nécessitent une attention pointue. Didier Stevens illustre cette complexité avec la gestion de l’alimentation sur les connecteurs USB-C. Il explique que la norme exige que la source de courant détecte un dispositif nécessitant de l’énergie via des résistances spécifiques sur les broches CC. Sans ces résistances, certains périphériques, comme un ventilateur portable, ne reçoivent pas les 5 Volts, même connectés à un chargeur USB-C standard.

Cette problématique montre que même les interfaces apparemment uniformes cachent des mécanismes de négociation complexes. L’utilisation d’un adaptateur pour injecter ces résistances permet de forcer la conformité, mais cet adaptateur lui-même est non conforme, un point de vigilance permanent dans l’ingénierie des systèmes.

Sources