OrionProtocol sufrió un ataque de reentrada, perdiendo 2.9 millones de dólares en encriptación.

Análisis del incidente de ataque por reentrada de OrionProtocol

El 2 de febrero de 2023, Orion Protocol en Ethereum y Binance Smart Chain sufrió un ataque de reingreso debido a una vulnerabilidad en el contrato, con una pérdida total de aproximadamente 2,9 millones de dólares en activos criptográficos, que incluye 2,844,766 USDT en Ethereum y 191,606 BUSD en Binance Smart Chain.

Análisis del proceso de ataque

El atacante primero implementó un contrato de Token personalizado y realizó las transferencias y autorizaciones necesarias para preparar el ataque posterior. Luego, el atacante tomó prestados fondos a través de la función de intercambio de un DEX y llamó al método ExchangeWithAtomic.swapThroughOrionPool de OrionProtocol para realizar el intercambio de tokens. La ruta de intercambio se estableció como [USDC, Token del atacante, USDT].

Durante el proceso de intercambio, el contrato de Token del atacante utilizó su función transfer para hacer una llamada de retorno al método ExchangeWithAtomic.depositAsset, lo que permitió un ataque de reentrada. Esto provocó que el monto del depósito se calculara varias veces, y el atacante luego obtuvo ganancias excesivas a través de operaciones de retiro.

Análisis de ataque de reingreso 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 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 reentrada de OrionProtocol con PoC

Análisis de vulnerabilidades

La vulnerabilidad central existe en las funciones doSwapThroughOrionPool y _doSwapTokens. El problema clave radica en que el contrato actualiza la variable curBalance solo después de realizar la operación de transferencia, lo que crea condiciones para un ataque de reentrada. Un atacante puede agregar lógica de devolución en la función transfer de un Token personalizado, lo que provoca que la función depositAsset se llame repetidamente, lo que resulta en 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 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 reingreso de OrionProtocol con PoC

Sugerencias de prevención

  1. Seguir el patrón "Comprobaciones-Efectos-Interacciones" (Checks-Effects-Interactions) para asegurar que la actualización de las variables de estado ocurra antes de las llamadas externas.

  2. Implementar un bloqueo de reentrada para evitar que la función sea llamada nuevamente durante su ejecución.

  3. Considerar exhaustivamente los posibles riesgos de seguridad que pueden surgir de los diversos tipos de Token y rutas de intercambio.

  4. Fortalecer las restricciones y el monitoreo de las llamadas externas, especialmente las operaciones que involucran transferencias de fondos.

  5. Realizar auditorías de seguridad periódicas para detectar y corregir a tiempo posibles vulnerabilidades.

Este evento enfatiza nuevamente la importancia de adherirse estrictamente a las normas de codificación de seguridad al desarrollar contratos inteligentes. Las partes del proyecto deben prestar atención continua a la seguridad del contrato y tomar múltiples medidas de protección para minimizar el riesgo de sufrir ataques.

TOKEN-4.82%
ETH0.63%
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
  • 6
  • Republicar
  • Compartir
Comentar
0/400
New_Ser_Ngmivip
· 07-13 12:19
Otra vez un hacker cupones de clip.
Ver originalesResponder0
DegenMcsleeplessvip
· 07-13 03:32
¡Otro proyecto se ha roto~
Ver originalesResponder0
SatoshiSherpavip
· 07-12 13:26
Otra vez con contratos inteligentes, tsk tsk
Ver originalesResponder0
VCsSuckMyLiquidityvip
· 07-10 17:44
Otro que cae, no es sorprendente
Ver originalesResponder0
GasFeeDodgervip
· 07-10 17:37
Otro proyecto se fue, se escapó.
Ver originalesResponder0
FOMOSapienvip
· 07-10 17:16
Otra caña de pescar de mineral de hierro
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)