La vulnerabilidad de almacenamiento transitorio causó pérdidas de 300,000 dólares en proyectos de comercio de márgen. Los atacantes transfirieron WBTC y WETH.
Un defecto de almacenamiento temporal causa una pérdida de 300,000 dólares en proyectos on-chain
El 30 de marzo de 2025, un proyecto de trading con apalancamiento en Ethereum fue atacado, lo que resultó en pérdidas de activos de más de 300,000 dólares. El equipo de seguridad realizó un análisis exhaustivo del incidente, revelando los detalles técnicos del ataque y sus causas fundamentales.
Contexto del evento
El ataque estaba dirigido a un proyecto de trading apalancado llamado SIR.trading. Los atacantes aprovecharon con éxito una vulnerabilidad en el contrato de dicho proyecto, lo que les permitió transferir ilegalmente una gran cantidad de activos.
Análisis de razones técnicas
El problema central de este ataque se deriva de la característica de almacenamiento transitorio introducida en la versión 0.8.24 de Solidity. El almacenamiento transitorio es una nueva ubicación de almacenamiento de datos, diseñada para proporcionar una forma de almacenamiento temporal de bajo costo y efectiva durante las transacciones. Sin embargo, en este caso, el uso inadecuado del almacenamiento transitorio ha llevado a una grave vulnerabilidad de seguridad.
La causa fundamental del ataque es que los valores almacenados temporalmente utilizando tstore en el contrato no se limpian correctamente al finalizar la llamada a la función. Esto permite a los atacantes construir direcciones maliciosas específicas, eludir las verificaciones de permisos y transferir ilegalmente tokens.
Proceso de ataque
El atacante crea dos tokens maliciosos A y B, y crea un fondo de liquidez para estos dos tokens en un DEX.
El atacante utiliza estos dos tokens para crear un nuevo mercado de negociación apalancada en el proyecto objetivo.
A través de transacciones cuidadosamente diseñadas, el atacante dejó un valor específico en la memoria transitoria.
El atacante crea un contrato malicioso cuya dirección coincide con el valor almacenado previamente.
Utilizando este contrato malicioso, el atacante logró eludir la verificación de permisos en el contrato del proyecto.
Finalmente, el atacante logró transferir otros tokens del contrato del proyecto (como WBTC, WETH) para obtener ganancias.
Análisis del flujo de fondos
Según el análisis de los datos on-chain, el atacante robó aproximadamente 300,000 dólares en activos, incluyendo:
17,814.8626 USDC
1.4085 WBTC
119.871 WETH
Estos activos robados fueron luego convertidos en WETH, sumando aproximadamente 193.1428 WETH, y fueron transferidos a un protocolo de intercambio de privacidad.
Es importante señalar que los fondos iniciales del atacante (0.3 ETH) también provienen del mismo protocolo de privacidad, lo que podría implicar que el atacante intenta ocultar su identidad y la fuente de sus fondos.
Consejos de seguridad
Para prevenir que eventos similares vuelvan a ocurrir, los expertos en seguridad sugieren:
Al usar almacenamiento transitorio, se debe limpiar el valor almacenado inmediatamente después de que finalice la llamada a la función utilizando tstore(key, 0).
Fortalecer la auditoría del código del contrato y las pruebas de seguridad, especialmente ser especialmente cauteloso con las nuevas características introducidas.
Al implementar controles de permisos críticos, evita depender en exceso de mecanismos de almacenamiento que puedan ser manipulados.
Este evento vuelve a enfatizar la importancia de considerar adecuadamente los posibles impactos de seguridad al adoptar nuevas características tecnológicas. Para los proyectos de blockchain, las auditorías de seguridad continuas y la evaluación de riesgos son fundamentales.
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.
10 me gusta
Recompensa
10
3
Compartir
Comentar
0/400
StableGeniusDegen
· hace5h
Otra vez hay problemas.
Ver originalesResponder0
LeekCutter
· hace6h
Otra vez vienen a recoger tontos.
Ver originalesResponder0
CommunityWorker
· hace6h
Otra vez 0 proyectos de auditoría que toman a la gente por tonta
La vulnerabilidad de almacenamiento transitorio causó pérdidas de 300,000 dólares en proyectos de comercio de márgen. Los atacantes transfirieron WBTC y WETH.
Un defecto de almacenamiento temporal causa una pérdida de 300,000 dólares en proyectos on-chain
El 30 de marzo de 2025, un proyecto de trading con apalancamiento en Ethereum fue atacado, lo que resultó en pérdidas de activos de más de 300,000 dólares. El equipo de seguridad realizó un análisis exhaustivo del incidente, revelando los detalles técnicos del ataque y sus causas fundamentales.
Contexto del evento
El ataque estaba dirigido a un proyecto de trading apalancado llamado SIR.trading. Los atacantes aprovecharon con éxito una vulnerabilidad en el contrato de dicho proyecto, lo que les permitió transferir ilegalmente una gran cantidad de activos.
Análisis de razones técnicas
El problema central de este ataque se deriva de la característica de almacenamiento transitorio introducida en la versión 0.8.24 de Solidity. El almacenamiento transitorio es una nueva ubicación de almacenamiento de datos, diseñada para proporcionar una forma de almacenamiento temporal de bajo costo y efectiva durante las transacciones. Sin embargo, en este caso, el uso inadecuado del almacenamiento transitorio ha llevado a una grave vulnerabilidad de seguridad.
La causa fundamental del ataque es que los valores almacenados temporalmente utilizando tstore en el contrato no se limpian correctamente al finalizar la llamada a la función. Esto permite a los atacantes construir direcciones maliciosas específicas, eludir las verificaciones de permisos y transferir ilegalmente tokens.
Proceso de ataque
Análisis del flujo de fondos
Según el análisis de los datos on-chain, el atacante robó aproximadamente 300,000 dólares en activos, incluyendo:
Estos activos robados fueron luego convertidos en WETH, sumando aproximadamente 193.1428 WETH, y fueron transferidos a un protocolo de intercambio de privacidad.
Es importante señalar que los fondos iniciales del atacante (0.3 ETH) también provienen del mismo protocolo de privacidad, lo que podría implicar que el atacante intenta ocultar su identidad y la fuente de sus fondos.
Consejos de seguridad
Para prevenir que eventos similares vuelvan a ocurrir, los expertos en seguridad sugieren:
Este evento vuelve a enfatizar la importancia de considerar adecuadamente los posibles impactos de seguridad al adoptar nuevas características tecnológicas. Para los proyectos de blockchain, las auditorías de seguridad continuas y la evaluación de riesgos son fundamentales.