Analyse de l'incident d'attaque par Prêts Flash sur le réseau Cellframe
Le 1er juin 2023 à 10h07m55s (UTC+8), Cellframe Network a été victime d'une attaque de hacker sur la chaîne intelligente Binance en raison d'un problème de calcul de jetons lors du processus de migration de liquidité. Cette attaque a permis au hacker de réaliser un bénéfice d'environ 76 112 $.
Détails de l'attaque
L'attaquant a d'abord obtenu 1000 BNB et 500 000 jetons New Cell par le biais de Prêts Flash. Ensuite, ils ont échangé tous les jetons New Cell contre des BNB, ce qui a fait chuter le nombre de BNB dans la piscine à presque zéro. Enfin, l'attaquant a échangé 900 BNB contre des jetons Old Cell.
Il est à noter que les attaquants ont ajouté de la liquidité pour Old Cell et BNB avant de mener l'attaque, obtenant ainsi Old lp.
Processus d'attaque
L'attaquant appelle la fonction de migration de liquidité. À ce stade, 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 : retirer l'ancienne liquidité et retourner le nombre correspondant de jetons aux utilisateurs ; ajouter de la nouvelle liquidité selon le ratio de la nouvelle piscine.
En raison du fait qu'il n'y a pratiquement pas de jetons Old Cell dans l'ancienne réserve, le nombre de BNB obtenus lors du retrait de la liquidité augmente, tandis que le nombre de jetons Old Cell diminue.
Les utilisateurs n'ont besoin d'ajouter qu'un peu de BNB et de jetons New Cell pour obtenir de la liquidité, le surplus de BNB et de jetons Old Cell sera retourné aux utilisateurs.
L'attaquant retire la liquidité du nouveau pool et échange les tokens Old Cell retournés pour des BNB.
À ce moment-là, il y a une grande quantité de tokens Old Cell dans le vieux pool, mais pas de BNB. L'attaquant échange à nouveau les tokens Old Cell contre des BNB, réalisant ainsi un profit.
L'attaquant effectue à plusieurs reprises l'opération de migration.
Racine de la vulnérabilité
Un problème de calcul du nombre de jetons lors du processus de migration de liquidité permet aux attaquants de profiter de la manipulation des proportions des pools.
Conseils de sécurité
Lors de la migration de la liquidité, il convient de prendre en compte l'évolution des quantités des deux types de jetons dans les anciens et nouveaux pools ainsi que le prix actuel des jetons.
Évitez d'utiliser directement les quantités des deux cryptomonnaies d'une paire de trading pour les calculs, car cela peut être manipulé.
Effectuer un audit de sécurité complet avant le déploiement du code afin de prévenir d'éventuelles vulnérabilités.
Cet événement souligne à nouveau l'importance de prendre en compte toutes les situations lors de la conception et de la mise en œuvre d'opérations financières complexes, en particulier lors d'opérations sensibles telles que la migration de liquidités. En même temps, il nous rappelle que l'importance des audits de sécurité dans l'écosystème blockchain ne doit pas être ignorée.
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.
12 J'aime
Récompense
12
6
Partager
Commentaire
0/400
GasFeeCrier
· 07-20 17:49
Un autre projet a eu un accident, c'est terrifiant.
Voir l'originalRépondre0
WhaleMistaker
· 07-20 17:49
Encore un projet devient la cible d'attaques, sigh.
Voir l'originalRépondre0
LiquidationWatcher
· 07-20 17:48
Encore une autre chute, voyons qui sera le prochain.
Voir l'originalRépondre0
LiquiditySurfer
· 07-20 17:47
C'est juste le marché qui profite de la tendance des vagues, cette scène est trop courante~
Cellframe Network a subi une attaque par Prêts Flash, entraînant une perte de 76 000 dollars.
Analyse de l'incident d'attaque par Prêts Flash sur le réseau Cellframe
Le 1er juin 2023 à 10h07m55s (UTC+8), Cellframe Network a été victime d'une attaque de hacker sur la chaîne intelligente Binance en raison d'un problème de calcul de jetons lors du processus de migration de liquidité. Cette attaque a permis au hacker de réaliser un bénéfice d'environ 76 112 $.
Détails de l'attaque
L'attaquant a d'abord obtenu 1000 BNB et 500 000 jetons New Cell par le biais de Prêts Flash. Ensuite, ils ont échangé tous les jetons New Cell contre des BNB, ce qui a fait chuter le nombre de BNB dans la piscine à presque zéro. Enfin, l'attaquant a échangé 900 BNB contre des jetons Old Cell.
Il est à noter que les attaquants ont ajouté de la liquidité pour Old Cell et BNB avant de mener l'attaque, obtenant ainsi Old lp.
Processus d'attaque
L'attaquant appelle la fonction de migration de liquidité. À ce stade, 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 : retirer l'ancienne liquidité et retourner le nombre correspondant de jetons aux utilisateurs ; ajouter de la nouvelle liquidité selon le ratio de la nouvelle piscine.
En raison du fait qu'il n'y a pratiquement pas de jetons Old Cell dans l'ancienne réserve, le nombre de BNB obtenus lors du retrait de la liquidité augmente, tandis que le nombre de jetons Old Cell diminue.
Les utilisateurs n'ont besoin d'ajouter qu'un peu de BNB et de jetons New Cell pour obtenir de la liquidité, le surplus de BNB et de jetons Old Cell sera retourné aux utilisateurs.
L'attaquant retire la liquidité du nouveau pool et échange les tokens Old Cell retournés pour des BNB.
À ce moment-là, il y a une grande quantité de tokens Old Cell dans le vieux pool, mais pas de BNB. L'attaquant échange à nouveau les tokens Old Cell contre des BNB, réalisant ainsi un profit.
L'attaquant effectue à plusieurs reprises l'opération de migration.
Racine de la vulnérabilité
Un problème de calcul du nombre de jetons lors du processus de migration de liquidité permet aux attaquants de profiter de la manipulation des proportions des pools.
Conseils de sécurité
Lors de la migration de la liquidité, il convient de prendre en compte l'évolution des quantités des deux types de jetons dans les anciens et nouveaux pools ainsi que le prix actuel des jetons.
Évitez d'utiliser directement les quantités des deux cryptomonnaies d'une paire de trading pour les calculs, car cela peut être manipulé.
Effectuer un audit de sécurité complet avant le déploiement du code afin de prévenir d'éventuelles vulnérabilités.
Cet événement souligne à nouveau l'importance de prendre en compte toutes les situations lors de la conception et de la mise en œuvre d'opérations financières complexes, en particulier lors d'opérations sensibles telles que la migration de liquidités. En même temps, il nous rappelle que l'importance des audits de sécurité dans l'écosystème blockchain ne doit pas être ignorée.