Euler Finance a subi une attaque de prêt 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 son contrat intelligent, entraînant des pertes d'environ 197 millions de dollars. Cette attaque a impliqué 6 types de jetons, et l'attaquant a exploité un défaut de fonction dans le contrat du projet pour mener à bien l'attaque.
Analyse du processus d'attaque
L'attaquant a d'abord obtenu un prêt flash de 30 millions DAI d'une plateforme de prêt, puis a déployé deux contrats pour les opérations de prêt et de liquidation. L'attaque se divise principalement en plusieurs étapes :
Déposer 20 millions de DAI dans le contrat Euler Protocol pour obtenir 19,5 millions d'eDAI.
Utiliser la fonction de levier de 10x 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, détruire le dDAI correspondant, et continuer à emprunter plus d'eDAI et de dDAI.
En faisant un don de 100 millions d'eDAI via la fonction donateToReserves, puis en effectuant une opération de liquidation, on obtient 310 millions de dDAI et 250 millions d'eDAI.
Enfin, extraction de 38,9 millions de DAI, remboursement du Prêts Flash avec 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 le manque 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 la validation de la liquidité des utilisateurs.
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. En raison de l'absence de cette étape clé, l'attaquant a pu manipuler l'état de son compte pour le placer dans un état pouvant être liquidé, ce qui lui a permis de réaliser des profits indus.
Conseils de sécurité
Cet événement met à nouveau en évidence l'importance des audits de sécurité des contrats intelligents. Pour les projets de finance décentralisée ( DeFi ), en particulier les plateformes impliquant des fonctionnalités de prêt, il est crucial de prêter une attention particulière aux aspects suivants :
L'intégrité du mécanisme de remboursement des fonds
Exhaustivité de la détection de liquidité
La sécurité du processus de liquidation de la dette
L'équipe du projet doit effectuer un audit de sécurité complet avant le déploiement du contrat, afin de garantir la sécurité et l'interopérabilité des différents modules fonctionnels. De plus, une surveillance de sécurité continue et une correction rapide des vulnérabilités sont également essentielles pour assurer le fonctionnement stable à long terme du projet.
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.
22 J'aime
Récompense
22
7
Partager
Commentaire
0/400
WagmiWarrior
· 07-22 11:52
Se faire prendre pour des cons, les techniques deviennent de plus en plus sophistiquées.
Voir l'originalRépondre0
CountdownToBroke
· 07-22 02:14
Encore un coup dur, faites la queue lentement.
Voir l'originalRépondre0
MEVHunterX
· 07-21 21:20
Encore un problème d'audit ? C'est drôle.
Voir l'originalRépondre0
defi_detective
· 07-20 16:03
Un autre projet a été annulé.
Voir l'originalRépondre0
DegenDreamer
· 07-20 15:55
Encore une faille de sécurité, on ne peut plus jouer dans ce milieu.
Voir l'originalRépondre0
GhostInTheChain
· 07-20 15:53
Triste~~ encore une nouvelle machine à prendre les gens pour des idiots
Euler Finance a subi une attaque par Prêts Flash, entraînant une perte de près de 200 millions de dollars.
Euler Finance a subi une attaque de prêt 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 son contrat intelligent, entraînant des pertes d'environ 197 millions de dollars. Cette attaque a impliqué 6 types de jetons, et l'attaquant a exploité un défaut de fonction dans le contrat du projet pour mener à bien l'attaque.
Analyse du processus d'attaque
L'attaquant a d'abord obtenu un prêt flash de 30 millions DAI d'une plateforme de prêt, puis a déployé deux contrats pour les opérations de prêt et de liquidation. L'attaque se divise principalement en plusieurs étapes :
Déposer 20 millions de DAI dans le contrat Euler Protocol pour obtenir 19,5 millions d'eDAI.
Utiliser la fonction de levier de 10x 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, détruire le dDAI correspondant, et continuer à emprunter plus d'eDAI et de dDAI.
En faisant un don de 100 millions d'eDAI via la fonction donateToReserves, puis en effectuant une opération de liquidation, on obtient 310 millions de dDAI et 250 millions d'eDAI.
Enfin, extraction de 38,9 millions de DAI, remboursement du Prêts Flash avec 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 le manque 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 la validation de la liquidité des utilisateurs.
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. En raison de l'absence de cette étape clé, l'attaquant a pu manipuler l'état de son compte pour le placer dans un état pouvant être liquidé, ce qui lui a permis de réaliser des profits indus.
Conseils de sécurité
Cet événement met à nouveau en évidence l'importance des audits de sécurité des contrats intelligents. Pour les projets de finance décentralisée ( DeFi ), en particulier les plateformes impliquant des fonctionnalités de prêt, il est crucial de prêter une attention particulière aux aspects suivants :
L'équipe du projet doit effectuer un audit de sécurité complet avant le déploiement du contrat, afin de garantir la sécurité et l'interopérabilité des différents modules fonctionnels. De plus, une surveillance de sécurité continue et une correction rapide des vulnérabilités sont également essentielles pour assurer le fonctionnement stable à long terme du projet.