Poolz subit une attaque par débordement arithmétique, avec des pertes d'environ 66,5 millions de dollars.
Récemment, le projet Poolz sur les réseaux Ethereum, Binance et Polygon a été attaqué par des hackers, entraînant des pertes importantes. Selon les données de la chaîne, l'attaque a eu lieu le 15 mars 2023, impliquant plusieurs jetons, pour une valeur totale d'environ 665 000 dollars.
L'attaquant a exploité une vulnérabilité de débordement arithmétique dans le contrat Poolz pour réaliser cette attaque. Le principal problème se situe dans la fonction CreateMassPools, qui permet aux utilisateurs de créer des pools de liquidité en masse et de fournir une liquidité initiale. L'attaquant a, par le biais de paramètres d'entrée soigneusement construits, provoqué un débordement dans la fonction getArraySum, enregistrant ainsi une valeur énorme dans le système avec seulement 1 jeton transféré.
Le processus d'attaque est le suivant :
L'attaquant a d'abord échangé quelques jetons MNZ par le biais d'une bourse décentralisée.
Ensuite, appelez la fonction CreateMassPools et exploitez la vulnérabilité de la fonction getArraySum qu'elle contient. Cette fonction renvoie 1 lors de l'addition du tableau _StartAmount saisi par l'utilisateur en raison d'un débordement, alors que la valeur réellement enregistrée est un nombre bien supérieur.
Enfin, l'attaquant a extrait des fonds en appelant la fonction withdraw, complétant ainsi l'ensemble du processus d'attaque.
Cet incident met à nouveau en lumière la gravité du problème de débordement arithmétique dans les contrats intelligents. Pour éviter des problèmes similaires, les développeurs devraient envisager d'utiliser des versions plus récentes du compilateur Solidity, qui effectuent automatiquement des vérifications de débordement lors de la compilation. Pour les projets utilisant des versions antérieures de Solidity, des bibliothèques de sécurité tierces peuvent être utilisées pour résoudre le problème de débordement d'entiers.
Cette attaque nous rappelle également qu'il est impératif d'être particulièrement prudent lors de la gestion des contrats intelligents impliquant des calculs importants, en veillant à ce que tous les cas limites possibles soient correctement traités. De plus, des audits de sécurité réguliers et des programmes de récompense pour les vulnérabilités sont des mesures efficaces pour garantir la sécurité des projets.
Voir l'original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
11 J'aime
Récompense
11
6
Partager
Commentaire
0/400
TokenGuru
· Il y a 22h
Aïe, un ancien projet a aussi échoué. Transférer de l'argent, arrêtez vite. Ne rechargez pas de jetons pour entrer dans une position.
Poolz victime d'une attaque par débordement arithmétique, perte de 665 000 dollars.
Poolz subit une attaque par débordement arithmétique, avec des pertes d'environ 66,5 millions de dollars.
Récemment, le projet Poolz sur les réseaux Ethereum, Binance et Polygon a été attaqué par des hackers, entraînant des pertes importantes. Selon les données de la chaîne, l'attaque a eu lieu le 15 mars 2023, impliquant plusieurs jetons, pour une valeur totale d'environ 665 000 dollars.
L'attaquant a exploité une vulnérabilité de débordement arithmétique dans le contrat Poolz pour réaliser cette attaque. Le principal problème se situe dans la fonction CreateMassPools, qui permet aux utilisateurs de créer des pools de liquidité en masse et de fournir une liquidité initiale. L'attaquant a, par le biais de paramètres d'entrée soigneusement construits, provoqué un débordement dans la fonction getArraySum, enregistrant ainsi une valeur énorme dans le système avec seulement 1 jeton transféré.
Le processus d'attaque est le suivant :
L'attaquant a d'abord échangé quelques jetons MNZ par le biais d'une bourse décentralisée.
Ensuite, appelez la fonction CreateMassPools et exploitez la vulnérabilité de la fonction getArraySum qu'elle contient. Cette fonction renvoie 1 lors de l'addition du tableau _StartAmount saisi par l'utilisateur en raison d'un débordement, alors que la valeur réellement enregistrée est un nombre bien supérieur.
Enfin, l'attaquant a extrait des fonds en appelant la fonction withdraw, complétant ainsi l'ensemble du processus d'attaque.
Cet incident met à nouveau en lumière la gravité du problème de débordement arithmétique dans les contrats intelligents. Pour éviter des problèmes similaires, les développeurs devraient envisager d'utiliser des versions plus récentes du compilateur Solidity, qui effectuent automatiquement des vérifications de débordement lors de la compilation. Pour les projets utilisant des versions antérieures de Solidity, des bibliothèques de sécurité tierces peuvent être utilisées pour résoudre le problème de débordement d'entiers.
Cette attaque nous rappelle également qu'il est impératif d'être particulièrement prudent lors de la gestion des contrats intelligents impliquant des calculs importants, en veillant à ce que tous les cas limites possibles soient correctement traités. De plus, des audits de sécurité réguliers et des programmes de récompense pour les vulnérabilités sont des mesures efficaces pour garantir la sécurité des projets.