Euler Finance sufrió un ataque de flash loan de 197 millones de dólares debido a una vulnerabilidad en la función donateToReserves.

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 importante ataque de flash loan. Según los datos de monitoreo en cadena, el atacante aprovechó una vulnerabilidad en el contrato del proyecto y logró robar aproximadamente 197 millones de dólares, involucrando 6 tipos diferentes de tokens.

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 del proceso de ataque

El atacante primero obtuvo un préstamo de flash de 30 millones de DAI de una plataforma de préstamos, y luego desplegó dos contratos clave: uno para la operación de préstamo y otro para la liquidación.

Los pasos principales del ataque son los siguientes:

  1. Poner 20 millones de DAI en el contrato del Protocolo Euler y obtener 19.5 millones de eDAI.

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

  3. Utiliza los 10 millones de DAI restantes para pagar parte de la deuda y quema el dDAI correspondiente.

  4. Volver a prestar la misma cantidad de eDAI y dDAI.

  5. A través de la función donateToReserves, donar 100 millones de eDAI y luego llamar a la función liquidate para liquidar, obteniendo 310 millones de dDAI y 250 millones de eDAI.

  6. Finalmente, se retiraron 38.9 millones de DAI, se devolvieron 30 millones de Flash Loans, 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, ¡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!

Análisis de vulnerabilidad 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 y perder 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 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, con pérdidas de 197 millones de dólares!

Análisis de la causa de la vulnerabilidad

La vulnerabilidad central de este ataque radica en que la función donateToReserves del contrato de Euler Finance carece de las comprobaciones de liquidez necesarias. A diferencia de otras funciones clave (como la función mint), la función donateToReserves no ejecuta la operación checkLiquidity, lo que permite a los atacantes manipular el estado de su cuenta para que cumpla con las condiciones de liquidación.

En condiciones normales, la función checkLiquidity llamará al módulo RiskManager para asegurar que la cantidad de eToken del usuario siempre sea mayor que la cantidad de dToken. Sin embargo, debido a que la función donateToReserves carece de este paso crítico, un atacante puede eludir el mecanismo de seguridad y obtener beneficios indebidos.

Análisis de vulnerabilidades de Euler Finance: ¿cómo sufrió un ataque de flash loan, perdiendo 197 millones de dólares?

Sugerencias de seguridad

Para este tipo de ataques, los proyectos de blockchain deberían:

  1. Realizar una auditoría de seguridad completa antes del lanzamiento del contrato, asegurando la calidad y la seguridad del código.

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

  3. Asegúrate de que todas las funciones que puedan afectar el estado de los activos del usuario incluyan los pasos de verificación de seguridad necesarios.

  4. Realizar revisiones de código y escaneos de vulnerabilidades de forma regular, y corregir a tiempo los riesgos potenciales.

  5. Considerar la introducción de mecanismos de firma múltiple o bloqueos temporales y otras medidas de seguridad adicionales para reservar tiempo de amortiguación en caso de emergencia.

Este incidente destaca nuevamente la importancia de la seguridad en los contratos inteligentes. Los desarrolladores del proyecto deben siempre priorizar la seguridad, a través de prácticas de seguridad continuas e innovaciones tecnológicas, para construir juntos un ecosistema Web3 más seguro y confiable.

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

Ver originales
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 5
  • Compartir
Comentar
0/400
liquidation_surfervip
· 07-11 22:36
Flash Loans ha vuelto a tener problemas.
Ver originalesResponder0
ZKSherlockvip
· 07-11 21:59
La auditoría de contratos es demasiado laxas.
Ver originalesResponder0
ResearchChadButBrokevip
· 07-10 21:58
Es realmente difícil prevenir las vulnerabilidades en los contratos.
Ver originalesResponder0
UnluckyMinervip
· 07-10 21:51
La revisión del código no es estricta.
Ver originalesResponder0
ForumMiningMastervip
· 07-10 21:49
Otra vulnerabilidad ha sido explotada
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)