Euler Finance a subi une attaque de 200 millions de dollars par des Prêts Flash, la sécurité de la Finance décentralisée sonne à nouveau l'alarme.

robot
Création du résumé en cours

Euler Finance a subi une attaque de prêts flash, avec des pertes proches de 200 millions de dollars.

Le 13 mars 2023, le projet Euler Finance a subi une attaque de Prêts Flash à grande échelle en raison d'une vulnérabilité dans la fonction donateToReserves de son contrat Etoken. L'attaquant a effectué plusieurs opérations en utilisant divers tokens, entraînant finalement une perte énorme d'environ 197 millions de dollars.

Analyse des vulnérabilités d'Euler Finance : comment subir une attaque par Prêts Flash, perte de 1,97 milliard de dollars !

Analyse du processus d'attaque

L'attaquant a d'abord obtenu un Prêt Flash de 30 millions de DAI depuis une plateforme de prêt, puis a déployé deux contrats clés : un pour les opérations de prêt et l'autre pour la liquidation. Le processus d'attaque peut être divisé en plusieurs étapes :

  1. Pledger 20 millions DAI dans le contrat du protocole Euler pour obtenir environ 19,5 millions eDAI.

  2. Utilisez la fonctionnalité de levier de 10x du protocole Euler pour emprunter 195,6 millions d'eDAI et 200 millions de dDAI.

  3. Utiliser les 10 millions de DAI restants pour rembourser une partie de la dette et détruire la quantité correspondante de dDAI, puis emprunter à nouveau une quantité équivalente d'eDAI et de dDAI.

  4. En faisant un don de 100 millions d'eDAI par la fonction donateToReserves, puis en appelant la fonction liquidate pour procéder à la liquidation, on obtient 310 millions de dDAI et 250 millions d'eDAI.

  5. Enfin, extraction de 38,9 millions de DAI, après remboursement des Prêts Flash, bénéfice net d'environ 8,87 millions de DAI.

Analyse de la vulnérabilité d'Euler Finance : comment subir une attaque par Prêts Flash, perte de 197 millions de dollars !

Analyse des vulnérabilités d'Euler Finance : comment subir une attaque de prêts flash, perte de 1,97 milliard de dollars !

Analyse de la vulnérabilité d'Euler Finance : comment subir une attaque par Prêts Flash, perte de 1,97 milliard de dollars !

Analyse de la vulnérabilité d'Euler Finance : comment subir une attaque par Prêts Flash, perte de 197 millions de dollars !

Analyse de la vulnérabilité d'Euler Finance : comment subir une attaque par Prêts Flash, perte de 1,97 milliard de dollars !

Analyse de la vulnérabilité d'Euler Finance : comment subir une attaque de prêts flash, perte de 197 millions de dollars !

Analyse de la vulnérabilité d'Euler Finance : comment subir une attaque par Prêts Flash, perte de 1,97 milliard de dollars !

Analyse de la vulnérabilité d'Euler Finance : comment subir une attaque par Prêts Flash et perdre 197 millions de dollars !

Analyse des causes de la vulnérabilité

Le problème central de cette attaque réside dans le fait que la fonction donateToReserves manque de vérifications de liquidité nécessaires. Contrairement à la fonction mint, la fonction donateToReserves n'exécute pas l'étape checkLiquidity, ce qui permet aux utilisateurs de contourner le mécanisme normal de vérification de la liquidité.

Dans des conditions normales, la fonction checkLiquidity appelle le module RiskManager pour s'assurer que le nombre d'Etokens de l'utilisateur est supérieur au nombre de Dtokens. Cependant, comme la fonction donateToReserves a omis cette étape, l'attaquant a pu d'abord se placer dans un état pouvant être liquidé, puis effectuer l'opération de liquidation.

Analyse de la vulnérabilité d'Euler Finance : comment subir une attaque par Prêts Flash, perte de 1,97 milliard de dollars !

Conseils de sécurité

À l'intention de ce type de vulnérabilité, nous recommandons aux projets DeFi :

  1. Effectuer un audit de sécurité complet avant le lancement du contrat pour garantir la sécurité du contrat.

  2. Accordez une attention particulière aux étapes clés telles que le remboursement des fonds, la détection de la liquidité et la liquidation des dettes dans les projets de prêt.

  3. Mettre en œuvre des contrôles de liquidité stricts pour toutes les fonctions susceptibles d'affecter l'état des actifs des utilisateurs.

  4. Effectuer régulièrement des revues de code et corriger rapidement les vulnérabilités potentielles.

  5. Envisagez d'introduire des mesures de sécurité supplémentaires telles que des mécanismes de multi-signature ou des verrous temporels.

Cet événement souligne à nouveau l'importance de la sécurité des contrats intelligents. Les équipes de projet doivent toujours placer la sécurité en première position, en protégeant les actifs des utilisateurs et en favorisant le développement sain de l'écosystème du projet grâce à des pratiques de sécurité en constante amélioration.

Analyse de la vulnérabilité d'Euler Finance : comment subir une attaque par Prêts Flash, perte de 197 millions de dollars !

EUL-8.81%
DEFI10.7%
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.
  • Récompense
  • 6
  • Partager
Commentaire
0/400
MevTearsvip
· 07-07 18:24
Est-ce que le defi est agréable quand on compte l'argent en étant allongé ?
Voir l'originalRépondre0
rekt_but_vibingvip
· 07-06 05:25
Encore un projet Rug Pull.
Voir l'originalRépondre0
P2ENotWorkingvip
· 07-06 05:23
C'est encore explosé, pas surprenant.
Voir l'originalRépondre0
token_therapistvip
· 07-06 05:14
Encore une fête pour se faire prendre pour des cons
Voir l'originalRépondre0
CryptoMomvip
· 07-06 05:10
l'univers de la cryptomonnaie pigeons encore pris pour des idiots
Voir l'originalRépondre0
BearMarketLightningvip
· 07-06 05:00
L'audit du projet ne sert à rien non plus.
Voir l'originalRépondre0
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)