OrionProtocol sufrió un ataque de reentrada, perdiendo 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 por la tarde, los contratos de Orion Protocol en Ethereum y Binance Smart Chain sufrieron un ataque de reentrada debido a una vulnerabilidad, con pérdidas de aproximadamente 2.9 millones de dólares, que incluyen 2,844,766 USDT en la cadena de Ethereum y 191,606 BUSD en la cadena BSC.

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis del proceso de ataque

El atacante primero creó un contrato de Token especial y llevó a cabo una serie de preparativos. Luego, el atacante utilizó la función de intercambio de un DEX para pedir prestado 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 sentó las bases para un ataque de devolución posterior.

Análisis de ataque de reentrada de OrionProtocol con PoC

Durante el proceso de intercambio, el contrato Token del atacante activa la devolución de llamada a través de la función Transfer, llamando repetidamente a la función depositAsset de OrionProtocol, lo que provoca que el monto del depósito se acumule continuamente. Al final, el atacante completó su ganancia mediante 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 una cuenta de cartera caliente de una plataforma de intercambio. De las 1,651 ETH obtenidas, 657.5 todavía permanecen en la dirección de la billetera del atacante, mientras que el resto ha sido transferido a través de servicios de mezcla.

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis de Vulnerabilidades

El núcleo de la vulnerabilidad radica en la implementación de las funciones doSwapThroughOrionPool y _doSwapTokens. El contrato actualiza la variable curBalance después de la operación de transferencia, lo que crea condiciones para un ataque de reentrada. El atacante, al agregar lógica de devolución de llamada en la función transfer de un Token personalizado, provoca una actualización incorrecta de curBalance, lo que finalmente permite al atacante retirar fondos adicionales después de reembolsar el préstamo relámpago.

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis de ataque de reentrada de OrionProtocol con PoC

Reproducción de ataques

Los investigadores proporcionaron parte del código POC, simulando el proceso de ataque. Los resultados de las pruebas muestran que el atacante logró explotar la vulnerabilidad para obtener USDT adicional.

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

Análisis de ataque de reentrada de OrionProtocol con PoC

Sugerencias de seguridad

  1. Al diseñar el contrato, se deben considerar las posibles situaciones inesperadas que pueden surgir debido a la variedad de tokens y rutas de intercambio.
  2. Seguir la norma de codificación "primero juzgar, luego escribir en variables, y después realizar llamadas externas" (patrón Checks-Effects-Interactions).
  3. Fortalecer las restricciones y verificaciones sobre las llamadas externas, especialmente aquellas relacionadas con operaciones de transferencia de fondos.
  4. Realizar auditorías de seguridad periódicas para detectar y corregir potenciales vulnerabilidades a tiempo.
  5. Implementar medidas de seguridad adicionales como la firma múltiple para prevenir fallos de un solo punto.

Este incidente destaca una vez más los desafíos de seguridad que enfrentan los proyectos DeFi. Los desarrolladores deben mantenerse siempre alerta y mejorar continuamente la seguridad de los contratos para proteger los activos de los usuarios y la reputación del proyecto.

TOKEN-6.76%
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
  • Compartir
Comentar
0/400
SellLowExpertvip
· hace1h
Otra vez reentrada. Esta moneda ya debería haber colapsado.
Ver originalesResponder0
WalletWhisperervip
· 07-31 16:43
Otro proyecto que ha sido afectado.
Ver originalesResponder0
SatoshiHeirvip
· 07-30 13:22
Es necesario señalar que el riesgo de reentrancy de los contratos inteligentes ya se menciona en la primera página del libro de texto de Solidity, parece que otro grupo de proyecto no ha hecho su tarea...
Ver originalesResponder0
SnapshotDayLaborervip
· 07-30 13:22
tomar a la gente por tonta tomar a la gente por tonta~
Ver originalesResponder0
ChainComedianvip
· 07-30 12:59
Otra vez 290w, Ser engañados, ¡agárrense y corran!
Ver originalesResponder0
ChainSauceMastervip
· 07-30 12:58
¡Vaya! Otra vez me han dado cupones de clip.
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)