OrionProtocol sufrió un ataque de reentrada que resultó en una pérdida de 2.9 millones de dólares. Análisis de la vulnerabilidad de seguridad y recomendaciones de prevención.

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, Orion Protocol en Ethereum y Binance Smart Chain sufrió un ataque de reentrada debido a una vulnerabilidad en el contrato, lo que resultó en pérdidas de aproximadamente 2.9 millones de dólares. Los atacantes aprovecharon la vulnerabilidad del contrato, creando contratos de Token especiales para realizar operaciones de devolución de llamada y llevar a cabo el ataque de reentrada.

Análisis del proceso de ataque

El atacante primero creó un contrato de Token especial y realizó las operaciones de transferencia y autorización correspondientes. Luego, el atacante tomó prestado a través del método swap de un DEX y llamó al método swapThroughOrionPool de OrionProtocol para intercambiar tokens. Durante el proceso de intercambio, el atacante utilizó su propio contrato de Token para realizar una llamada de retorno, invocando repetidamente el método depositAsset, lo que provocó que el monto del depósito se acumulase. Finalmente, el atacante completó su ganancia mediante una 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 cuenta de billetera caliente de una plataforma de intercambio. De los 1651 ETH obtenidos, 657.5 aún permanecen en la dirección de la billetera del atacante, mientras que el resto ha sido transferido a través de herramientas de mezcla.

Análisis de ataque de reentrada de OrionProtocol con PoC

Análisis de vulnerabilidades

El problema central radica en la función doSwapThroughOrionPool. Esta función actualiza la variable curBalance después de realizar la transferencia de tokens, pero no toma en cuenta el posible riesgo de ataques de reentrada. Un atacante puede agregar lógica de callback en la función transfer de un Token personalizado, lo que provoca que curBalance se actualice incorrectamente, permitiendo así el ataque.

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

Reproducción de ataque

Los investigadores proporcionaron parte del código POC, simulando el proceso de ataque. Los resultados de las pruebas mostraron que, al explotar las vulnerabilidades en el contrato, se logró realizar un flujo de fondos similar al de un ataque real.

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

Consejos de seguridad

  1. Al desarrollar contratos, se deben considerar los posibles riesgos que pueden surgir de múltiples tokens y rutas de intercambio.
  2. Seguir la norma de codificación "Checks-Effects-Interactions" (Comprobaciones-Efectos-Interacciones), primero realizar la verificación, luego actualizar las variables de estado y finalmente ejecutar las llamadas externas.
  3. Fortalecer las medidas de protección contra ataques de reentrada, como el uso de bloqueos de reentrada y otros métodos.
  4. Realizar una auditoría de seguridad exhaustiva, prestando especial atención a las funciones que podrían ser explotadas para llevar a cabo ataques de reentrada.
  5. Actualizar y optimizar periódicamente el código del contrato, reparando a tiempo las vulnerabilidades encontradas.

Este evento recuerda una vez más a los equipos de proyectos Web3 que deben prestar alta atención a la seguridad de los contratos inteligentes. Los desarrolladores de contratos deben manejar con mayor cuidado la lógica relacionada con la transferencia de fondos y considerar plenamente diversos escenarios de ataque posibles. Al mismo tiempo, realizar auditorías de seguridad regularmente y establecer programas de recompensas por vulnerabilidades también son métodos efectivos para garantizar la seguridad del proyecto.

TOKEN6.2%
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
  • Compartir
Comentar
0/400
MevTearsvip
· 07-23 02:41
¡Estúpido! Otra vez la misma vieja reentrada.
Ver originalesResponder0
MetaMiseryvip
· 07-21 02:18
Otra vez vienen a tomar a la gente por tonta, qué mal
Ver originalesResponder0
RetailTherapistvip
· 07-20 20:40
¿Quién más está atrapado?
Ver originalesResponder0
PositionPhobiavip
· 07-20 03:55
Otra vez los contratos inteligentes fallaron
Ver originalesResponder0
CryptoTherapistvip
· 07-20 03:55
hagamos una respiración consciente antes de desglosar este trauma de reentrada
Ver originalesResponder0
RektCoastervip
· 07-20 03:45
El clásico truco de reentrada recursiva, un tema viejo.
Ver originalesResponder0
SnapshotDayLaborervip
· 07-20 03:33
Otra vez me han dado cupones de clip, ¡qué tragedia!
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)