Euler Finance a subi une attaque par Prêts Flash, entraînant une perte 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 significative d'environ 197 millions de dollars. L'attaquant a exploité la vulnérabilité de la fonction donateToReserves d'Etoken dans le projet, qui manquait de vérification de liquidité, pour obtenir d'énormes profits en effectuant plusieurs opérations avec différentes devises.
Analyse du processus d'attaque
L'attaquant a d'abord obtenu un prêt flash de 30 millions de DAI d'une plateforme de prêt, puis a déployé deux contrats pour le prêt et la liquidation. Les principales étapes de l'attaque sont les suivantes :
Pledger 20 millions DAI dans le contrat du protocole Euler, obtenez 19,5 millions d'eDAI.
Utiliser la fonction d'emprunt à effet de levier de 10 fois du protocole Euler pour emprunter 195,6 millions d'eDAI et 200 millions de dDAI.
Utiliser les 10 millions de DAI restants pour rembourser une partie de la dette et détruire le dDAI correspondant, puis emprunter à nouveau une quantité équivalente d'eDAI et de dDAI.
Faire un don de 100 millions d'eDAI via la fonction donateToReserves, puis appeler la fonction liquidate pour liquider et obtenir 310 millions de dDAI et 250 millions d'eDAI.
Enfin, retirer 38,9 millions de DAI, rembourser le Prêts Flash et réaliser un bénéfice d'environ 8,87 millions de DAI.
Causes de la vulnérabilité
La principale raison du succès de l'attaque est l'absence de vérification de liquidité nécessaire dans la fonction donateToReserves du contrat Euler Finance. Contrairement à d'autres fonctions clés comme mint, la fonction donateToReserves n'appelle pas checkLiquidity pour valider la liquidité de l'utilisateur, permettant ainsi à l'attaquant de manipuler l'état de son compte pour répondre aux conditions de liquidation, ce qui a permis de réaliser l'attaque.
Conseils de sécurité
Pour ce type d'attaque, il est conseillé aux projets DeFi :
Effectuer un audit de sécurité complet avant le lancement du contrat pour garantir la sécurité du code.
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.
Assurez-vous que toutes les fonctions susceptibles d'affecter l'état des actifs des utilisateurs mettent en œuvre des contrôles de sécurité stricts.
Effectuer régulièrement des analyses de vulnérabilité et des évaluations de sécurité, et corriger rapidement les risques potentiels.
Établir un mécanisme de réponse d'urgence pour réagir et traiter rapidement en cas d'incident de sécurité.
Cet incident souligne encore une fois l'importance de la sécurité des contrats intelligents, rappelant aux développeurs et aux utilisateurs de projets Web3 de rester vigilants en tout temps pour maintenir ensemble la sécurité et la stabilité de l'écosystème blockchain.
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.
16 J'aime
Récompense
16
9
Partager
Commentaire
0/400
ChainMaskedRider
· 07-14 06:12
C'est une annihilation.
Voir l'originalRépondre0
ChainSpy
· 07-13 13:03
Encore un pigeon qui a profité des Prêts Flash.
Voir l'originalRépondre0
DeFiGrayling
· 07-12 18:27
Encore un bug Rekt
Voir l'originalRépondre0
SignatureVerifier
· 07-12 17:03
validation d'entrée clairement insuffisante... *soupir* un autre jour, un autre exploit
Voir l'originalRépondre0
ForumLurker
· 07-12 17:02
J'ai dit de ne pas toucher à la Finance décentralisée.
Voir l'originalRépondre0
GasFeeCrier
· 07-12 16:59
Encore un qui a perdu jusqu'à ses pantalons.
Voir l'originalRépondre0
SundayDegen
· 07-12 16:59
Encore un mort subit
Voir l'originalRépondre0
mev_me_maybe
· 07-12 16:52
Encore une faille de contrat ? C'est la même vieille méthode.
Voir l'originalRépondre0
GasWaster
· 07-12 16:49
bruh un autre jour un autre exploit... gas gaspillé sur des audits échoués smh
Euler Finance subit une attaque de 200 millions de dollars par des Prêts Flash, les vulnérabilités du contrat étant la principale cause.
Euler Finance a subi une attaque par Prêts Flash, entraînant une perte 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 significative d'environ 197 millions de dollars. L'attaquant a exploité la vulnérabilité de la fonction donateToReserves d'Etoken dans le projet, qui manquait de vérification de liquidité, pour obtenir d'énormes profits en effectuant plusieurs opérations avec différentes devises.
Analyse du processus d'attaque
L'attaquant a d'abord obtenu un prêt flash de 30 millions de DAI d'une plateforme de prêt, puis a déployé deux contrats pour le prêt et la liquidation. Les principales étapes de l'attaque sont les suivantes :
Pledger 20 millions DAI dans le contrat du protocole Euler, obtenez 19,5 millions d'eDAI.
Utiliser la fonction d'emprunt à effet de levier de 10 fois du protocole Euler pour emprunter 195,6 millions d'eDAI et 200 millions de dDAI.
Utiliser les 10 millions de DAI restants pour rembourser une partie de la dette et détruire le dDAI correspondant, puis emprunter à nouveau une quantité équivalente d'eDAI et de dDAI.
Faire un don de 100 millions d'eDAI via la fonction donateToReserves, puis appeler la fonction liquidate pour liquider et obtenir 310 millions de dDAI et 250 millions d'eDAI.
Enfin, retirer 38,9 millions de DAI, rembourser le Prêts Flash et réaliser un bénéfice d'environ 8,87 millions de DAI.
Causes de la vulnérabilité
La principale raison du succès de l'attaque est l'absence de vérification de liquidité nécessaire dans la fonction donateToReserves du contrat Euler Finance. Contrairement à d'autres fonctions clés comme mint, la fonction donateToReserves n'appelle pas checkLiquidity pour valider la liquidité de l'utilisateur, permettant ainsi à l'attaquant de manipuler l'état de son compte pour répondre aux conditions de liquidation, ce qui a permis de réaliser l'attaque.
Conseils de sécurité
Pour ce type d'attaque, il est conseillé aux projets DeFi :
Effectuer un audit de sécurité complet avant le lancement du contrat pour garantir la sécurité du code.
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.
Assurez-vous que toutes les fonctions susceptibles d'affecter l'état des actifs des utilisateurs mettent en œuvre des contrôles de sécurité stricts.
Effectuer régulièrement des analyses de vulnérabilité et des évaluations de sécurité, et corriger rapidement les risques potentiels.
Établir un mécanisme de réponse d'urgence pour réagir et traiter rapidement en cas d'incident de sécurité.
Cet incident souligne encore une fois l'importance de la sécurité des contrats intelligents, rappelant aux développeurs et aux utilisateurs de projets Web3 de rester vigilants en tout temps pour maintenir ensemble la sécurité et la stabilité de l'écosystème blockchain.