El proyecto de comercio de márgen de Ethereum fue atacado, y una vulnerabilidad de almacenamiento transitorio causó pérdidas de activos de 300,000 dólares.

Un evento de pérdida de activos en cadena provocado por el almacenamiento transitorio

A finales de marzo de 2025, un proyecto de trading apalancado en la cadena de Ethereum fue atacado, lo que resultó en una pérdida de activos de más de 300,000 dólares. El equipo de seguridad llevó a cabo un análisis profundo de este incidente, revelando los principios y el proceso del ataque.

Residuos mortales: un robo en cadena de 300,000 dólares provocado por almacenamiento transitorio

Contexto del evento

El evento ocurrió el 30 de marzo de 2025, y el proyecto afectado es una plataforma de trading con apalancamiento que opera en Ethereum. Los atacantes aprovecharon una vulnerabilidad en las características de almacenamiento transitorio introducidas en la versión 0.8.24 de Solidity, logrando eludir la verificación de permisos del contrato y transfiriendo ilegalmente una gran cantidad de activos.

Residuos mortales: un robo en cadena de 300,000 dólares provocado por almacenamiento transitorio

Introducción al almacenamiento transitorio

El almacenamiento transitorio es una nueva característica que Solidity lanzará en enero de 2024, diseñada para proporcionar una forma de almacenamiento de datos temporal y de bajo costo. Tiene las siguientes características:

  1. Bajo consumo de gas: las operaciones de lectura y escritura requieren solo 100 gas, mucho menos que las operaciones de almacenamiento convencionales.
  2. Persistente en la transacción: los datos permanecen válidos durante toda la ejecución de la transacción.
  3. Eliminación automática: Después de que la transacción haya finalizado, los datos almacenados se restablecerán automáticamente a cero.

Residuos mortales: un robo en cadena de 300,000 dólares provocado por almacenamiento transitorio

Principio del ataque

El núcleo del ataque radica en aprovechar la característica de que el almacenamiento transitorio no se limpia a tiempo después de que finaliza la llamada a la función. El atacante, a través de una secuencia de operaciones cuidadosamente construida, logra reemplazar los datos que originalmente se usaban para verificar la identidad, eludiendo así las comprobaciones de seguridad del contrato.

Residuos mortales: un robo de 300,000 dólares en cadena provocado por almacenamiento transitorio

Pasos del ataque

  1. Crear tokens maliciosos y establecer un fondo de comercio

Residuos mortales: un robo de 300,000 dólares en cadena provocado por almacenamiento transitorio

  1. Inicializar el mercado de comercio con apalancamiento

Residuos mortales: un robo de 300,000 dólares en cadena causado por almacenamiento transitorio

  1. Emitir tokens de apalancamiento, mientras se realiza el primer almacenamiento transitorio.

Residuos mortales: un robo en cadena de 300,000 dólares provocado por almacenamiento transitorio

  1. Crear contratos maliciosos en direcciones específicas

Residuos mortales: un robo en cadena de 300,000 dólares provocado por almacenamiento transitorio

  1. Utilizar el almacenamiento transitorio residual para eludir la autenticación

Residuos mortales: un robo en cadena de 300,000 dólares provocado por el almacenamiento transitorio

  1. Transferencia ilegal de activos objetivo

Residuos mortales: un robo de 300,000 dólares en cadena provocado por almacenamiento transitorio

Flujo de activos

Según el análisis de datos on-chain, el atacante robó un total de aproximadamente 300,000 dólares en activos, incluyendo USDC, WBTC y WETH. Estos activos fueron luego intercambiados y transferidos a un servicio de mezcla, tratando de encubrir el flujo de fondos.

Residuos mortales: un robo en cadena de 300,000 dólares provocado por el almacenamiento transitorio

Consejos de seguridad

Para prevenir que ocurran eventos similares nuevamente, los desarrolladores deben tener en cuenta los siguientes puntos:

  1. Después de usar el almacenamiento transitorio, elimine a tiempo los valores almacenados.

Residuos mortales: un atraco de 300,000 dólares en cadena provocado por almacenamiento transitorio

  1. Fortalecer la auditoría del código del contrato y las pruebas de seguridad

Residuos mortales: un robo en cadena de 300,000 dólares provocado por almacenamiento transitorio

  1. Utiliza con precaución las nuevas características del lenguaje introducidas, y comprende completamente sus riesgos potenciales.

Residuos mortales: un robo en cadena de 300,000 dólares provocado por almacenamiento transitorio

Este evento destaca los posibles riesgos de seguridad que pueden surgir de las características de nuevas tecnologías, recordando a los desarrolladores de proyectos de blockchain que deben ser especialmente cautelosos al adoptar nuevas funciones, al mismo tiempo que enfatiza la importancia de auditorías de seguridad continuas y evaluaciones de riesgo.

Residuos mortales: un robo en cadena de 300,000 dólares provocado por almacenamiento transitorio

Residuos mortales: un robo on-chain de 300,000 dólares provocado por almacenamiento transitorio

Residuos mortales: un robo en cadena de 300,000 dólares provocado por almacenamiento transitorio

ETH-2.94%
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
  • 3
  • Compartir
Comentar
0/400
StakeHouseDirectorvip
· 07-11 17:55
No perder dinero al entrar, seguridad
Ver originalesResponder0
CryptoHistoryClassvip
· 07-09 11:37
La historia se repite una vez más.
Ver originalesResponder0
AirdropChaservip
· 07-09 11:23
La vulnerabilidad es la billetera
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)