OrionProtocol sufrió un ataque de reentrada y se robaron 2.9 millones de dólares.

robot
Generación de resúmenes en curso

Análisis del ataque de reentrada de OrionProtocol

El 2 de febrero de 2023 por la tarde, el contrato de OrionProtocol en Ethereum y Binance Smart Chain fue objeto de un ataque de reingreso debido a una vulnerabilidad. El atacante obtuvo ganancias de 2,844,766 USDT en la cadena de Ethereum y 191,606 BUSD en la cadena de Binance Smart, sumando un total de aproximadamente 2.9 millones de dólares.

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis del proceso de ataque

El atacante primero desplegó un contrato de Token personalizado y realizó los preparativos pertinentes. Luego, el atacante utilizó la función de swap de un DEX para realizar un préstamo y llamó al método swapThroughOrionPool de OrionProtocol para intercambiar tokens. La ruta de intercambio incluía la dirección del contrato de Token creado por el atacante, lo que preparó el terreno para el posterior ataque de callback.

Al ejecutar el método swapThroughOrionPool, debido a que el contrato Token del atacante contiene lógica de devolución, se desencadenó un ataque de reentrada durante el proceso de transferencia. El atacante utilizó el método Token.Transfer para llamar repetidamente a la función ExchangeWithAtomic.depositAsset, lo que provocó que la cantidad depositada se acumulase continuamente. Finalmente, el atacante completó 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 del monedero caliente de una plataforma de intercambio. De los 1,651 ETH obtenidos en el ataque, 657.5 aún permanecen en la dirección del monedero 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 principal radica en la función doSwapThroughOrionPool. Esta función presenta un defecto lógico al ejecutar la operación _doSwapTokens. En concreto, el contrato actualiza la variable curBalance solo después de completar la transferencia, lo que brinda una oportunidad a los atacantes. Los atacantes pueden agregar lógica de retroalimentación en la función transfer de un Token personalizado y llamar repetidamente a la función depositAsset, lo que provoca una actualización incorrecta de curBalance. Finalmente, después de reembolsar el préstamo relámpago, el atacante logró extraer fondos en exceso.

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis de ataques de reentrada de OrionProtocol con PoC

Análisis de ataque de reentrada de OrionProtocol con PoC

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

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis de ataque de reentrada de OrionProtocol con PoC

Sugerencias de prevención

Para evitar ataques similares, el equipo del proyecto debe tener en cuenta los siguientes puntos al diseñar el contrato:

  1. Al implementar la función de intercambio de monedas digitales, es necesario considerar de manera integral los posibles riesgos de seguridad que pueden surgir de los diversos tipos de tokens y caminos de intercambio.

  2. Seguir estrictamente las normas de codificación "Checks-Effects-Interactions" (Comprobaciones-Efectos-Interacciones), es decir, primero realizar la verificación del estado, luego actualizar el estado del contrato y, por último, ejecutar las llamadas externas.

  3. Implementar un candado de reingreso en operaciones clave para prevenir la ocurrencia de ataques de reingreso.

  4. Realizar auditorías de código periódicamente para detectar y corregir de manera oportuna posibles vulnerabilidades de seguridad.

  5. Considerar la introducción de un mecanismo de retiro con retraso para ofrecer la oportunidad de intervención humana en transacciones anómalas.

Al tomar estas medidas, se puede mejorar significativamente la seguridad de los contratos inteligentes y reducir el riesgo de ataques. En el ecosistema Web3, la seguridad siempre es el factor más importante a considerar.

TOKEN-8.51%
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
  • 8
  • Compartir
Comentar
0/400
LidoStakeAddictvip
· 07-17 03:22
Otra vez un cerdo, eso es.
Ver originalesResponder0
NervousFingersvip
· 07-14 05:42
Otra vez un proyecto ha sido Cupones de clip...
Ver originalesResponder0
TokenUnlockervip
· 07-14 04:00
¿Otra vulnerabilidad de reentrada no bloqueada?
Ver originalesResponder0
GasSavingMastervip
· 07-14 03:59
La tecnología actual tampoco es gran cosa.
Ver originalesResponder0
PanicSeller69vip
· 07-14 03:58
¡Otra vez explotó, vaya hombre!
Ver originalesResponder0
PortfolioAlertvip
· 07-14 03:37
Otra víctima de un fallo en el contrato...
Ver originalesResponder0
SerumSqueezervip
· 07-14 03:36
¿Cuántas veces más va a haber filtraciones y agujeros?
Ver originalesResponder0
ForkTonguevip
· 07-14 03:33
¿Otra vez un ataque de reentrada? ¿Estos proyectos aún no aprenden la lección?
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)