
FreeWavm : les dernières avancées de Goplus en matière d'exploitation des vulnérabilités des machines virtuelles WebAssembly, acceptées comme article complet à ISSTA 2025
TechFlow SélectionTechFlow Sélection

FreeWavm : les dernières avancées de Goplus en matière d'exploitation des vulnérabilités des machines virtuelles WebAssembly, acceptées comme article complet à ISSTA 2025
Le runtime WebAssembly est l'infrastructure de base qui exécute le code WebAssembly, largement utilisé comme moteur d'exécution dans les navigateurs Web et les systèmes de blockchain.
Récemment, les derniers résultats de recherche de Goplus sur l'exploitation des vulnérabilités des machines virtuelles WebAssembly ont été officiellement acceptés comme article complet à ISSTA 2025 !
ISSTA, l'une des quatre conférences internationales majeures dans le domaine du génie logiciel et classée de rang A par la China Computer Federation (CCF) pour ce domaine, se concentre sur la publication des avancées scientifiques et technologiques les plus récentes provenant d'institutions académiques et d'entreprises mondiales en matière de génie logiciel et de test logiciel.

1. Définition du problème
Le runtime WebAssembly constitue l'infrastructure fondamentale permettant l'exécution du code WebAssembly, largement utilisé comme moteur d'exécution tant dans les navigateurs web que dans les systèmes blockchain. Par exemple, Ethereum 2.0 et Polkadot utilisent déjà un runtime WebAssembly comme environnement d'exécution pour les contrats intelligents, afin d'améliorer leur efficacité et leur sécurité. Bien que ces runtimes WebAssembly gagnent en popularité, ils introduisent également de nouvelles surfaces d'attaque. Les défauts ou failles présents dans un runtime WebAssembly peuvent provoquer des comportements imprévus, des erreurs de calcul, voire des conséquences graves en matière de sécurité, en particulier pour les plateformes blockchain qui dépendent fortement de contrats intelligents compilés en bytecode WebAssembly.
2. Cadre de test flou pour les machines virtuelles de contrats intelligents blockchain
Pour l'exploration de vulnérabilités ciblant les machines virtuelles WebAssembly, cet article présente FreeWavm, un framework de test flou conçu selon une approche combinant mutation d'arbres syntaxiques et guidage par instantanés (snapshot).
FreeWavm se compose de quatre composants clés.
(1) Afin de capturer les caractéristiques structurelles du code WebAssembly, un analyseur de modules WebAssembly a été développé pour convertir le bytecode WebAssembly en une structure d'arbre syntaxique.
(2) Ensuite, un module de mutation sensible à la structure a été conçu afin de générer des entrées de test pertinentes pour le runtime WebAssembly. Cela implique d'utiliser une stratégie personnalisée de priorisation des nœuds afin de filtrer les nœuds intéressants dans l'arbre syntaxique, puis d'appliquer des mutations spécifiques à ces nœuds sélectionnés.
(3) Pour garantir l'intégrité des entrées de test mutées, un mécanisme automatique de correction a été mis en place afin de réparer les arbres syntaxiques modifiés. Ce mécanisme assure que l'analyseur de module peut correctement parser les nouvelles entrées générées, préservant ainsi la validité des cycles successifs de mutation.
(4) Un pool d'instantanés a été construit pour conserver les structures d'arbres syntaxiques incomplètes — celles ayant déclenché un plantage ou couvert de nouveaux chemins d'exécution dans le runtime cible — permettant ainsi de réutiliser les connaissances acquises lors des mutations ultérieures, augmentant ainsi la probabilité de découvrir des vulnérabilités profondes au sein du runtime WebAssembly.

Architecture générale de FreeWavm
Des expériences approfondies ont été menées sur plusieurs machines virtuelles WebAssembly. FreeWavm a permis de découvrir avec succès 69 nouvelles vulnérabilités, dont 24 ont reçu un identifiant CVE. Comparé aux outils similaires existants, FreeWavm surpasse ses concurrents tant en termes de couverture de code réalisée qu'en nombre de vulnérabilités déclenchées durant une période de fonctionnement de 24 heures.
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News














