Euler Finance sufrió un ataque de flash loan de 197 millones de dólares, lo que vuelve a encender la alarma sobre la seguridad en las Finanzas descentralizadas.
Euler Finance sufrió un ataque de flash loan, con una pérdida cercana a 200 millones de dólares
El 13 de marzo de 2023, el proyecto Euler Finance sufrió un importante ataque de flash loan, lo que resultó en pérdidas de aproximadamente 197 millones de dólares. Este ataque involucró 6 tipos diferentes de tokens y es uno de los mayores incidentes de seguridad en el ámbito DeFi en tiempos recientes.
Análisis del proceso de ataque
El atacante primero obtuvo un préstamo de 30 millones de DAI de un plataforma de préstamos, y luego desplegó dos contratos clave: uno para las operaciones de préstamo y el otro para la liquidación.
Los pasos principales del ataque son los siguientes:
Poner 20 millones de DAI en garantía en el Protocolo Euler, obteniendo 19.5 millones de eDAI.
Utilizando la función de apalancamiento de 10x del Protocolo Euler, se prestan 195.6 millones de eDAI y 200 millones de dDAI.
Usar los 10 millones de DAI restantes para pagar parte de la deuda y destruir el dDAI correspondiente.
Volver a prestar la misma cantidad de eDAI y dDAI.
Donar 100 millones de eDAI a través de la función donateToReserves, luego activar la liquidación, obteniendo 310 millones de dDAI y 250 millones de eDAI.
Finalmente se extrajeron 38.9 millones de DAI, se devolvieron 30 millones de DAI del capital del préstamo relámpago, y la ganancia neta fue de aproximadamente 8.87 millones de DAI.
Causa de la vulnerabilidad
El problema central de este ataque radica en que la función donateToReserves de Euler Finance carece de las verificaciones de liquidez necesarias. A diferencia de otras funciones clave (como mint), donateToReserves no llama a la función checkLiquidity para validar el estado de los activos del usuario.
Normalmente, checkLiquidity llamará al módulo RiskManager para garantizar que la cantidad de eToken del usuario siempre sea mayor que la cantidad de dToken. Sin embargo, debido a que la función donateToReserves omite este paso, un atacante puede manipular su propia cuenta para entrar en un estado que puede ser liquidado, llevando a cabo el ataque.
Sugerencias de seguridad
Para proyectos DeFi, especialmente aquellos que involucran funciones de préstamo, es necesario prestar especial atención a los siguientes puntos:
Asegúrate de que todas las funciones clave incluyan las comprobaciones de seguridad necesarias, especialmente la verificación de la liquidez.
Realizar una auditoría de seguridad integral antes del lanzamiento del contrato, centrándose en los aspectos clave como el reembolso de fondos, la detección de liquidez y la liquidación de deudas.
Realizar revisiones de código y escaneos de vulnerabilidades de forma periódica para detectar y corregir riesgos potenciales a tiempo.
Establecer un mecanismo de gestión de riesgos sólido y completo, estableciendo límites de préstamo y umbrales de liquidación razonables.
Considere la posibilidad de introducir medidas de seguridad adicionales, como múltiples firmas o bloqueos temporales, para evitar la pérdida rápida de grandes cantidades de fondos.
Este incidente destaca nuevamente la importancia de la seguridad en DeFi. Los equipos de proyectos deben continuar fortaleciendo la conciencia de seguridad y adoptar medidas de protección en múltiples niveles para asegurar la seguridad de los activos de los usuarios. Al mismo tiempo, los usuarios también deben mantenerse alerta al participar en proyectos DeFi y comprender los riesgos potenciales.
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.
9 me gusta
Recompensa
9
6
Republicar
Compartir
Comentar
0/400
DAOdreamer
· 07-26 01:35
La seguridad primero, la auditoría es realmente importante.
Ver originalesResponder0
StakeHouseDirector
· 07-25 22:05
Otro proyecto ha sido robado, se ha escapado.
Ver originalesResponder0
GasWaster
· 07-23 02:23
El malicioso Hacker ha vuelto a aparecer.
Ver originalesResponder0
MemecoinResearcher
· 07-23 02:19
analizando el sentimiento... y se fue
Ver originalesResponder0
ForkThisDAO
· 07-23 02:14
Otro que se ha lanzado sin pasar la inspección de seguridad.
Euler Finance sufrió un ataque de flash loan de 197 millones de dólares, lo que vuelve a encender la alarma sobre la seguridad en las Finanzas descentralizadas.
Euler Finance sufrió un ataque de flash loan, con una pérdida cercana a 200 millones de dólares
El 13 de marzo de 2023, el proyecto Euler Finance sufrió un importante ataque de flash loan, lo que resultó en pérdidas de aproximadamente 197 millones de dólares. Este ataque involucró 6 tipos diferentes de tokens y es uno de los mayores incidentes de seguridad en el ámbito DeFi en tiempos recientes.
Análisis del proceso de ataque
El atacante primero obtuvo un préstamo de 30 millones de DAI de un plataforma de préstamos, y luego desplegó dos contratos clave: uno para las operaciones de préstamo y el otro para la liquidación.
Los pasos principales del ataque son los siguientes:
Poner 20 millones de DAI en garantía en el Protocolo Euler, obteniendo 19.5 millones de eDAI.
Utilizando la función de apalancamiento de 10x del Protocolo Euler, se prestan 195.6 millones de eDAI y 200 millones de dDAI.
Usar los 10 millones de DAI restantes para pagar parte de la deuda y destruir el dDAI correspondiente.
Volver a prestar la misma cantidad de eDAI y dDAI.
Donar 100 millones de eDAI a través de la función donateToReserves, luego activar la liquidación, obteniendo 310 millones de dDAI y 250 millones de eDAI.
Finalmente se extrajeron 38.9 millones de DAI, se devolvieron 30 millones de DAI del capital del préstamo relámpago, y la ganancia neta fue de aproximadamente 8.87 millones de DAI.
Causa de la vulnerabilidad
El problema central de este ataque radica en que la función donateToReserves de Euler Finance carece de las verificaciones de liquidez necesarias. A diferencia de otras funciones clave (como mint), donateToReserves no llama a la función checkLiquidity para validar el estado de los activos del usuario.
Normalmente, checkLiquidity llamará al módulo RiskManager para garantizar que la cantidad de eToken del usuario siempre sea mayor que la cantidad de dToken. Sin embargo, debido a que la función donateToReserves omite este paso, un atacante puede manipular su propia cuenta para entrar en un estado que puede ser liquidado, llevando a cabo el ataque.
Sugerencias de seguridad
Para proyectos DeFi, especialmente aquellos que involucran funciones de préstamo, es necesario prestar especial atención a los siguientes puntos:
Asegúrate de que todas las funciones clave incluyan las comprobaciones de seguridad necesarias, especialmente la verificación de la liquidez.
Realizar una auditoría de seguridad integral antes del lanzamiento del contrato, centrándose en los aspectos clave como el reembolso de fondos, la detección de liquidez y la liquidación de deudas.
Realizar revisiones de código y escaneos de vulnerabilidades de forma periódica para detectar y corregir riesgos potenciales a tiempo.
Establecer un mecanismo de gestión de riesgos sólido y completo, estableciendo límites de préstamo y umbrales de liquidación razonables.
Considere la posibilidad de introducir medidas de seguridad adicionales, como múltiples firmas o bloqueos temporales, para evitar la pérdida rápida de grandes cantidades de fondos.
Este incidente destaca nuevamente la importancia de la seguridad en DeFi. Los equipos de proyectos deben continuar fortaleciendo la conciencia de seguridad y adoptar medidas de protección en múltiples niveles para asegurar la seguridad de los activos de los usuarios. Al mismo tiempo, los usuarios también deben mantenerse alerta al participar en proyectos DeFi y comprender los riesgos potenciales.