Un incident récent dans le monde de la finance décentralisée (DeFi) a mis en lumière des vulnérabilités exploitables par des pirates informatiques. Un attaquant a exploité une faille du protocole US Permissionless Dollar (USPD) et a dérobé plus d'un million de dollars de liquidités.
Comment le piratage a-t-il eu lieu ?
Selon un rapport de l'équipe USPD publié sur les réseaux sociaux, un attaquant inconnu a déposé 3 122 ETH et a émis 98 millions de jetons USPD en une seule transaction. Le nombre de jetons créés a ainsi été dix fois supérieur au dépôt initial, et le pirate a reçu 237 stETH supplémentaires. Les actifs cryptographiques volés ont été échangés contre 300 000 stablecoins USDC via la plateforme d'échange décentralisée Curve.
Après avoir découvert cette vulnérabilité critique dans le protocole, les développeurs d'USPD ont exhorté leurs clients à ne pas acheter de stablecoins USPD et à révoquer immédiatement toutes leurs autorisations.
Vecteur d'attaque CPIMP
L'équipe du protocole a précisé qu'un vecteur d'attaque sophistiqué, appelé CPIMP (Clandestine Proxy In the Middle of Proxy), a été utilisé lors du piratage. L'attaquant a pris le contrôle du serveur proxy il y a plusieurs mois. Le 16 septembre, il a lancé le processus d'initialisation via la transaction Multicall3. Grâce à CPIMP, le pirate a pu obtenir discrètement des privilèges d'administrateur et contrôler entièrement les scripts du protocole, ce qui lui a permis de procéder à une émission de jetons non autorisée.
Contrat fantôme
Afin de dissimuler la configuration malveillante aux utilisateurs, aux auditeurs et même à l'explorateur de blockchain Ethereum, Etherscan, l'attaquant a mis en place un contrat fantôme qui redirigeait les appels vers le contrat en cours de vérification. Ce camouflage lui a permis de manipuler les données d'événements et d'usurper les emplacements de stockage pour tromper les explorateurs de blocs et leur faire croire à l'exécution d'un contrat sécurisé. Le pirate a ainsi pu contrôler pleinement le contrat intelligent pendant plusieurs mois, jusqu'à la mise à jour du serveur proxy et l'émission de jetons visant à épuiser les ressources du protocole.
Réponse de l'équipe USPD
L'équipe USPD a déclaré avoir sollicité les forces de l'ordre, des spécialistes de la sécurité et les principales plateformes d'échange afin d'enquêter sur l'incident et de retracer les mouvements de fonds. Les développeurs d'USPD ont offert à l'attaquant un remboursement de 90 % en guise de récompense pour sa coopération, soulignant ainsi la gravité de la situation et leur engagement à récupérer les fonds perdus.
Conclusion
Cet incident nous rappelle que même dans le monde de la finance décentralisée, où la sécurité et la transparence sont des principes fondamentaux, des vulnérabilités existent et peuvent être exploitées par des attaquants. Les équipes de développement doivent poursuivre leurs efforts pour améliorer la sécurité de leurs protocoles afin de prévenir de telles attaques à l'avenir.