Analyse de l'incident d'attaque par prêts flash sur le réseau Cellframe
Le 1er juin 2023 à 10h07min55s (UTC+8), Cellframe Network a été victime d'une attaque par un hacker sur une chaîne intelligente en raison d'un problème de calcul du nombre de tokens lors du processus de migration de liquidités. Selon les informations, le hacker a réalisé un profit de 76 112 dollars.
Analyse du processus d'attaque
L'attaquant a d'abord obtenu 1000 jetons natifs d'une certaine chaîne intelligente et 500 000 jetons New Cell grâce à un Prêt Flash. Ensuite, l'attaquant a échangé tous les jetons New Cell contre des jetons natifs, ce qui a amené le nombre de jetons natifs dans la piscine de transactions à presque zéro. Enfin, l'attaquant a échangé 900 jetons natifs contre des jetons Old Cell.
Il est à noter que les attaquants ont d'abord ajouté de la liquidité pour Old Cell et les jetons natifs avant de lancer l'attaque, obtenant ainsi des jetons Old lp.
Ensuite, l'attaquant a appelé la fonction de migration de liquidité. À ce stade, il y a presque aucun jeton natif dans le nouveau pool, et presque aucun jeton Old Cell dans l'ancien pool. Le processus de migration comprend les étapes suivantes :
Retirer la liquidité ancienne et retourner le nombre correspondant de jetons aux utilisateurs.
Ajouter de nouvelles liquidités selon la proportion du nouveau pool
En raison du fait qu'il n'y a pratiquement pas de jetons Old Cell dans l'ancienne réserve, le nombre de jetons natifs obtenus lors du retrait de liquidités augmente, tandis que le nombre de jetons Old Cell diminue. Cela conduit les utilisateurs à n'avoir besoin d'ajouter qu'une petite quantité de jetons natifs et de jetons New Cell pour obtenir des liquidités, tandis que les jetons natifs excédentaires et les jetons Old Cell sont retournés aux utilisateurs.
Enfin, l'attaquant retire la liquidité du nouveau pool et échange les jetons Old Cell retournés après la migration contre des jetons natifs. À ce moment-là, le vieux pool contient une grande quantité de jetons Old Cell mais pas de jetons natifs, l'attaquant échange alors les jetons Old Cell contre des jetons natifs, réalisant ainsi un profit. L'attaquant répète ensuite l'opération de migration, augmentant encore les gains.
Causes fondamentales de l'attaque
La cause fondamentale de cette attaque réside dans un problème de calcul lors du processus de migration de la liquidité. Lors de la migration de la liquidité, l'équipe du projet effectue des calculs directement en utilisant les quantités des deux jetons de la paire de trading, cette méthode étant facilement manipulable par les attaquants.
Conseils de sécurité
Lors de la migration de liquidités, il convient de prendre en compte les variations de la quantité des deux tokens dans les anciens et nouveaux pools ainsi que le prix actuel des tokens, plutôt que de simplement calculer la quantité de tokens.
Avant le déploiement du code, un audit de sécurité complet doit être effectué pour identifier et corriger les vulnérabilités potentielles.
Cet incident nous rappelle encore une fois qu'il est crucial de prêter une attention particulière à la sécurité et à la robustesse lors de la conception et de la mise en œuvre d'opérations financières complexes, afin de prévenir l'exploitation de potentielles attaques et vulnérabilités.
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
7
Partager
Commentaire
0/400
NotGonnaMakeIt
· Il y a 11h
Pas un voleur idiot qui perd particulièrement?
Voir l'originalRépondre0
MEVHunterNoLoss
· Il y a 11h
Mort Hacker vole le travail
Voir l'originalRépondre0
NFTRegretter
· Il y a 11h
Encore des Prêts Flash ! Ça ne finit jamais.
Voir l'originalRépondre0
MidnightSnapHunter
· Il y a 11h
Hacker, l'argent a diminué, tu es devenu fou à force de penser à l'argent.
Voir l'originalRépondre0
SerumSurfer
· Il y a 11h
70 000 ? Les hackers n'ont même pas envie d'agir, n'est-ce pas ?
Voir l'originalRépondre0
TokenToaster
· Il y a 11h
Encore des Prêts Flash... le réseau n'est même pas sûr.
Cellframe Network a été victime d'une attaque de Prêts Flash, le Hacker a réalisé un profit de 76 000 dollars.
Analyse de l'incident d'attaque par prêts flash sur le réseau Cellframe
Le 1er juin 2023 à 10h07min55s (UTC+8), Cellframe Network a été victime d'une attaque par un hacker sur une chaîne intelligente en raison d'un problème de calcul du nombre de tokens lors du processus de migration de liquidités. Selon les informations, le hacker a réalisé un profit de 76 112 dollars.
Analyse du processus d'attaque
L'attaquant a d'abord obtenu 1000 jetons natifs d'une certaine chaîne intelligente et 500 000 jetons New Cell grâce à un Prêt Flash. Ensuite, l'attaquant a échangé tous les jetons New Cell contre des jetons natifs, ce qui a amené le nombre de jetons natifs dans la piscine de transactions à presque zéro. Enfin, l'attaquant a échangé 900 jetons natifs contre des jetons Old Cell.
Il est à noter que les attaquants ont d'abord ajouté de la liquidité pour Old Cell et les jetons natifs avant de lancer l'attaque, obtenant ainsi des jetons Old lp.
Ensuite, l'attaquant a appelé la fonction de migration de liquidité. À ce stade, il y a presque aucun jeton natif dans le nouveau pool, et presque aucun jeton Old Cell dans l'ancien pool. Le processus de migration comprend les étapes suivantes :
En raison du fait qu'il n'y a pratiquement pas de jetons Old Cell dans l'ancienne réserve, le nombre de jetons natifs obtenus lors du retrait de liquidités augmente, tandis que le nombre de jetons Old Cell diminue. Cela conduit les utilisateurs à n'avoir besoin d'ajouter qu'une petite quantité de jetons natifs et de jetons New Cell pour obtenir des liquidités, tandis que les jetons natifs excédentaires et les jetons Old Cell sont retournés aux utilisateurs.
Enfin, l'attaquant retire la liquidité du nouveau pool et échange les jetons Old Cell retournés après la migration contre des jetons natifs. À ce moment-là, le vieux pool contient une grande quantité de jetons Old Cell mais pas de jetons natifs, l'attaquant échange alors les jetons Old Cell contre des jetons natifs, réalisant ainsi un profit. L'attaquant répète ensuite l'opération de migration, augmentant encore les gains.
Causes fondamentales de l'attaque
La cause fondamentale de cette attaque réside dans un problème de calcul lors du processus de migration de la liquidité. Lors de la migration de la liquidité, l'équipe du projet effectue des calculs directement en utilisant les quantités des deux jetons de la paire de trading, cette méthode étant facilement manipulable par les attaquants.
Conseils de sécurité
Lors de la migration de liquidités, il convient de prendre en compte les variations de la quantité des deux tokens dans les anciens et nouveaux pools ainsi que le prix actuel des tokens, plutôt que de simplement calculer la quantité de tokens.
Avant le déploiement du code, un audit de sécurité complet doit être effectué pour identifier et corriger les vulnérabilités potentielles.
Cet incident nous rappelle encore une fois qu'il est crucial de prêter une attention particulière à la sécurité et à la robustesse lors de la conception et de la mise en œuvre d'opérations financières complexes, afin de prévenir l'exploitation de potentielles attaques et vulnérabilités.