OrionProtocol fue objeto de un ataque de reentrada de 2.9 millones de dólares. Análisis del robo de fondos y recomendaciones de prevención.

robot
Generación de resúmenes en curso

Análisis del incidente de ataque de reentrada de OrionProtocol

El 2 de febrero de 2023 por la tarde, el contrato de OrionProtocol en Ethereum y Binance Smart Chain sufrió un ataque de reingreso debido a una vulnerabilidad. El atacante logró robar aproximadamente 2.9 millones de dólares en fondos, que incluían 2,844,766 USDT en la cadena de Ethereum y 191,606 BUSD en la cadena de Binance Smart.

Análisis del proceso de ataque

El atacante primero desplegó un contrato de Token personalizado y realizó operaciones de transferencia y autorización de ese Token, preparando así el terreno para el ataque posterior. Luego, el atacante utilizó la función de intercambio de Uniswap V2 para realizar préstamos y llamó al método ExchangeWithAtomic.swapThroughOrionPool de OrionProtocol para intercambiar tokens.

Análisis de ataque de reentrada de OrionProtocol con PoC

La ruta de intercambio se establece como: USDC → Token personalizado del atacante → USDT

Durante el proceso de intercambio, debido a que el contrato Token personalizado del atacante incluye una función de devolución de llamada, se puede volver a invocar el método ExchangeWithAtomic.depositAsset al transferir el Token. Este ataque de reentrada provoca que el monto del depósito se calcule varias veces, lo que permite al atacante retirar fondos que superan el monto realmente depositado.

Análisis de ataque por reentrada de OrionProtocol con PoC

Flujo de fondos

Los fondos iniciales del atacante provienen de una billetera caliente de una gran plataforma de intercambio. De los 1,651 ETH obtenidos en el ataque, 657.5 ETH todavía 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 reingreso de OrionProtocol con PoC

Análisis de vulnerabilidades

El problema central de la vulnerabilidad se presenta en la función doSwapThroughOrionPool. Esta función actualiza la variable curBalance después de ejecutar la transferencia de tokens, lo que crea condiciones para un ataque de reentrada. Un atacante puede agregar lógica de devolución de llamada en la función transfer de un Token personalizado, lo que permite que la función depositAsset se llame repetidamente antes de que se actualice curBalance, lo que resulta en un cálculo incorrecto del saldo.

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 de reentrada de OrionProtocol con PoC

Sugerencias de prevención

Para prevenir ataques similares, el equipo del proyecto debe tener en cuenta los siguientes puntos:

  1. Implementar un control de acceso y gestión de permisos estrictos.
  2. Escribir contratos inteligentes siguiendo el patrón "Comprobaciones- Efectos- Interacciones" (Checks-Effects-Interactions).
  3. Utilizar un candado de reentrada o un mecanismo similar para prevenir ataques de reentrada.
  4. Para las funciones que implican el intercambio de tokens, se deben considerar los posibles riesgos de seguridad que pueden surgir de los diferentes tipos de token y las rutas de intercambio.
  5. Realizar una auditoría de seguridad integral, que incluya análisis estático, pruebas dinámicas y revisión manual.
  6. Monitorear continuamente las actividades del contrato y establecer un mecanismo de respuesta rápida.

Este evento subraya nuevamente que la seguridad debe ser siempre la principal consideración al desarrollar y desplegar contratos inteligentes. Los desarrolladores del proyecto deben seguir mejorando las medidas de seguridad para proteger los activos de los usuarios y mantener la reputación de la plataforma.

TOKEN2.72%
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
  • 7
  • Republicar
  • Compartir
Comentar
0/400
CryptoCrazyGFvip
· hace18h
Otra vez robados monedas, no es de extrañar que sea un Mercado bajista para cumplir con los resultados.
Ver originalesResponder0
FUD_Vaccinatedvip
· 08-14 03:57
Otra vez vienen a tomar a la gente por tonta.
Ver originalesResponder0
GateUser-aa7df71evip
· 08-13 22:35
Otra vez un tonto con una guadaña. Mira mi análisis en la clase pequeña detrás de mí.
Ver originalesResponder0
CoinBasedThinkingvip
· 08-13 22:34
Otra vez el viejo truco de reentrada
Ver originalesResponder0
HalfBuddhaMoneyvip
· 08-13 22:29
Otra clásica caída de contratos inteligentes, el dinero de los tontos no está a salvo.
Ver originalesResponder0
NewPumpamentalsvip
· 08-13 22:26
Otra vez un ataque de reentrada, ¿cuándo terminará esto?
Ver originalesResponder0
ShibaOnTheRunvip
· 08-13 22:23
¡Otra vez atacados! Un poco nervioso.
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)