Les composants électroniques de nos infrastructures (comme les routeurs ou caméras) fonctionnent grâce à des logiciels souvent fournis uniquement en format binaire par les fabricants. Ces logiciels intègrent de nombreux composants réutilisables, parfois des milliers, dont une grande partie est issue de bibliothèques à code public disponibles en ligne. Cette dépendance à une chaîne d’approvisionnement logicielle vaste et difficile à maîtriser expose les systèmes à des risques importants, comme l’injection volontaire de failles (backdoors) ou l’exploitation de vulnérabilités connues dans des composants largement utilisés (attaques dites « 1-day »).
Le fuzzing consiste à tester automatiquement un logiciel dans une quantité massive de scénarii, pour en découvrir des vulnérabilités avérées. Les outils modernes de fuzzing, comme AFL++, sont aussi adaptables que performants et ont fait leurs preuves en découvrant des vulnérabilités dans une grande variété de logiciels de tous types et de toutes tailles. Les équipes du CEA-List complètent cette approche avec des techniques de fuzzing avancé visant à détecter des vulnérabilités plus complexes et mieux cachées, comme celles permettant les attaques liées à la chaîne d’approvisionnement logiciel.
ROSA, outil développé par le CEA-List, vise la détection de backdoors ; en particulier sur des protocoles de communications (routeurs ou composants logiciels publics de gestion réseau).
Le développement de ces techniques de fuzzing avancé repose sur plusieurs projets collaboratifs de recherche français et internationaux, dont les projets ANR JCJC BACKED (2023-2027) et ANR PTCC SECUBIC (2025-2028).
Les forces principales du fuzzing avancé sont :