El proyecto 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, lo que resultó en una pérdida masiva de aproximadamente 197 millones de dólares. El atacante aprovechó una vulnerabilidad en el contrato del proyecto y llevó a cabo el ataque a través de múltiples operaciones. Actualmente, los fondos robados aún permanecen en la cuenta del atacante.
Análisis del proceso de ataque
El atacante primero pidió prestados 30 millones de DAI mediante un flash loan de una plataforma de préstamos y desplegó dos contratos: un contrato de préstamo y un contrato de liquidación.
El atacante depositó 20 millones de DAI prestados en el contrato del Protocolo Euler y obtuvo 19.5 millones de eDAI.
Utilizando la función de apalancamiento del Protocolo Euler, el atacante pidió prestados 195.6 millones de eDAI y 200 millones de dDAI.
El atacante utilizó los 10 millones de DAI restantes para pagar parte de la deuda, destruyó 10 millones de dDAI y luego volvió a pedir prestados 195.6 millones de eDAI y 200 millones de dDAI.
Pasos clave: el atacante llama a la función donateToReserves, dona 100 millones de eDAI, y luego liquida a través de la función liquidate, obteniendo 310 millones de dDAI y 250 millones de eDAI.
Por último, el atacante extrajo 38.9 millones de DAI, devolvió 30 millones de DAI del Flash Loans, y finalmente obtuvo una ganancia de 8.87 millones de DAI.
Causa de la vulnerabilidad
La principal razón por la que el ataque tuvo éxito es que existe un defecto en la función donateToReserves del contrato de Euler Finance. A diferencia de otras funciones clave, esta función carece del paso necesario de verificación de liquidez (checkLiquidity). Esta verificación debería haber garantizado que la cantidad de eToken del usuario sea mayor que la cantidad de dToken, para mantener el estado saludable del contrato.
Debido a la falta de esta verificación clave, los atacantes pueden posicionarse en un estado que puede ser liquidado mediante operaciones específicas, y luego aprovechar esto para llevar a cabo el ataque.
Sugerencias de seguridad
Para proyectos de préstamos similares, es importante prestar especial atención a los siguientes puntos clave:
Seguridad del mecanismo de reembolso de fondos
Integridad de la detección de liquidez
La rigurosidad del proceso de liquidación de deudas
Antes de que el contrato se lance, es crucial realizar una auditoría de seguridad completa y profesional. Esto no solo puede descubrir vulnerabilidades potenciales, sino que también asegura la seguridad y estabilidad general del contrato.
Este evento vuelve a enfatizar la importancia de la seguridad de los contratos en el ámbito de las finanzas descentralizadas. Los proyectos deben siempre priorizar la seguridad para proteger los activos de los usuarios y mantener el desarrollo saludable de todo el ecosistema.
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.
10 me gusta
Recompensa
10
7
Compartir
Comentar
0/400
SeasonedInvestor
· hace15h
Otro contrato ha sido vaciado.
Ver originalesResponder0
tx_pending_forever
· 08-05 16:20
Los contratos inteligentes no son tan inteligentes.
Ver originalesResponder0
airdrop_whisperer
· 08-05 16:19
Los contratos inteligentes son difíciles de asegurar.
Ver originalesResponder0
GasFeeCrier
· 08-05 16:19
Otra fiesta de vulnerabilidades
Ver originalesResponder0
screenshot_gains
· 08-05 16:11
Otra billetera con vulnerabilidades
Ver originalesResponder0
OnchainArchaeologist
· 08-05 16:11
El contrato ha tenido problemas nuevamente.
Ver originalesResponder0
probably_nothing_anon
· 08-05 15:59
No hay culpa en obtener gratis, Nakamoto obtiene gratis.
Euler Finance sufrió un ataque de flash loan con pérdidas de casi 200 millones de dólares.
El proyecto 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, lo que resultó en una pérdida masiva de aproximadamente 197 millones de dólares. El atacante aprovechó una vulnerabilidad en el contrato del proyecto y llevó a cabo el ataque a través de múltiples operaciones. Actualmente, los fondos robados aún permanecen en la cuenta del atacante.
Análisis del proceso de ataque
El atacante primero pidió prestados 30 millones de DAI mediante un flash loan de una plataforma de préstamos y desplegó dos contratos: un contrato de préstamo y un contrato de liquidación.
El atacante depositó 20 millones de DAI prestados en el contrato del Protocolo Euler y obtuvo 19.5 millones de eDAI.
Utilizando la función de apalancamiento del Protocolo Euler, el atacante pidió prestados 195.6 millones de eDAI y 200 millones de dDAI.
El atacante utilizó los 10 millones de DAI restantes para pagar parte de la deuda, destruyó 10 millones de dDAI y luego volvió a pedir prestados 195.6 millones de eDAI y 200 millones de dDAI.
Pasos clave: el atacante llama a la función donateToReserves, dona 100 millones de eDAI, y luego liquida a través de la función liquidate, obteniendo 310 millones de dDAI y 250 millones de eDAI.
Por último, el atacante extrajo 38.9 millones de DAI, devolvió 30 millones de DAI del Flash Loans, y finalmente obtuvo una ganancia de 8.87 millones de DAI.
Causa de la vulnerabilidad
La principal razón por la que el ataque tuvo éxito es que existe un defecto en la función donateToReserves del contrato de Euler Finance. A diferencia de otras funciones clave, esta función carece del paso necesario de verificación de liquidez (checkLiquidity). Esta verificación debería haber garantizado que la cantidad de eToken del usuario sea mayor que la cantidad de dToken, para mantener el estado saludable del contrato.
Debido a la falta de esta verificación clave, los atacantes pueden posicionarse en un estado que puede ser liquidado mediante operaciones específicas, y luego aprovechar esto para llevar a cabo el ataque.
Sugerencias de seguridad
Para proyectos de préstamos similares, es importante prestar especial atención a los siguientes puntos clave:
Antes de que el contrato se lance, es crucial realizar una auditoría de seguridad completa y profesional. Esto no solo puede descubrir vulnerabilidades potenciales, sino que también asegura la seguridad y estabilidad general del contrato.
Este evento vuelve a enfatizar la importancia de la seguridad de los contratos en el ámbito de las finanzas descentralizadas. Los proyectos deben siempre priorizar la seguridad para proteger los activos de los usuarios y mantener el desarrollo saludable de todo el ecosistema.