Un pirate informatique a réussi à détourner plus de 6 millions de dollars du protocole de finance décentralisée (DeFi) Delta Prime en créant un nombre arbitrairement élevé de jetons de reçu de dépôt.
Selon les données de l'explorateur de blocs Arbiscan, l'attaquant a frappé plus de 115 duovigintillions de jetons Delta Prime USD (DPUSDC) lors de l'attaque initiale, ce qui représente plus de 1,1*10^69 en notation scientifique.
DPUSDC est un reçu de dépôt pour le stablecoin USDC (USDC) détenu chez Delta Prime. Il est destiné à être échangé contre des USDC à un ratio de 1:1.
Malgré la création d'un si grand nombre de reçus de dépôt USDC, l'attaquant n'en a brûlé que 2,4 millions, recevant en échange 2,4 millions de dollars de stablecoin USDC.
Un attaquant a frappé un très grand nombre de jetons DPUSDC et en a racheté certains. Source : Arbiscan.
L'attaquant a ensuite répété ces étapes pour d'autres jetons de reçu de dépôt, frappant plus d'un double milliard de Delta Prime Wrapped Bitcoin (DPBTCb), 115 octodécillions de Delta Prime Wrapped Ether (DPWETH), 115 octodécillions de Delta Prime Arbitrum (DPARB) et de nombreux autres jetons de reçu de dépôt, échangeant finalement une infime fraction du montant frappé pour recevoir plus d'un million de dollars en Bitcoin (BTC), Ether (ETH), Arbitrum (ARB) et d'autres jetons.
Selon le spécialiste de la sécurité blockchain Chaofan Shou, l'attaquant a volé environ 6 millions de dollars de fonds jusqu'à présent.
Source : Chaofan Shu.
L'attaquant a pu créer ces jetons de reçu de dépôt en prenant d'abord le contrôle d'un compte administrateur se terminant par b1afb, ce qu'il a probablement accompli en volant la clé privée du développeur. À l'aide de ce compte, ils ont appelé une fonction de « mise à niveau » sur chacun des contrats de pool de liquidité du protocole.
Ces fonctions sont destinées à être utilisées pour les mises à niveau de logiciels. Elles permettent au développeur de modifier le code d'un contrat en faisant pointer son proxy vers une adresse d'implémentation différente.
Cependant, l'attaquant a utilisé ces fonctions pour pointer chaque proxy vers un contrat malveillant qu'il avait créé. Chaque contrat malveillant a permis à l'attaquant de créer un nombre arbitrairement élevé de reçus de dépôt, lui permettant ainsi de vider chaque réserve de fonds.
Contrats de mise à niveau des attaquants Delta Prime. Source : Arbiscan.
Delta Prime a reconnu l'attaque dans un message X, déclarant que « À 6h14 CET, DeltaPrime Blue (Arbitrum) a été attaqué et vidé de 5,98 millions de dollars. »
Selon elle, la version d’Avalanche, DeltaPrime Blue, n’est pas vulnérable à l’attaque. Elle a également déclaré que l’assurance du protocole « couvrira toutes les pertes potentielles lorsque cela est possible/nécessaire ».
L'attaque Delta Prime illustre le risque des protocoles DeFi utilisant des contrats évolutifs.
L'écosystème Web3 est conçu pour empêcher les piratages de clés privées d'exploiter des protocoles entiers.
Théoriquement, un attaquant devrait avoir besoin de voler les clés privées de chaque utilisateur pour vider l'intégralité du protocole. Cependant, lorsque les contrats sont évolutifs, cela introduit un élément de risque de centralisation, qui peut conduire à la perte de fonds d'une base d'utilisateurs entière.
Certains protocoles estiment néanmoins que renoncer à la possibilité de mise à niveau peut être pire que l'alternative, car cela peut empêcher un développeur de corriger les bugs détectés après le déploiement. Les développeurs Web3 continuent de débattre des cas où les protocoles devraient ou non autoriser les mises à niveau.
Les exploits de contrats intelligents continuent de représenter un risque pour les utilisateurs du Web3. Le 11 septembre, un attaquant a détourné plus de 1,4 million de dollars d'un pool de liquidités de jetons CUT en utilisant une ligne de code obscure qui indiquait une fonction non vérifiée sur un contrat distinct.
Le 3 septembre, plus de 27 millions de dollars ont été retirés du protocole Penpie après que l'attaquant a réussi à enregistrer son propre contrat malveillant en tant que marché de jetons.