Poolz subit une attaque par dépassement arithmétique, perte d'environ 665 000 dollars.
Récemment, un incident d'attaque ciblant Poolz a suscité une large attention au sein de la communauté des cryptomonnaies. Selon les données de surveillance en chaîne, l'attaque s'est produite le 15 mars 2023, impliquant plusieurs chaînes telles qu'Ethereum, BNB Chain et Polygon. Cette attaque a entraîné des pertes de plusieurs tokens, pour une valeur totale d'environ 66,5 millions de dollars.
Les attaquants ont exploité une vulnérabilité de débordement arithmétique dans le contrat intelligent Poolz. Plus précisément, le problème se situe dans la fonction getArraySum de la fonction CreateMassPools. Cette fonction, lors du calcul du nombre de jetons, entraîne une incohérence entre le nombre réel de jetons transférés et le nombre enregistré en raison d'un problème de débordement.
Le processus d'attaque est globalement le suivant :
L'attaquant a d'abord échangé des tokens MNZ sur un certain échange décentralisé.
Ensuite, la fonction CreateMassPools a été appelée. Cette fonction était censée permettre aux utilisateurs de créer des pools de liquidité en masse et de fournir une liquidité initiale.
Dans le processus de CreatePool, en raison d'un problème de débordement de la fonction getArraySum, l'attaquant n'a besoin de transférer qu'un seul jeton, mais le système enregistre une valeur bien supérieure à la quantité réelle.
Enfin, l'attaquant a extrait des jetons bien supérieurs à la quantité qu'il avait réellement déposée via la fonction withdraw, accomplissant ainsi l'attaque.
Cet incident met de nouveau en lumière l'importance et les risques potentiels des opérations arithmétiques 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. Pour les projets utilisant des versions plus anciennes de Solidity, il est recommandé d'adopter la bibliothèque SafeMath d'OpenZeppelin pour gérer les opérations sur les entiers, afin d'éviter les risques de débordement.
Cet événement nous rappelle que la sécurité doit toujours être une priorité dans le développement de la blockchain et des contrats intelligents. Des audits de code réguliers, l'utilisation de bibliothèques vérifiées et la mise en œuvre de mesures de sécurité complètes sont essentielles pour protéger les actifs des utilisateurs et maintenir la réputation du projet.
Voir l'original
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.
5 J'aime
Récompense
5
2
Partager
Commentaire
0/400
GweiTooHigh
· Il y a 13h
Encore un débordement, il y a encore des projets qui commettent cette erreur basique.
Voir l'originalRépondre0
bridge_anxiety
· Il y a 13h
Ce vieux projet a aussi des vulnérabilités ? Ça devient difficile.
Poolz subit une attaque de débordement arithmétique, entraînant une perte de 665 000 $.
Poolz subit une attaque par dépassement arithmétique, perte d'environ 665 000 dollars.
Récemment, un incident d'attaque ciblant Poolz a suscité une large attention au sein de la communauté des cryptomonnaies. Selon les données de surveillance en chaîne, l'attaque s'est produite le 15 mars 2023, impliquant plusieurs chaînes telles qu'Ethereum, BNB Chain et Polygon. Cette attaque a entraîné des pertes de plusieurs tokens, pour une valeur totale d'environ 66,5 millions de dollars.
Les attaquants ont exploité une vulnérabilité de débordement arithmétique dans le contrat intelligent Poolz. Plus précisément, le problème se situe dans la fonction getArraySum de la fonction CreateMassPools. Cette fonction, lors du calcul du nombre de jetons, entraîne une incohérence entre le nombre réel de jetons transférés et le nombre enregistré en raison d'un problème de débordement.
Le processus d'attaque est globalement le suivant :
L'attaquant a d'abord échangé des tokens MNZ sur un certain échange décentralisé.
Ensuite, la fonction CreateMassPools a été appelée. Cette fonction était censée permettre aux utilisateurs de créer des pools de liquidité en masse et de fournir une liquidité initiale.
Dans le processus de CreatePool, en raison d'un problème de débordement de la fonction getArraySum, l'attaquant n'a besoin de transférer qu'un seul jeton, mais le système enregistre une valeur bien supérieure à la quantité réelle.
Enfin, l'attaquant a extrait des jetons bien supérieurs à la quantité qu'il avait réellement déposée via la fonction withdraw, accomplissant ainsi l'attaque.
Cet incident met de nouveau en lumière l'importance et les risques potentiels des opérations arithmétiques 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. Pour les projets utilisant des versions plus anciennes de Solidity, il est recommandé d'adopter la bibliothèque SafeMath d'OpenZeppelin pour gérer les opérations sur les entiers, afin d'éviter les risques de débordement.
Cet événement nous rappelle que la sécurité doit toujours être une priorité dans le développement de la blockchain et des contrats intelligents. Des audits de code réguliers, l'utilisation de bibliothèques vérifiées et la mise en œuvre de mesures de sécurité complètes sont essentielles pour protéger les actifs des utilisateurs et maintenir la réputation du projet.