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.


