L’écosystème de blockchains interconnectées de Cosmos a failli perdre plus de 126 millions de dollars suite à une faille dans son protocole de messagerie inter-chaines, heureusement corrigée à temps. Cette histoire met en lumière l’importance de la sécurité dans le monde des cryptomonnaies.
Le rôle clef de l’IBC
Le cœur de cette histoire tourne autour de l’Inter-Blockchain Communication (IBC), un protocole de messagerie cross-chain mis au point par Cosmos. Il permet la transmission de fonds et de messages entre différentes blockchains. Mais cet outil, aussi complexe qu’indispensable, a récemment été la cible d’une erreur pouvant mettre en danger plus de 126 millions de dollars.
La découverte de la faille
C’est la société de cybersécurité Assymetric qui a découvert cette vulnérabilité troublante, ayant un impact direct sur l’IBC de Cosmos. Après cette découverte, l’équipe n’a pas tardé à partager ses résultats avec le personnel de Cosmos par le biais du programme HackerOne Bug Bounty, une initiative qui vise à récompenser les développeurs exposant les défauts du code source des logiciels.
L’origine de l’erreur
Concrètement, c’est le programme ibc-go qui était affecté par ce défaut, une mise en œuvre de l’IBC dans le langage de programmation GoLang. D’après Assymetric, cette faille a toujours été là, mais est devenue exploitable récemment après que l’IBC a été intégré dans CosmWasm, un moteur d’exécution pour les contrats intelligents basés sur WebAssembly.
Le fonctionnement de la faille
Pour comprendre comment fonctionne cette faille, il faut se plonger dans le processus de communication entre les différentes chaînes de Cosmos via l’IBC. Lors d’une transmission, il y a une étape où un message doit être renvoyé si le temps attribué pour le recevoir est dépassé. Normalement, une fois le message traité, ce dernier est supprimé pour empêcher toute répétition erronée.
Grâce à cette vulnérabilité, le message n’était pas toujours correctement supprimé après son traitement, laissant la porte ouverte à une réutilisation malveillante. Un pirate aurait donc pu réutiliser ce message indéfiniment pour créer de manière illicite de nouveaux jetons IBC.
Les conséquences d’une telle faille
Si cette faille n’avait pas été corrigée à temps, les conséquences auraient été désastreuses. En utilisant des fonctionnalités spécifiques de CosmWasm et d’autres composants de l’écosystème Cosmos, un hacker aurait pu exploiter cette faille pour détourner des fonds ou créer une quantité illimitée de jetons IBC, menaçant ainsi la stabilité et la crédibilité de l’ensemble du système.
Alors que cette affaire serve de rappel sur l’importance de la sécurité dans le monde des cryptomonnaies, Cosmos continue néanmoins de se développer, accueillant récemment une nouvelle chaîne dans son écosystème, Saga, qui vient de lancer son mainnet tout en distribuant un airdrop massif à ses stakers.
Suite à cette mésaventure, quels sont les moyens mis en place par Cosmos pour renforcer sa sécurité ? Comment les autres blockchains peuvent-elles tirer des leçons de cet épisode pour éviter des situations similaires à l’avenir ?