Le protocole Truebit subit une perte de 26,4 millions de dollars dans une attaque de contrat intelligent

iconPANews
Partager
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconRésumé

expand icon
Le protocole Truebit a perdu 26,4 millions de dollars après une attaque ciblant des vulnérabilités de contrat intelligent dans un contrat non open-source datant de cinq ans. Les attaquants ont émis des jetons TRU et ont drainé 8 535,36 ETH. Beosin a suivi les fonds vers trois adresses Ethereum à haut risque. L'exploit consistait à appeler répétitivement une fonction défectueuse avec une valeur minimale de msg.value. Un rapport détaillé sur la violation de sécurité du contrat et le flux des fonds a été publié.

Auteur : Beosin

Le 9 janvier, à l’aube, un contrat non open source du protocole Truebit, déployé il y a 5 ans, a été attaqué, entraînant une perte de 8 535,36 ETH (environ 26,4 millions de dollars américains). L’équipe de sécurité Beosin a mené une analyse des vulnérabilités et du suivi des fonds liés à cet incident de sécurité, et partage ci-dessous ses résultats :

Analyse des techniques d'attaque

Dans le cadre de cet incident, nous avons analysé la transaction d'attaque la plus importante, dont le hachage de la transaction est : 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014

1. L'attaquant appelle getPurchasePrice() pour obtenir le prix.

2. Ensuite, la fonction défectueuse 0xa0296215() est appelée, et la valeur de msg.value est fixée à une valeur extrêmement faible.

En raison du fait que le contrat n'est pas open source, on a pu déduire, en décompilant le code, qu'il existait un défaut de logique arithmétique, comme un problème de troncature d'entier, ce qui a permis à l'attaquant de réussir à mintre (créer) une grande quantité de jetons TRU.

3. L'attaquant utilise la fonction burn pour « revendre » les jetons créés au contrat, extrayant ainsi une grande quantité d'ETH des réserves du contrat.

Ce processus est répété 4 fois, augmentant à chaque fois la valeur de msg.value, jusqu'à ce que presque tout l'ETH contenu dans le contrat soit extrait.

Suivi des fonds volés

Sur la base des données des transactions sur la chaîne, Beosin a mené une analyse approfondie des fonds via sa plateforme d'enquête et de traçage sur la chaîne de blocs, BeosinTrace, et partage les résultats ci-dessous :

Actuellement, les 8 535,36 ETH volés, après avoir été transférés, sont pour la plupart stockés séparément aux adresses 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 et 0x273589ca3713e7becf42069f9fb3f0c164ce850a.

L'adresse 0xd12f détient 4 267,09 ETH, et l'adresse 0x2735 détient 4 001 ETH. L'adresse utilisée par l'attaquant pour lancer l'attaque (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50) contient encore 267,71 ETH. Aucun transfert supplémentaire des fonds n'a été enregistré pour ces trois adresses.

Analyse du flux des fonds détournés par Beosin Trace

Les adresses mentionnées ci-dessus ont toutes été marquées comme adresses à haut risque par Beosin KYT. Prenons par exemple l'adresse de l'attaquant :

Beosin KYT

Conclusion

Les fonds volés concernent un contrat intelligent non open source il y a cinq ans. Pour ce type de contrats, les équipes de projets devraient procéder à des mises à jour, en introduisant des fonctionnalités telles qu'une suspension d'urgence, des limites de paramètres, ainsi que les nouvelles fonctionnalités de sécurité de Solidity. De plus, les audits de sécurité restent un élément indispensable pour les contrats intelligents. Grâce à ces audits, les entreprises Web3 peuvent détecter de manière aussi exhaustive que possible les vulnérabilités potentielles dans le code des contrats intelligents, les corriger et ainsi améliorer la sécurité globale des contrats.

Beosin fournira un rapport d'analyse complet sur tous les flux de fonds et les risques d'adresses liés à cet événement. Vous pouvez le demander par courriel à l'adresse officielle support@beosin.com.

Clause de non-responsabilité : les informations sur cette page peuvent avoir été obtenues auprès de tiers et ne reflètent pas nécessairement les points de vue ou opinions de KuCoin. Ce contenu est fourni à titre informatif uniquement, sans aucune représentation ou garantie d’aucune sorte, et ne doit pas être interprété comme un conseil en investissement. KuCoin ne sera pas responsable des erreurs ou omissions, ni des résultats résultant de l’utilisation de ces informations. Les investissements dans les actifs numériques peuvent être risqués. Veuillez évaluer soigneusement les risques d’un produit et votre tolérance au risque en fonction de votre propre situation financière. Pour plus d’informations, veuillez consulter nos conditions d’utilisation et divulgation des risques.