OrionProtocol sufrió un ataque de reentrada, se robaron 2.9 millones de dólares.

robot
Generación de resúmenes en curso

La vulnerabilidad del contrato de OrionProtocol causa pérdidas de 2.9 millones de dólares

El 2 de febrero de 2023, los contratos de Orion Protocol en Ethereum y Binance Smart Chain sufrieron un ataque de reentrada, lo que resultó en pérdidas de aproximadamente 2.9 millones de dólares. Las pérdidas específicas incluyen 2,844,766 USDT en la cadena de Ethereum y 191,606 BUSD en la cadena inteligente de Binance.

Análisis del proceso de ataque

El atacante primero desplegó un contrato Token personalizado y realizó las operaciones de transferencia y autorización correspondientes. Luego, el atacante tomó prestados fondos a través del método swap de un DEX y llamó al método swapThroughOrionPool de OrionProtocol para intercambiar tokens. La ruta de intercambio incluía la dirección del contrato Token creado por el atacante.

Al ejecutar el método swapThroughOrionPool, debido a que el contrato del Token del atacante incluye una función de retorno de llamada, se puede llamar repetidamente al método depositAsset durante el proceso de transferencia. Esto provoca que el monto del depósito se calcule varias veces, y finalmente el atacante obtiene ganancias excesivas a través de la operación de retiro.

Análisis de ataques de reentrada de OrionProtocol con PoC

Flujo de capital

Los fondos iniciales del atacante provienen de la billetera caliente de una plataforma de intercambio. De los 1,651 ETH ganados por el ataque, 657.5 ETH aún permanecen en la dirección de la billetera del atacante, mientras que el resto ha sido transferido a través de un servicio de mezcla.

Análisis de ataque de reentrada de OrionProtocol con PoC

Núcleo de la vulnerabilidad

El problema radica en la función doSwapThroughOrionPool. Esta función realiza la operación de transferencia antes de actualizar la variable curBalance al ejecutar _doSwapTokens. Un atacante aprovecha el callback del método transfer del Token personalizado para llamar al método depositAsset, lo que lleva a una actualización incorrecta de curBalance. Esto permite al atacante retirar fondos excesivos a través de la función withdraw después de reembolsar el préstamo relámpago.

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis de ataque por reentrada de OrionProtocol con PoC

Análisis de ataque de reentrada de OrionProtocol con PoC

Sugerencias de seguridad

Para los contratos inteligentes con función de intercambio de tokens, los desarrolladores deben considerar los siguientes puntos:

  1. Considerar las posibles situaciones inesperadas que pueden surgir debido a múltiples Tokens y rutas de intercambio.
  2. Seguir el patrón de codificación "Checks-Effects-Interactions", es decir, primero realizar una verificación de estado, luego actualizar el estado del contrato y finalmente interactuar con contratos externos.
  3. Actualizar las variables de estado clave antes de realizar llamadas externas.
  4. Implementar mecanismos de seguridad como bloqueos de reentrada.
  5. Realizar una auditoría de seguridad completa del contrato.

Al implementar estas medidas, se puede reducir significativamente el riesgo de ataques a los contratos inteligentes, mejorando así la seguridad y estabilidad del proyecto.

TOKEN4.95%
ETH2.6%
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
  • 1
  • Compartir
Comentar
0/400
BoredStakervip
· hace16h
Otra vez un ataque de reentrada
Ver originalesResponder0
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)