Partager

Fuzzing avancé pour la détection de vulnérabilités logicielles

Le fuzzing consiste à tester automatiquement un logiciel dans une quantité massive de scénarii, pour identifier des vulnérabilités avérées. Les travaux du CEA-List consistent à utiliser des techniques avancées de fuzzing en particulier pour la détection de portes dérobées (backdoors).
L'usage

Détecter des portes dérobées dans les logiciels pilotant nos infrastructures

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).

Ses atouts

Simple, adaptable, efficace et pertinent

Les forces principales du fuzzing avancé sont :

  • un principe simple, le test logiciel, compris et utilisé par tous,
  • une capacité à s’adapter à de nombreux types de logiciels, quelle que soit leur taille et leur complexité, notamment en réutilisant l’infrastructure de test existante,
  • une capacité à analyser le code binaire en l’absence du code source,
  • une capacité mesurée à détecter des portes dérobées réelles en quelques minutes à quelques heures,
  • une pertinence accrue dans un contexte de souveraineté numérique limitée qui impacte le contrôle de la chaîne d’approvisionnement logiciel,
  • l’écosystème du CEA-List acteur reconnu dans la cybersécurité.
Écran de contrôle de l’outil ROSA, basé sur des techniques de fuzzing avancé, pour la détection automatisée de portes dérobées. L’écran montre la détection, en une dizaine de minutes, d’un mot de passe codé en dur et injecté dans l’outil d’administration système SUDO.

Domaines d'application

  • Audit de firmware (IoT, objets connectés…)
  • Audit de composants logiciels sur étagère
  • Sécurisation du développement logiciel open-source

PROJETS

PUBLICATIONS

À lire également

Domaines applicatifs

Cybersécurité : garantir la sécurité et la confidentialité par conception

Au cœur des enjeux de souveraineté numérique, la cybersécurité constitue aujourd’hui un pan essentiel de nos sociétés. Garante de l’autonomie et de la paix dans le cyberespace, elle est un ...
Lire la suite
Plateformes technologiques

Cybersécurité

Identifier les vulnérabilités de systèmes matériels et logiciels et développer des techniques de protection expertes.
Lire la suite