Bitcoin.com News
Propulsé par

Faille à 86 000 $ secoue un pool crypto censé verrouiller des jetons

Un pirate a transformé un minuscule solde de jetons restants en un butin de 86 000 dollars en exploitant le contrat de déblocage partagé du réseau UNCX. La faille de sécurité du 14 octobre a mis au jour une faille comptable dans un système conçu pour verrouiller des actifs, dont 3,25 millions de dollars se trouvaient encore à l'intérieur.

ÉCRIT PAR
PARTAGER
Faille à 86 000 $ secoue un pool crypto censé verrouiller des jetons

Points clés

  • La société de sécurité Blockaid a identifié, le 14 octobre, une faille permettant de détourner 86 000 dollars du pool de vesting Ethereum partagé d’UNCX.
  • Les chercheurs en sécurité d’Exvul ont attribué la vulnérabilité d’UNCX à une comptabilité défaillante des parts, qui a exposé les dépôts de 5 jetons.
  • UNCX a restreint les nouvelles positions de vesting alors que des questions persistaient concernant les 3,25 millions de dollars restants dans le pool.

Comment une faille de 86 000 dollars a transformé un verrouillage de jetons en passif

Mercredi, la société de sécurité blockchain Blockaid a tiré la sonnette d’alarme concernant une faille ciblant UNCX Network, anciennement connu sous le nom d’Unicrypt. Plutôt que de voler des clés privées ou de pirater des portefeuilles individuels, l’attaquant aurait manipulé le mécanisme comptable du contrat lui-même pour retirer des jetons appartenant à d’autres utilisateurs.

« L’attaquant a créé des positions de vesting dans le pool de jetons partagé, en a libéré une importante, a fait don de jetons, puis a annulé une position de vesting rechargée afin qu’une minuscule position restante puisse retirer les jetons verrouillés d’autres utilisateurs », a écrit Blockaid sur X.

Mais ce qui a vraiment fait sourciller, c’est ce qui restait derrière. Environ 3,25 millions de dollars se trouvaient encore dans le contrat intelligent Ethereum concerné lorsque Blockaid a identifié l’attaque comme étant en cours. Les chercheurs en sécurité d’Exvul ont par la suite fourni une explication détaillée de la faille comptable qui a rendu ce vol possible.

Qu’est-ce qu’un pool de vesting de tokens partagé ?

Pour comprendre cette manœuvre, il est utile de savoir en quoi consiste réellement UNCX. En activité depuis 2020, la plateforme fournit aux projets de cryptomonnaies des outils permettant de bloquer des liquidités et de distribuer des jetons selon des calendriers prédéterminés. Ses services aident les fondateurs, les développeurs et les investisseurs à démontrer que certains actifs ne peuvent pas être vendus avant une date convenue.

Le déblocage des jetons fonctionne de manière très similaire à un plan de rémunération en actions d’entreprise. Au lieu de tout recevoir d’un seul coup, les bénéficiaires obtiennent leurs actifs progressivement, parfois après une période d’attente initiale. Ce dispositif décourage les ventes anticipées et contribue à maintenir l’engagement des participants envers les perspectives à long terme d’un projet.

Un pool de déblocage partagé va encore plus loin dans ce dispositif. Plutôt que de déployer un contrat distinct pour chaque attribution, plusieurs projets de finance décentralisée (DeFi) placent leurs tokens au sein d’une infrastructure commune de contrats intelligents. Chaque position dispose de son propre solde enregistré et de son propre calendrier de déblocage, tandis que le contrat gère la comptabilité pour l’ensemble des participants.

C’est pratique, généralement moins coûteux et plus facile à gérer. Mais il y a un hic. Lorsque la comptabilité partagée part en vrille, des fonds appartenant à des projets sans rapport les uns avec les autres peuvent soudainement se retrouver dans la même situation délicate.

Une minuscule position résiduelle est devenue le sésame de l’attaquant

Selon Exvul, la vulnérabilité concernait principalement le contrat VestingManager d’UNCX et sa gestion des parts de jetons libérées et annulées. Ces parts représentent des droits comptables sur les jetons détenus au sein du contrat. L’attaquant a d’abord créé de nouvelles positions de vesting, puis a libéré des jetons provenant d’une position importante. Des jetons supplémentaires ont ensuite été déposés dans le pool, et une position précédemment financée a été annulée. Cette séquence a entraîné l’écart comptable critique. Les chercheurs en sécurité ont expliqué que la fonction release() du contrat réduisait la valeur globale _totalTokenShares sans supprimer en conséquence les parts libérées de l’enregistrement _depositedShares de la position. Lorsque la position a été annulée par la suite, le contrat a déduit des parts en se basant sur le dépôt initial enregistré, comptabilisant ainsi deux fois la même réduction. Un don direct de jetons a encore faussé le calcul. Il en a résulté une minuscule position de vesting résiduelle qui pouvait revendiquer des actifs garantissant les dépôts d’autres utilisateurs. En termes simples, le registre du contrat ne reflétait plus fidèlement qui avait droit à quoi. L’attaquant avait trouvé un moyen de faire en sorte qu’une position presque vide se comporte comme si elle représentait une créance bien plus importante. Aucune clé privée volée n’était nécessaire. Ce sont les calculs mathématiques du contrat lui-même qui ont fait le gros du travail.

Dix jetons dérobés : les chercheurs remontent la piste de l’argent

Au départ, le vol signalé concernait cinq cryptomonnaies distinctes : EDGEN, ZC, PEPECOIN, LO0P et PAAL. Une mise à jour ultérieure d’UNCX a porté ce nombre à dix jetons. C’est là que réside le véritable problème. L’attaquant ne se contentait pas de retirer de l’argent d’un compte qu’il contrôlait. Les calculs de parts erronés auraient permis à la position d’un participant d’accéder à des actifs appartenant à d’autres. Pour une plateforme dont l’activité repose sur la prévention des retraits prématurés de jetons, c’est une situation particulièrement délicate.

UNCX prend des mesures pour limiter les dégâts

UNCX a reconnu l’incident sur X et a empêché de nouvelles positions en période d’acquisition d’entrer dans le contrat concerné pendant que son équipe examinait les transactions et évaluait les dégâts. La plateforme a également instauré des frais forfaitaires de 100 ETH, ou l’équivalent, pour tous les contrats d’acquisition, créant ainsi un obstacle supplémentaire à l’activité normale pendant que l’enquête se poursuivait.

Dans sa dernière mise à jour publiée mercredi à 19 h, heure de l’Est, UNCX a confirmé que cette faille avait touché dix tokens sur quatre blockchains, notamment Ethereum, Base, BNB Chain et Robinhood Chain. La société a relevé les frais forfaitaires à plus de 1 000 ETH par verrouillage, augmenté les frais sur les tokens à 5 % et supprimé les méthodes permettant de contourner ces frais.

UNCX a souligné que ses « liquidity lockers » et ses anciens contrats de vesting ne sont pas affectés. Parallèlement, la société collabore avec les forces de l’ordre et SEAL 911 pour enquêter sur cette violation.

Les fonds volés sont toujours introuvables alors que les efforts de récupération commencent

UNCX a indiqué que ni l’attaquant initial ni ses imitateurs n’avaient restitué les fonds volés. La plateforme contacte actuellement les projets concernés, déconseille la négociation des tokens affectés dans les pools concernés et prépare un rapport d’incident complet comprenant un bilan financier et une proposition de plan de récupération.

Pour l’instant, le montant définitif des pertes reste incertain, et les attaquants détiennent toujours les actifs volés.

Brooklyn DA and the FBI said they dismantled 241 crypto scam websites and 112 servers tied to fraud that stole millions from Americans. read more.

Lire: Procureur de Brooklyn et FBI démantèlent une arnaque crypto mondiale

Cet article a été traduit de l'anglais à l'aide de l'IA. La version originale en anglais fait foi ; les traductions automatiques peuvent contenir des inexactitudes, en particulier dans la terminologie juridique et réglementaire.