Dans la nuit du 9 janvier, le contrat non open-source déployé il y a 5 ans par Truebit Protocol a été victime d’une attaque, entraînant une perte de 8 535,36 ETH (d’une valeur d’environ 26,4 millions de dollars). L’équipe de sécurité de Beosin a effectué une analyse des vulnérabilités et du suivi des fonds liés à cet incident, et partage les résultats comme suit :
Analyse de la méthode d’attaque
Pour cette incident, nous analysons principalement une transaction d’attaque, dont le hash est : 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
L’attaquant appelle getPurchasePrice() pour obtenir le prix
Ensuite, il appelle la fonction défectueuse 0xa0296215(), en réglant la valeur de msg.value à un montant très faible
Étant donné que le contrat n’est pas open-source, une décompilation du code permet de supposer que cette fonction présente une vulnérabilité logique arithmétique, comme un problème de troncature d’entiers, ce qui a permis à l’attaquant de frapper un grand nombre de jetons TRU.
L’attaquant utilise la fonction burn pour “revendre” les jetons frappés au contrat, extrayant ainsi une grande quantité d’ETH des réserves du contrat.
Ce processus a été répété 4 fois, chaque fois en augmentant la valeur de msg.value, jusqu’à ce que presque tous les ETH du contrat soient extraits.
Suivi des fonds volés
Selon les données de transaction sur la blockchain, Beosin a effectué un suivi détaillé des fonds via sa plateforme d’enquête et de traçage on-chain BeosinTrace, et partage les résultats comme suit :
Actuellement, les 8 535,36 ETH volés ont été transférés et la majorité d’entre eux sont stockés dans les adresses 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 et 0x273589ca3713e7becf42069f9fb3f0c164ce850a.
L’adresse 0xd12f détient 4 267,09 ETH, et l’adresse 0x2735 détient 4 001 ETH. L’adresse de l’attaquant (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50) détient encore 267,71 ETH, et trois autres adresses n’ont pas encore effectué de transferts de fonds supplémentaires.
Graphique d’analyse des flux des fonds volés par Beosin Trace
Les adresses ci-dessus ont toutes été marquées comme adresses à haut risque par Beosin KYT, en prenant l’adresse de l’attaquant comme exemple :
Beosin KYT
Conclusion
Les fonds volés impliquent un contrat intelligent non open-source datant de 5 ans. Pour ce type de contrat, les projets doivent procéder à une mise à jour du contrat, en introduisant une suspension d’urgence, des limites de paramètres, ainsi que les nouvelles fonctionnalités de sécurité de Solidity. De plus, l’audit de sécurité reste une étape indispensable. Grâce à l’audit, les entreprises Web3 peuvent détecter de manière aussi complète que possible le code des contrats intelligents, découvrir et corriger les vulnérabilités potentielles, et renforcer la sécurité des contrats.
*Beosin fournira un rapport complet d’analyse de tous les flux de fonds et des risques liés aux adresses pour cet incident. N’hésitez pas à le demander via l’adresse email officielle support@beosin.com.
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Perte de plus de 26 millions de dollars, analyse de l'incident de sécurité de Truebit Protocol et suivi des fonds volés
null
Auteur : Beosin
Dans la nuit du 9 janvier, le contrat non open-source déployé il y a 5 ans par Truebit Protocol a été victime d’une attaque, entraînant une perte de 8 535,36 ETH (d’une valeur d’environ 26,4 millions de dollars). L’équipe de sécurité de Beosin a effectué une analyse des vulnérabilités et du suivi des fonds liés à cet incident, et partage les résultats comme suit :
Analyse de la méthode d’attaque
Pour cette incident, nous analysons principalement une transaction d’attaque, dont le hash est : 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
L’attaquant appelle getPurchasePrice() pour obtenir le prix
Ensuite, il appelle la fonction défectueuse 0xa0296215(), en réglant la valeur de msg.value à un montant très faible
Étant donné que le contrat n’est pas open-source, une décompilation du code permet de supposer que cette fonction présente une vulnérabilité logique arithmétique, comme un problème de troncature d’entiers, ce qui a permis à l’attaquant de frapper un grand nombre de jetons TRU.
Ce processus a été répété 4 fois, chaque fois en augmentant la valeur de msg.value, jusqu’à ce que presque tous les ETH du contrat soient extraits.
Suivi des fonds volés
Selon les données de transaction sur la blockchain, Beosin a effectué un suivi détaillé des fonds via sa plateforme d’enquête et de traçage on-chain BeosinTrace, et partage les résultats comme suit :
Actuellement, les 8 535,36 ETH volés ont été transférés et la majorité d’entre eux sont stockés dans les adresses 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 et 0x273589ca3713e7becf42069f9fb3f0c164ce850a.
L’adresse 0xd12f détient 4 267,09 ETH, et l’adresse 0x2735 détient 4 001 ETH. L’adresse de l’attaquant (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50) détient encore 267,71 ETH, et trois autres adresses n’ont pas encore effectué de transferts de fonds supplémentaires.
Graphique d’analyse des flux des fonds volés par Beosin Trace
Les adresses ci-dessus ont toutes été marquées comme adresses à haut risque par Beosin KYT, en prenant l’adresse de l’attaquant comme exemple :
Beosin KYT
Conclusion
Les fonds volés impliquent un contrat intelligent non open-source datant de 5 ans. Pour ce type de contrat, les projets doivent procéder à une mise à jour du contrat, en introduisant une suspension d’urgence, des limites de paramètres, ainsi que les nouvelles fonctionnalités de sécurité de Solidity. De plus, l’audit de sécurité reste une étape indispensable. Grâce à l’audit, les entreprises Web3 peuvent détecter de manière aussi complète que possible le code des contrats intelligents, découvrir et corriger les vulnérabilités potentielles, et renforcer la sécurité des contrats.
*Beosin fournira un rapport complet d’analyse de tous les flux de fonds et des risques liés aux adresses pour cet incident. N’hésitez pas à le demander via l’adresse email officielle support@beosin.com.