Euler Finance a subi une attaque de 200 millions de dollars par des Prêts Flash, les vulnérabilités du contrat étant la principale cause.

robot
Création du résumé en cours

Euler Finance a subi une attaque par Prêts Flash, avec des pertes de près de 200 millions de dollars.

Le 13 mars 2023, le projet Euler Finance a subi une attaque par prêts flash en raison d'une vulnérabilité dans le contrat, entraînant une perte d'environ 197 millions de dollars. L'attaquant a exploité la faille liée à l'absence de vérification de liquidité de la fonction donateToReserves de l'Etoken dans le projet, en réalisant plusieurs opérations avec différentes devises pour obtenir d'énormes profits.

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

Analyse du processus d'attaque

  1. L'attaquant a d'abord emprunté 30 millions de DAI via un Prêt Flash sur une plateforme de prêt, puis a déployé deux contrats : un contrat de prêt et un contrat de liquidation.

  2. Ensuite, 20 millions de DAI sont mis en garantie dans le contrat du protocole Euler, obtenant 19,5 millions d'eDAI.

  3. Utiliser la fonction de levier 10x du protocole Euler pour emprunter 195,6 millions d'eDAI et 200 millions de dDAI.

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

  5. Faire un don de 100 millions d'eDAI via la fonction donateToReserves (10 fois le montant à rembourser), puis exécuter immédiatement l'opération de liquidation pour obtenir 310 millions de dDAI et 250 millions d'eDAI.

  6. Enfin, extraction de 38,9 millions de DAI, remboursement des Prêts Flash de 30 millions de DAI, 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 1,97 milliard de dollars !

Analyse des vulnérabilités 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 par Prêts Flash, perte de 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 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 des vulnérabilités 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 de prêts flash, perte de 1,97 milliard de dollars !

Causes de la vulnérabilité

La clé du succès de l'attaque réside dans le fait que la fonction donateToReserves d'Euler Finance manque de vérifications de liquidité nécessaires. Contrairement à d'autres fonctions comme mint, donateToReserves n'appelle pas la fonction checkLiquidity pour vérifier l'état des fonds de l'utilisateur. Cela permet à l'attaquant de manipuler son propre compte pour entrer dans un état pouvant être liquidé, puis d'exécuter la liquidation pour réaliser un profit.

Dans des conditions normales, la fonction checkLiquidity appelle le module RiskManager pour s'assurer que le nombre d'Etoken de l'utilisateur est supérieur au nombre de Dtoken, afin de maintenir la santé du compte. Cependant, la fonction donateToReserves a contourné cette étape cruciale, offrant ainsi une opportunité aux attaquants.

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

Conseils de sécurité

Cet événement met en évidence l'importance de l'audit de sécurité des contrats intelligents. Pour les projets de prêt, il est particulièrement important de se concentrer sur les aspects suivants :

  1. L'intégrité du mécanisme de remboursement des fonds
  2. Exhaustivité de la détection de la liquidité
  3. La rigueur du processus de liquidation de la dette

Les équipes de projet doivent effectuer un audit de sécurité complet et approfondi avant le déploiement des contrats, afin de garantir la sécurité et la stabilité de toutes les fonctionnalités. De plus, une surveillance continue de la sécurité et des corrections de vulnérabilités en temps opportun sont également des mesures nécessaires pour garantir le fonctionnement sécurisé à long terme du projet.

EUL-1.93%
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
  • 7
  • Reposter
  • Partager
Commentaire
0/400
Ser_Liquidatedvip
· 07-14 00:49
Encore un projet à sacrifier, merci.
Voir l'originalRépondre0
mev_me_maybevip
· 07-14 00:03
Encore encore encore été victime de dumping.
Voir l'originalRépondre0
0xSoullessvip
· 07-13 14:42
pigeons année après année prendre les gens pour des idiots, après avoir pris les gens pour des idiots, on continue à prendre les gens pour des idiots.
Voir l'originalRépondre0
RugpullSurvivorvip
· 07-11 02:50
Encore une grande casserole ! Vous n'avez pas un peu de culpabilité ?
Voir l'originalRépondre0
GasFeeCriervip
· 07-11 02:46
Attendre que le projet de fête disparaisse avec un Rug Pull
Voir l'originalRépondre0
GasFeeCrybabyvip
· 07-11 02:39
Encore une fois volé, tss tss
Voir l'originalRépondre0
GasWastervip
· 07-11 02:35
rip... une autre leçon coûteuse en optimisation de gas smh
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)