OrionProtocol sufrió un ataque de reentrada de 2.9 millones de dólares, afectando a las cadenas ETH y BSC.

robot
Generación de resúmenes en curso

Análisis del incidente de ataque de reentrada de OrionProtocol

Resumen del evento

El 2 de febrero de 2023, OrionProtocol sufrió un ataque de reentrada en Ethereum y Binance Smart Chain, lo que resultó en pérdidas de aproximadamente 2.9 millones de dólares. Los atacantes aprovecharon una vulnerabilidad del contrato y robaron 2,844,766 USDT en la cadena de Ethereum y 191,606 BUSD en la cadena inteligente de Binance.

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis del proceso de ataque

  1. El atacante primero desplegó un contrato de Token personalizado para preparar el ataque posterior.

  2. Realiza préstamos a través del método swap de UNI-V2 y llama al método ExchangeWithAtomic.swapThroughOrionPool para el intercambio de tokens. La ruta de intercambio incluye la dirección del contrato Token creada por el atacante.

  3. Al ejecutar el método swapThroughOrionPool, un atacante aprovecha la función de callback en el contrato de Token personalizado para llamar repetidamente al método ExchangeWithAtomic.depositAsset, lo que provoca que el monto del depósito se acumule varias veces.

  4. Por último, el atacante completa la obtención de ganancias a través de la operación de retiro.

Análisis de ataque de reentrada de OrionProtocol con PoC

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, 657.5 ETH aún permanecen en la billetera del atacante, mientras que el resto ha sido transferido a través de un servicio de mezcla.

Análisis de ataques de reentrada de OrionProtocol con PoC

Análisis de vulnerabilidades

El problema principal radica en la función doSwapThroughOrionPool. Esta función, al ejecutar _doSwapTokens, primero realiza la operación de transferencia y luego actualiza la variable curBalance. Un atacante aprovecha el callback añadido en la función transfer de un Token personalizado, llamando nuevamente a la función depositAsset antes de que se actualice curBalance, lo que provoca un error en el cálculo 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 reingreso de OrionProtocol con PoC

Sugerencias de prevención

  1. Al diseñar contratos, se deben considerar los riesgos de seguridad que pueden surgir de la variedad de Tokens y rutas de intercambio.

  2. Sigue el patrón "Checks-Effects-Interactions" al escribir el código del contrato, es decir, primero realiza la verificación de condiciones, luego actualiza las variables de estado y finalmente realiza las llamadas externas.

  3. Añadir mecanismos de seguridad como el bloqueo de reentrada para prevenir ataques de reentrada.

  4. Realizar auditorías de código y escaneos de vulnerabilidades de manera regular, y corregir a tiempo los posibles riesgos de seguridad.

  5. Limitar el monto máximo de una sola transacción, establecer restricciones en la frecuencia de las transacciones y otras medidas para reducir las pérdidas causadas por ataques potenciales.

Al adoptar estas medidas, el equipo del proyecto puede mejorar significativamente la seguridad del contrato y reducir el riesgo de sufrir ataques similares. Mantener una atención constante en la seguridad de los contratos inteligentes es crucial para el desarrollo saludable del ecosistema Web3.

Ver originales
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 3
  • Compartir
Comentar
0/400
FreeRidervip
· 07-12 19:16
Otro nuevo tonto contribuyente
Ver originalesResponder0
WenMoon42vip
· 07-12 19:09
Otro proyecto ha fracasado.
Ver originalesResponder0
LiquidationSurvivorvip
· 07-12 19:08
El contrato ha sido otra vez esquilmado, no tengo palabras.
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)