OrionProtocol sufrió un ataque de reentrada, con pérdidas de 2.9 millones de dólares en encriptación.

Análisis del incidente de ataque de reentrada de OrionProtocol

El 2 de febrero de 2023 por la tarde, una plataforma DEX sufrió un ataque de reentrada debido a una vulnerabilidad en el contrato en Ethereum y Binance Smart Chain, con una pérdida total de aproximadamente 2.9 millones de dólares en activos criptográficos, que incluía 2,844,766 USDT en Ethereum y 191,606 BUSD en Binance Smart Chain.

Resumen del proceso de ataque

El atacante primero implementó un contrato de token personalizado y realizó las operaciones de transferencia y autorización correspondientes. Luego, el atacante tomó prestados fondos a través de la función de intercambio de algún DEX y llamó al método swapThroughOrionPool de la plataforma objetivo para intercambiar tokens. La ruta de intercambio incluía la dirección del contrato de token creado por el atacante, lo que le permitió ejecutar operaciones de callback durante el proceso de transacción.

Durante el proceso de intercambio, el atacante aprovechó la función de callback en el contrato de token que creó, llamando repetidamente al método depositAsset de la plataforma objetivo, lo que llevó a una acumulación del monto depositado. Finalmente, el atacante completó la obtención de ganancias a través de una operación de retiro.

Análisis de ataques de reentrada de OrionProtocol con PoC

Flujo de fondos

Los fondos iniciales del atacante provienen de la billetera caliente de una gran plataforma de intercambio. De los 1,651 ETH obtenidos 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

Análisis de vulnerabilidades

El problema central de la vulnerabilidad se encuentra en la función doSwapThroughOrionPool. Esta función actualiza la variable curBalance después de realizar la transferencia de tokens, pero no considera el posible riesgo de ataque de reentrada. Un atacante logró realizar una llamada de reentrada a la función depositAsset al agregar lógica de callback en la función transfer del token personalizado, lo que provocó que la variable curBalance se actualizara incorrectamente.

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

Análisis de ataque de reingreso de OrionProtocol con PoC

Análisis de ataque de reingreso de OrionProtocol con PoC

Reproducción de ataques

Los investigadores han logrado reproducir el proceso de ataque y han proporcionado el código POC correspondiente. Los resultados de las pruebas muestran que los atacantes pueden obtener fondos adicionales aprovechando las vulnerabilidades del contrato.

Análisis de ataques 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

Consejos de seguridad

Para los contratos inteligentes con funcionalidad de intercambio de tokens, los desarrolladores deben considerar los siguientes puntos:

  1. Considerar plenamente las posibles eventualidades que pueden surgir de los diferentes tipos de 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. Implementar mecanismos de seguridad como el bloqueo de reentrada para prevenir ataques de reentrada.
  4. Para las llamadas externas, especialmente aquellas que implican la transferencia de fondos, se debe tener especial cuidado y realizar una auditoría de seguridad completa.

Al tomar estas medidas, se puede reducir significativamente el riesgo de que los contratos inteligentes sean atacados, mejorando la seguridad y estabilidad del proyecto. En el ecosistema Web3, garantizar la seguridad de los contratos es crucial para mantener la confianza de los usuarios y la seguridad de los activos.

ETH0.4%
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
NftRegretMachinevip
· 08-09 01:43
Ataque de reentrada nuevamente
Ver originalesResponder0
AirDropMissedvip
· 08-08 20:39
¿El auditor está aturdido?
Ver originalesResponder0
TokenVelocityvip
· 08-07 01:39
Sin palabras, me han estafado.
Ver originalesResponder0
LiquidatedNotStirredvip
· 08-06 03:45
La vulnerabilidad de reentrada es realmente dolorosa.
Ver originalesResponder0
NFT_Therapyvip
· 08-06 03:36
Otra vez la vulnerabilidad del contrato
Ver originalesResponder0
GateUser-40edb63bvip
· 08-06 03:29
Otro hackeado
Ver originalesResponder0
NotGonnaMakeItvip
· 08-06 03:24
Otra vez son tontos.
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)