Euler Finance sufrió un ataque de flash loan de 200 millones de dólares, lo que vuelve a encender la alarma sobre la seguridad en las Finanzas descentralizadas.

robot
Generación de resúmenes en curso

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

El 13 de marzo de 2023, el proyecto Euler Finance sufrió un gran ataque de flash loan debido a una vulnerabilidad en la función donateToReserves de su contrato Etoken. El atacante realizó múltiples operaciones utilizando varios tokens, lo que resultó en una pérdida masiva de aproximadamente 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!

Análisis del proceso de ataque

El atacante primero obtuvo un préstamo flash de 30 millones de DAI de una plataforma de préstamos, y luego desplegó dos contratos clave: uno para las operaciones de préstamo y otro para la liquidación. El proceso de ataque se puede dividir en los siguientes pasos:

  1. Depositar 20 millones de DAI en el contrato del Euler Protocol para obtener aproximadamente 19.5 millones de eDAI.

  2. Utilizando la función de apalancamiento de 10x de Euler Protocol, se prestaron 195.6 millones de eDAI y 200 millones de dDAI.

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

  4. Donar 100 millones de eDAI a través de la función donateToReserves, y luego llamar a la función liquidate para realizar la liquidación, obteniendo 310 millones de dDAI y 250 millones de eDAI.

  5. Finalmente, se retiraron 38.9 millones de DAI, y después de devolver el Flash Loan, se ganó netamente aproximadamente 8.87 millones de DAI.

Análisis de vulnerabilidad de Euler Finance: cómo sufrir un ataque de flash loan, ¡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 sufrir un ataque de flash loan, ¡pérdida de 197 millones de dólares!

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

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

Análisis de vulnerabilidad de Euler Finance: ¿Cómo sufrir un ataque de flash loan y perder 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 vulnerabilidad de Euler Finance: cómo sufrir un ataque de flash loan, ¡pérdida de 197 millones de dólares!

Análisis de la causa de la vulnerabilidad

El problema central de este ataque radica en que la función donateToReserves carece de las verificaciones de liquidez necesarias. A diferencia de la función mint, la función donateToReserves no ejecuta el paso de checkLiquidity, lo que permite a los usuarios eludir el mecanismo normal de verificación de liquidez.

En condiciones normales, la función checkLiquidity llamaría al módulo RiskManager para asegurarse de que la cantidad de Etoken del usuario sea mayor que la cantidad de Dtoken. Sin embargo, debido a que la función donateToReserves omitió este paso, el atacante pudo colocarse primero en un estado susceptible de ser liquidado y luego completar la operación de liquidación.

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

Sugerencias de seguridad

Para vulnerabilidades de este tipo, recomendamos a los proyectos DeFi:

  1. Realizar una auditoría de seguridad completa antes de que el contrato se implemente, para garantizar la seguridad del contrato.

  2. Prestar especial atención a los aspectos clave como el reembolso de fondos, la detección de liquidez y la liquidación de deudas en proyectos de préstamos.

  3. Implementar controles de liquidez estrictos en todas las funciones que puedan afectar el estado de los activos de los usuarios.

  4. Realizar revisiones de código periódicamente y corregir a tiempo las posibles vulnerabilidades de seguridad.

  5. Considerar la introducción de mecanismos de firma múltiple o medidas de seguridad adicionales como los bloqueos de tiempo.

Este evento vuelve a resaltar la importancia de la seguridad de los contratos inteligentes. Los equipos de proyectos deben siempre priorizar la seguridad, protegiendo los activos de los usuarios y el desarrollo saludable del ecosistema del proyecto a través de prácticas de seguridad en constante mejora.

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

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
  • 6
  • Compartir
Comentar
0/400
MevTearsvip
· 07-07 18:24
¿Es agradable ganar dinero sin hacer nada en DeFi?
Ver originalesResponder0
rekt_but_vibingvip
· 07-06 05:25
Otro proyecto Rug Pull.
Ver originalesResponder0
P2ENotWorkingvip
· 07-06 05:23
Otra explosión, no es una sorpresa.
Ver originalesResponder0
token_therapistvip
· 07-06 05:14
Otra fiesta para tomar a la gente por tonta
Ver originalesResponder0
CryptoMomvip
· 07-06 05:10
mundo Cripto tontos又 tomar a la gente por tonta一茬
Ver originalesResponder0
BearMarketLightningvip
· 07-06 05:00
La auditoría del proyecto tampoco sirve de nada.
Ver originalesResponder0
  • Anclado
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)