OrionProtocol sufrió un ataque de reentrada, con pérdidas cercanas a 2.9 millones de dólares.

robot
Generación de resúmenes en curso

Análisis del incidente de ataque de reentrada de OrionProtocol

El 2 de febrero de 2023 a las 3:40 p. m., OrionProtocol en Ethereum y Binance Smart Chain sufrió un ataque de reentrada debido a una vulnerabilidad en el contrato, con una pérdida total de aproximadamente 2.9 millones de dólares, de los cuales se perdieron 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ó las operaciones de transferencia y autorización correspondientes para preparar el ataque posterior. Luego, el atacante tomó un préstamo utilizando el método swap de UNI-V2 y llamó al método swapThroughOrionPool del contrato ExchangeWithAtomic para intercambiar tokens. La ruta de intercambio se configuró como [USDC, Token del atacante, USDT].

Durante el proceso de intercambio, debido a que el contrato del Token del atacante incluye una función de llamada de regreso, se vuelve a invocar el método ExchangeWithAtomic.depositAsset durante el proceso de Token.Transfer, lo que permite un ataque de reentrada. Esto hace que el monto del depósito se acumule, y finalmente el atacante obtiene ganancias a través de la operación de retiro.

Análisis de ataque de reentrada de OrionProtocol con PoC

Flujo de fondos

Los fondos iniciales del atacante provienen de la cuenta de un monedero caliente de una gran plataforma de intercambio. De los 1,651 ETH obtenidos por el ataque, 657.5 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 mezclado.

Análisis de ataque de reingreso de OrionProtocol con PoC

Análisis de vulnerabilidades

El núcleo de la vulnerabilidad radica en la función doSwapThroughOrionPool del contrato ExchangeWithAtomic y en la función _doSwapTokens que se llama. Estas funciones actualizan la variable curBalance solo después de ejecutar la transferencia de tokens, lo que brinda a los atacantes la oportunidad de aprovechar un ataque de reentrada.

Análisis de ataque de reentrada de OrionProtocol con PoC

Los atacantes agregaron lógica de devolución de llamada en la función transfer del Token personalizado, lo que hizo que se volviera a llamar a la función depositAsset durante el proceso de transferencia. Esto provocó una actualización incorrecta de la variable curBalance, lo que permitió a los atacantes 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 reingreso 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 reingreso de OrionProtocol con PoC

Análisis de ataque de reentrada de OrionProtocol con PoC

Sugerencias de seguridad

Para los proyectos con funciones de intercambio de tokens, se deben considerar los siguientes puntos:

  1. Considerar los riesgos de seguridad que pueden surgir de múltiples tokens y rutas de intercambio.
  2. Seguir el patrón de codificación "Checks-Effects-Interactions", es decir, primero realizar la verificación del estado, luego actualizar el estado del contrato y finalmente interactuar con contratos externos.
  3. Utilizar bloqueos de reentrada o mecanismos similares para prevenir ataques de reentrada al realizar operaciones críticas.
  4. Realizar una verificación y manejo estrictos de los valores de retorno de las llamadas externas.
  5. Realizar auditorías de código y pruebas de seguridad de forma regular, y corregir de inmediato las vulnerabilidades encontradas.

Al adoptar estas medidas, el proyecto puede reducir significativamente el riesgo de sufrir ataques similares, mejorando la seguridad y estabilidad del contrato.

TOKEN0.94%
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
  • 4
  • Compartir
Comentar
0/400
CryptoSurvivorvip
· 07-09 04:25
Casi está bien, otra empresa tóxica.
Ver originalesResponder0
GateUser-5854de8bvip
· 07-06 19:22
Ay, me han vuelto a quitar cupones de clip.
Ver originalesResponder0
SurvivorshipBiasvip
· 07-06 19:21
Es otro fallo en el contrato...
Ver originalesResponder0
CoconutWaterBoyvip
· 07-06 19:08
Si no se realiza una auditoría de código, es normal perder dinero.
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)