Euler Finance a subi une attaque de Prêts Flash de 200 millions de dollars, les vulnérabilités des smart contracts en sont la 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.

Récemment, le projet Euler Finance a subi une attaque par prêts flash en raison d'une vulnérabilité dans le contrat intelligent, entraînant d'énormes pertes financières. Cet article analysera en détail cet événement.

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

Aperçu de l'événement

Le 13 mars 2023, la fonction donateToReserves du contrat Etoken du projet Euler Finance manquait de vérifications de liquidité nécessaires, ce qui a été exploité par des attaquants pour réaliser une attaque par prêts flash. Les attaquants ont effectué plusieurs opérations avec différentes cryptomonnaies, entraînant finalement une perte d'environ 197 millions de dollars, impliquant 6 types de tokens. Les fonds volés sont toujours bloqués sur le compte des attaquants.

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 emprunte d'abord 30 millions de DAI via un Prêt Flash sur une plateforme de prêt, puis déploie un contrat de prêt et un contrat de liquidation.

  2. En utilisant la fonction deposit, stakez 20 millions de DAI dans le contrat Euler Protocol et obtenez 19,5 millions d'eDAI.

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

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

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

  1. 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 la même quantité d'eDAI et de dDAI.

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

  1. Appeler la fonction donateToReserves pour faire un don de 100 millions d'eDAI, puis procéder à la liquidation via la fonction liquidate pour obtenir 310 millions de dDAI et 250 millions d'eDAI.

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

  1. Enfin, retirez 38,9 millions de DAI via la fonction withdraw, remboursez 300 000 DAI Prêts Flash, et réalisez un bénéfice net de 8,87 millions de DAI.

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

Analyse des causes des vulnérabilités

Après révision du code, il a été constaté que le problème se situe dans la fonction donateToReserves. Par rapport à d'autres fonctions clés comme mint, la fonction donateToReserves manque d'une étape importante de checkLiquidity.

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

La fonction checkLiquidity appelle généralement le module RiskManager pour vérifier l'utilisateur, en s'assurant que le nombre d'Etoken est supérieur au nombre de Dtoken. Étant donné que la fonction donateToReserves n'exécute pas cette vérification, un attaquant peut exploiter certaines fonctionnalités du protocole pour se placer dans un état pouvant être liquidé, puis réaliser un profit grâce à la liquidation.

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é

Pour faire face à ce type d'attaque, les équipes de projet doivent prêter attention aux points suivants :

  1. Avant le lancement du contrat, un audit de sécurité complet doit être effectué pour garantir la sécurité du contrat.

  2. Les projets de prêt doivent se concentrer sur des étapes clés telles que le remboursement des fonds, la détection de la liquidité et le règlement de la dette.

  3. Toutes les fonctions pouvant affecter l'état des actifs des utilisateurs doivent inclure les mécanismes de vérification de sécurité nécessaires.

  4. Effectuer régulièrement des revues de code et des programmes de primes de bugs pour détecter et corriger rapidement les menaces potentielles.

  5. Établir un mécanisme de réponse d'urgence pour pouvoir prendre rapidement des mesures correctives en cas d'incident d'attaque.

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

Avec le développement continu des projets DeFi, les problèmes de sécurité deviennent de plus en plus importants. Les équipes de projet doivent rester vigilantes en tout temps et prendre des mesures de protection de sécurité complètes pour garantir la sécurité des actifs des utilisateurs.

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

EUL9.84%
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
  • 3
  • Partager
Commentaire
0/400
BagHolderTillRetirevip
· 07-24 17:19
Jouer à des projets hardcore n'est pas aussi bien que d'acheter le dip BTC avec moi.
Voir l'originalRépondre0
RadioShackKnightvip
· 07-22 00:56
Encore un pigeon pris pour un idiot.
Voir l'originalRépondre0
Blockblindvip
· 07-22 00:52
Encore un poison RATS est sorti.
Voir l'originalRépondre0
  • Épingler
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)