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 una pérdida significativa de aproximadamente 197 millones de dólares. Los atacantes aprovecharon 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 monedas.
Análisis del proceso de ataque
El atacante primero obtiene un préstamo relámpago de 30 millones de DAI de una plataforma de préstamos, y luego despliega dos contratos: uno de préstamo y otro de liquidación. Los pasos principales del ataque son los siguientes:
Poner 20 millones de DAI en el contrato del Protocolo Euler, obteniendo 19.5 millones de eDAI.
Utilizando la función de préstamo apalancado de 10x del Protocolo Euler, se prestaron 195.6 millones de eDAI y 200 millones de dDAI.
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.
Donar 100 millones de eDAI a través de la función donateToReserves, y luego llamar a la función liquidate para liquidar, obteniendo 310 millones de dDAI y 250 millones de eDAI.
Finalmente, se extrajeron 38.9 millones de DAI, y tras devolver el Flash Loan se obtuvo una ganancia de aproximadamente 8.87 millones de DAI.
Causa de la vulnerabilidad
La principal razón por la que el ataque tuvo éxito es que la función donateToReserves en el contrato de Euler Finance carecía de las verificaciones de liquidez necesarias. A diferencia de otras funciones clave como mint, la función donateToReserves no llama a checkLiquidity para la verificación de liquidez del usuario, lo que permite al atacante manipular el estado de su cuenta para cumplir con las condiciones de liquidación y llevar a cabo el ataque.
Sugerencias de seguridad
Para este tipo de ataques, se recomienda a los proyectos DeFi:
Realizar una auditoría de seguridad completa antes de que el contrato se implemente, para asegurar la seguridad del código.
Prestar especial atención a los aspectos clave en los proyectos de préstamos, como el reembolso de fondos, la detección de liquidez y la liquidación de deudas.
Asegúrate de que todas las funciones que puedan afectar el estado de los activos de los usuarios implementen estrictas comprobaciones de seguridad.
Realizar escaneos de vulnerabilidades y evaluaciones de seguridad periódicamente, y reparar los riesgos potenciales a tiempo.
Establecer un mecanismo de respuesta de emergencia para poder reaccionar y manejar rápidamente en caso de un evento de seguridad.
Este incidente destaca nuevamente la importancia de la seguridad de los contratos inteligentes, recordando a los desarrolladores y usuarios de proyectos Web3 que deben mantenerse alerta y trabajar juntos para mantener la seguridad y estabilidad del ecosistema blockchain.
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.
16 me gusta
Recompensa
16
9
Compartir
Comentar
0/400
ChainMaskedRider
· 07-14 06:12
Esto es un aniquilamiento.
Ver originalesResponder0
ChainSpy
· 07-13 13:03
Otro tonto que cayó en los Flash Loans
Ver originalesResponder0
DeFiGrayling
· 07-12 18:27
Otra vulnerabilidad Arruinado
Ver originalesResponder0
SignatureVerifier
· 07-12 17:03
claramente insuficiente validación de entrada... *suspiro* otro día, otro exploit
Ver originalesResponder0
ForumLurker
· 07-12 17:02
Ya dije que no tocaras Finanzas descentralizadas.
Ver originalesResponder0
GasFeeCrier
· 07-12 16:59
Otra pérdida que me dejó sin pantalones.
Ver originalesResponder0
SundayDegen
· 07-12 16:59
Otro que ha muerto repentinamente
Ver originalesResponder0
mev_me_maybe
· 07-12 16:52
¿Otra vulnerabilidad en el contrato? Ya es un viejo truco.
Ver originalesResponder0
GasWaster
· 07-12 16:49
bruh otro día, otro exploit... gas desperdiciado en auditorías fallidas smh
Euler Finance sufrió un ataque de flash loan de 200 millones de dólares, siendo la vulnerabilidad del contrato la causa principal.
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 una pérdida significativa de aproximadamente 197 millones de dólares. Los atacantes aprovecharon 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 monedas.
Análisis del proceso de ataque
El atacante primero obtiene un préstamo relámpago de 30 millones de DAI de una plataforma de préstamos, y luego despliega dos contratos: uno de préstamo y otro de liquidación. Los pasos principales del ataque son los siguientes:
Poner 20 millones de DAI en el contrato del Protocolo Euler, obteniendo 19.5 millones de eDAI.
Utilizando la función de préstamo apalancado de 10x del Protocolo Euler, se prestaron 195.6 millones de eDAI y 200 millones de dDAI.
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.
Donar 100 millones de eDAI a través de la función donateToReserves, y luego llamar a la función liquidate para liquidar, obteniendo 310 millones de dDAI y 250 millones de eDAI.
Finalmente, se extrajeron 38.9 millones de DAI, y tras devolver el Flash Loan se obtuvo una ganancia de aproximadamente 8.87 millones de DAI.
Causa de la vulnerabilidad
La principal razón por la que el ataque tuvo éxito es que la función donateToReserves en el contrato de Euler Finance carecía de las verificaciones de liquidez necesarias. A diferencia de otras funciones clave como mint, la función donateToReserves no llama a checkLiquidity para la verificación de liquidez del usuario, lo que permite al atacante manipular el estado de su cuenta para cumplir con las condiciones de liquidación y llevar a cabo el ataque.
Sugerencias de seguridad
Para este tipo de ataques, se recomienda a los proyectos DeFi:
Realizar una auditoría de seguridad completa antes de que el contrato se implemente, para asegurar la seguridad del código.
Prestar especial atención a los aspectos clave en los proyectos de préstamos, como el reembolso de fondos, la detección de liquidez y la liquidación de deudas.
Asegúrate de que todas las funciones que puedan afectar el estado de los activos de los usuarios implementen estrictas comprobaciones de seguridad.
Realizar escaneos de vulnerabilidades y evaluaciones de seguridad periódicamente, y reparar los riesgos potenciales a tiempo.
Establecer un mecanismo de respuesta de emergencia para poder reaccionar y manejar rápidamente en caso de un evento de seguridad.
Este incidente destaca nuevamente la importancia de la seguridad de los contratos inteligentes, recordando a los desarrolladores y usuarios de proyectos Web3 que deben mantenerse alerta y trabajar juntos para mantener la seguridad y estabilidad del ecosistema blockchain.