Euler Finance sufrió un ataque de flash loan de 200 millones de dólares, siendo la vulnerabilidad del contrato la causa principal.

robot
Generación de resúmenes en curso

Euler Finance sufrió un ataque de flash loan, con pérdidas cercanas a 200 millones de dólares.

El 13 de marzo de 2023, el proyecto Euler Finance sufrió un ataque de flash loan debido a una vulnerabilidad en el contrato, lo que resultó en pérdidas de aproximadamente 197 millones de dólares. El atacante aprovechó la falta de verificación de liquidez en la función donateToReserves del Etoken del proyecto, obteniendo enormes beneficios a través de múltiples operaciones con diferentes criptomonedas.

Análisis de vulnerabilidades de Euler Finance: ¿cómo sufrir un ataque de flash loan, con pérdidas de 1.97 millones de dólares!

Análisis del proceso de ataque

  1. El atacante primero pidió prestados 30 millones de DAI a través de un Flash Loans de alguna plataforma de préstamos y desplegó dos contratos: el contrato de préstamo y el contrato de liquidación.

  2. Luego se apostaron 20 millones de DAI en el contrato del Euler Protocol, obteniendo 19.5 millones de eDAI.

  3. Utilizando la función de apalancamiento de 10 veces de Euler Protocol, se prestan 195.6 millones de eDAI y 200 millones de dDAI.

  4. Utilizar los 10 millones de DAI restantes para pagar parte de la deuda y destruir la cantidad correspondiente de dDAI, luego volver a pedir prestada la misma cantidad de eDAI y dDAI.

  5. Donar 100 millones de eDAI a través de la función donateToReserves (10 veces el monto para reembolsos) y ejecutar inmediatamente la operación de liquidación para obtener 310 millones de dDAI y 250 millones de eDAI.

  6. Finalmente, se extrajeron 38.9 millones de DAI, se devolvieron 30 millones de DAI del Flash Loan, y la ganancia neta fue de aproximadamente 8.87 millones de DAI.

Análisis de vulnerabilidades de Euler Finance: ¿Cómo sufrir un ataque de flash loan y perder 197 millones de dólares!

Análisis de vulnerabilidad de Euler Finance: cómo sufrir un ataque de flash loan, ¡pérdida de 1.97 millones de dólares!

Análisis de vulnerabilidad de Euler Finance: cómo sufrir un ataque de flash loan, ¡pérdida de 197 millones de dólares!

Análisis de la vulnerabilidad de Euler Finance: ¿Cómo sufrir un ataque de flash loan y perder 1.97 millones de dólares!

Análisis de vulnerabilidades de Euler Finance: cómo sufrió un ataque de flash loan, ¡con pérdidas de 197 millones de dólares!

Análisis de vulnerabilidades de Euler Finance: cómo sufrir un ataque de flash loan, ¡pérdida de 197 millones de dólares!

Análisis de vulnerabilidades de Euler Finance: cómo sufrió un ataque de flash loan, ¡pérdida de 197 millones de dólares!

Análisis de vulnerabilidades de Euler Finance: cómo sufrió un ataque de flash loan, ¡pérdida de 197 millones de dólares!

Análisis de vulnerabilidades de Euler Finance: cómo sufrir un ataque de flash loan, ¡pérdida de 1.97 millones de dólares!

Causa de la vulnerabilidad

La clave para el éxito del ataque radica en que la función donateToReserves de Euler Finance carece de la verificación necesaria de liquidez. A diferencia de otras funciones como mint, donateToReserves no llama a la función checkLiquidity para verificar el estado de los fondos del usuario. Esto permite al atacante manipular su cuenta para entrar en un estado que puede ser liquidado y luego ejecutar la liquidación para obtener ganancias.

En condiciones normales, la función checkLiquidity llamará al módulo RiskManager para asegurar que la cantidad de Etoken del usuario sea mayor que la cantidad de Dtoken, manteniendo así un estado saludable en la cuenta. Sin embargo, la función donateToReserves omite este paso crucial, brindando una oportunidad para que los atacantes lo aprovechen.

Análisis de vulnerabilidades de Euler Finance: cómo sufrió un ataque de flash loan, ¡pérdida de 197 millones de dólares!

Consejos de seguridad

Este evento destaca la importancia de la auditoría de seguridad de los contratos inteligentes. Para los proyectos de préstamos, es especialmente necesario prestar atención a los siguientes aspectos:

  1. Integridad del mecanismo de reembolso de fondos
  2. Integralidad de la detección de liquidez
  3. La rigurosidad del proceso de liquidación de deudas

El equipo del proyecto debe realizar una auditoría de seguridad completa y profunda antes del despliegue del contrato, para garantizar la seguridad y estabilidad de las diversas funciones. Al mismo tiempo, la supervisión continua de la seguridad y la reparación oportuna de vulnerabilidades también son medidas necesarias para garantizar el funcionamiento seguro a largo plazo del proyecto.

EUL0.79%
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • 7
  • Republicar
  • Compartir
Comentar
0/400
Ser_Liquidatedvip
· 07-14 00:49
Otra vez tenemos que sacrificar un proyecto, gracias.
Ver originalesResponder0
mev_me_maybevip
· 07-14 00:03
Otra vez, otra vez, otra vez fue víctima de dumping.
Ver originalesResponder0
0xSoullessvip
· 07-13 14:42
tontos año tras año tomar a la gente por tonta, después de tomar a la gente por tonta, siguen tomando a la gente por tonta.
Ver originalesResponder0
RugpullSurvivorvip
· 07-11 02:50
¡Otra olla grande! ¿No tienes un poco de remordimiento en tu corazón?
Ver originalesResponder0
GasFeeCriervip
· 07-11 02:46
Esperando a que el equipo detrás del proyecto desaparezca y haga un Rug Pull
Ver originalesResponder0
GasFeeCrybabyvip
· 07-11 02:39
Otra vez robado, tsk tsk
Ver originalesResponder0
GasWastervip
· 07-11 02:35
rip... otra lección cara en la optimización de gas smh
Ver originalesResponder0
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)