Analyse de l'incident d'attaque par Prêts Flash sur le réseau Cellframe
Le 1er juin 2023 à 10h07 et 55 secondes (UTC+8), Cellframe Network a été victime d'une attaque de hackers sur la chaîne intelligente en raison d'un problème de calcul du nombre de jetons lors du processus de migration de liquidités. Cette attaque a permis aux hackers de réaliser un profit d'environ 76 112 dollars.
Causes fondamentales de l'attaque
Le problème de calcul lors du processus de migration de la liquidité est la principale raison de cette attaque.
Détails du processus d'attaque
L'attaquant commence par obtenir 1000 BNB et 500 000 jetons New Cell via un Prêt Flash. Ensuite, ils échangent tous les jetons New Cell contre des BNB, ce qui fait que le nombre de BNB dans le pool est proche de zéro. Enfin, l'attaquant échange 900 BNB contre des jetons Old Cell.
Il est à noter que l'attaquant a d'abord ajouté de la liquidité Old Cell et BNB avant de lancer l'attaque, obtenant ainsi Old lp.
Ensuite, l'attaquant appelle la fonction de migration de liquidité. À ce moment-là, il y a presque pas de BNB dans le nouveau pool, tandis qu'il y a presque pas de jetons Old Cell dans l'ancien pool. Le processus de migration comprend : la suppression de l'ancienne liquidité et le retour du nombre correspondant de jetons à l'utilisateur ; puis l'ajout de nouvelle liquidité selon le ratio du nouveau pool. Étant donné qu'il n'y a pratiquement pas de jetons Old Cell dans l'ancien pool, le nombre de BNB obtenu lors de la suppression de liquidité augmente, tandis que le nombre de jetons Old Cell diminue. Cela conduit à ce que l'utilisateur n'ait besoin d'ajouter qu'une petite quantité de BNB et de jetons New Cell pour obtenir de la liquidité, tandis que le surplus de BNB et de jetons Old Cell est retourné à l'utilisateur.
Enfin, l'attaquant retire la liquidité du nouveau pool et échange les jetons Old Cell retournés par la migration contre des BNB. À ce moment-là, il y a une grande quantité de jetons Old Cell dans l'ancien pool mais presque pas de BNB, l'attaquant échange à nouveau les jetons Old Cell contre des BNB, réalisant ainsi un profit. Ensuite, l'attaquant répète l'opération de migration.
Conseils de sécurité
Lors de la migration de la liquidité, il est important de prendre en compte les variations des quantités des deux tokens dans les anciens et nouveaux pools ainsi que les prix actuels des tokens. Utiliser directement les quantités des deux tokens dans la paire de trading pour le calcul peut facilement être manipulé.
Avant le déploiement du code, il est impératif de procéder à un audit de sécurité complet et rigoureux afin de prévenir l'apparition de vulnérabilités similaires.
Cet événement souligne à nouveau la nécessité d'une prudence accrue et d'une considération de sécurité complète lors de la gestion d'opérations DeFi complexes, en particulier celles impliquant des opérations sensibles telles que la migration de liquidité.
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.
Cellframe Network a subi une attaque par Prêts Flash, entraînant une perte de 76 000 $.
Analyse de l'incident d'attaque par Prêts Flash sur le réseau Cellframe
Le 1er juin 2023 à 10h07 et 55 secondes (UTC+8), Cellframe Network a été victime d'une attaque de hackers sur la chaîne intelligente en raison d'un problème de calcul du nombre de jetons lors du processus de migration de liquidités. Cette attaque a permis aux hackers de réaliser un profit d'environ 76 112 dollars.
Causes fondamentales de l'attaque
Le problème de calcul lors du processus de migration de la liquidité est la principale raison de cette attaque.
Détails du processus d'attaque
L'attaquant commence par obtenir 1000 BNB et 500 000 jetons New Cell via un Prêt Flash. Ensuite, ils échangent tous les jetons New Cell contre des BNB, ce qui fait que le nombre de BNB dans le pool est proche de zéro. Enfin, l'attaquant échange 900 BNB contre des jetons Old Cell.
Il est à noter que l'attaquant a d'abord ajouté de la liquidité Old Cell et BNB avant de lancer l'attaque, obtenant ainsi Old lp.
Ensuite, l'attaquant appelle la fonction de migration de liquidité. À ce moment-là, il y a presque pas de BNB dans le nouveau pool, tandis qu'il y a presque pas de jetons Old Cell dans l'ancien pool. Le processus de migration comprend : la suppression de l'ancienne liquidité et le retour du nombre correspondant de jetons à l'utilisateur ; puis l'ajout de nouvelle liquidité selon le ratio du nouveau pool. Étant donné qu'il n'y a pratiquement pas de jetons Old Cell dans l'ancien pool, le nombre de BNB obtenu lors de la suppression de liquidité augmente, tandis que le nombre de jetons Old Cell diminue. Cela conduit à ce que l'utilisateur n'ait besoin d'ajouter qu'une petite quantité de BNB et de jetons New Cell pour obtenir de la liquidité, tandis que le surplus de BNB et de jetons Old Cell est retourné à l'utilisateur.
Enfin, l'attaquant retire la liquidité du nouveau pool et échange les jetons Old Cell retournés par la migration contre des BNB. À ce moment-là, il y a une grande quantité de jetons Old Cell dans l'ancien pool mais presque pas de BNB, l'attaquant échange à nouveau les jetons Old Cell contre des BNB, réalisant ainsi un profit. Ensuite, l'attaquant répète l'opération de migration.
Conseils de sécurité
Lors de la migration de la liquidité, il est important de prendre en compte les variations des quantités des deux tokens dans les anciens et nouveaux pools ainsi que les prix actuels des tokens. Utiliser directement les quantités des deux tokens dans la paire de trading pour le calcul peut facilement être manipulé.
Avant le déploiement du code, il est impératif de procéder à un audit de sécurité complet et rigoureux afin de prévenir l'apparition de vulnérabilités similaires.
Cet événement souligne à nouveau la nécessité d'une prudence accrue et d'une considération de sécurité complète lors de la gestion d'opérations DeFi complexes, en particulier celles impliquant des opérations sensibles telles que la migration de liquidité.