Symposium sur la sécurité des technologies de l'information et des communications

Conférence francophone sur le thème de la sécurité de l'information.
Elle se déroulera à Rennes du 3 au 5 juin 2026.

Fuzzing en boîte noire assisté par trace matérielle avec LibAFL et Intel PTMarco Cavenati, Romain Malmain


Date : 03 juin 2026 à 17:30 — 15 min.

En plus des fuzzers traditionnels s'appuyant sur l'instrumentation de code source, beaucoup d'efforts ont été investis dans le développement de fuzzers pour logiciels en boîte noire. Des exemples notables de tels fuzzers, basés sur l'émulation, sont qemuafl ou encore TriforceAFL.

LibAFL est une bibliothèque qui fournit une multitude de composants afin de construire des fuzzers. Récemment, le support pour Intel PT a été ajouté à LibAFL comme nouvelle source de couverture de code. Cette technologie a déjà été utilisée dans le même but par le passé, notamment avec kAFL/Nyx.

Intel PT est une fonctionnalité offerte par le processeur qui permet de collecter des traces d'exécution au niveau matériel, sans nécessiter d'instrumenter le code source ou d'émuler la cible. Celle-ci peut s'exécuter avec des performances quasi natives, sans avoir à exécuter des instructions supplémentaires. De plus, cette approche est utilisable pour une large variété de logiciels, qu'il s'agisse de binaires Linux et Windows, ou de pilotes noyaux.

Cette soumission propose plusieurs exemples de fuzzers construits au dessus de LibAFL et d'Intel PT. Deux fuzzers simples (<< baby fuzzers >>) sont disponibles pour fournir une démonstration dans des cas simples: l'un cible une fonction très simple sur Linux et l'autre un bootloader simpliste s'exécutant dans QEMU/KVM grâce à LibAFL QEMU. De plus, il est possible de trouver un fuzzer plus réalistes ciblant la bibliothèque libpng.

LibAFL est entièrement open source et disponible sur Github à l'adresse: https://github.com/AFLplusplus/LibAFL