OrionProtocol sufrió un ataque de reingreso, con pérdidas de 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 15:40:20 UTC, OrionProtocol en Ethereum y Binance Smart Chain sufrió un ataque de reentrada debido a una vulnerabilidad en el contrato. El atacante obtuvo ganancias de 2,844,766 USDT en la cadena de Ethereum y 191,606 BUSD en la cadena de Binance Smart, con una pérdida total de aproximadamente 2.9 millones de dólares.

Análisis del proceso de ataque

El atacante primero desplegó un contrato de Token personalizado y llevó a cabo la preparación necesaria. Luego, el atacante tomó prestados fondos a través de la función de swap de un DEX, llamando al método ExchangeWithAtomic.swapThroughOrionPool de OrionProtocol para realizar el intercambio de tokens. La ruta de intercambio incluye la dirección del contrato Token creado por el atacante.

Durante el proceso de intercambio, un atacante utiliza la función de callback del contrato Token personalizado para llamar repetidamente al método ExchangeWithAtomic.depositAsset, lo que provoca que el monto del depósito siga acumulándose. Finalmente, el atacante completa su ganancia 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 billetera caliente de una 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 reingreso de OrionProtocol con PoC

Análisis de vulnerabilidades

El problema central radica en las funciones doSwapThroughOrionPool y _doSwapTokens del contrato ExchangeWithAtomic. Estas funciones actualizan la variable curBalance después de realizar la transferencia de tokens, violando el patrón "Checks-Effects-Interactions"(Checks-Effects-Interactions). Los atacantes logran una ataque de reentrada al añadir lógica de callback en la función transfer de un Token personalizado, lo que provoca una actualización incorrecta de curBalance.

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

Análisis de ataque de reentrada de OrionProtocol con PoC

Reproducción del ataque

Los investigadores proporcionaron parte del código POC que demuestra cómo aprovechar esta vulnerabilidad para realizar ataques. Los resultados de las pruebas mostraron que los atacantes lograron obtener USDT adicional.

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

  1. Al implementar la función de intercambio de tokens, el equipo del proyecto debe considerar los riesgos de seguridad que pueden surgir de los diferentes tipos de tokens y las posibles rutas de intercambio.

  2. Seguir estrictamente la norma de codificación "verificación-efectividad-interacción" para asegurar que la actualización de las variables de estado se complete antes de la llamada externa.

  3. Implementar mecanismos de seguridad como bloqueos de reentrada para prevenir ataques de reentrada.

  4. Realizar auditorías de código y pruebas de seguridad de manera regular para detectar y corregir vulnerabilidades potenciales a tiempo.

  5. Considerar la introducción de un mecanismo de límite para controlar el monto máximo de una sola transacción y reducir las pérdidas potenciales.

Este incidente nos recuerda una vez más que debemos mantenernos alerta en el desarrollo de contratos inteligentes y dar importancia a la seguridad. Solo al mejorar continuamente las medidas de seguridad podemos proporcionar una fuerte garantía para el desarrollo saludable del ecosistema Web3.

TOKEN3.29%
ETH4.22%
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
LadderToolGuyvip
· hace2h
La seguridad de los contratos es muy importante.
Ver originalesResponder0
GreenCandleCollectorvip
· hace7h
Otra cabeza de tontos ha sido eliminada
Ver originalesResponder0
LowCapGemHuntervip
· hace12h
El equipo detrás del proyecto fue demasiado descuidado.
Ver originalesResponder0
NeverPresentvip
· 08-07 03:18
Otra vulnerabilidad sin palabras
Ver originalesResponder0
ProposalDetectivevip
· 08-07 03:17
Los fallos en los contratos dañan a la gente.
Ver originalesResponder0
GateUser-a606bf0cvip
· 08-07 03:14
¡Qué gran trampa de contrato!
Ver originalesResponder0
GateUser-c802f0e8vip
· 08-07 03:13
Los activos se han ido de nuevo.
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)