El protocolo Truebit sufre una pérdida de 26,4 millones de dólares en un ataque de contrato inteligente

iconPANews
Compartir
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconResumen

expand icon
El protocolo Truebit perdió 26,4 millones de dólares tras un ataque que aprovechó vulnerabilidades en un contrato inteligente no de código abierto de hace cinco años. Los atacantes acuñaron tokens TRU y drenaron 8.535,36 ETH. Beosin rastreó los fondos hasta tres direcciones de Ethereum de alto riesgo. El ataque consistió en llamar repetidamente a una función defectuosa con un valor mínimo de msg.value. Se ha publicado un informe detallado sobre el robo de seguridad del contrato y el flujo de fondos.

Autor: Beosin

La madrugada del 9 de enero, un contrato no open source implementado por el protocolo Truebit hace 5 años fue atacado, causando una pérdida de 8.535,36 ETH (aproximadamente 26,4 millones de dólares estadounidenses). El equipo de seguridad de Beosin realizó un análisis de vulnerabilidades y rastreo de fondos sobre este incidente de seguridad y comparte los resultados a continuación:

Análisis de técnicas ofensivas

En este incidente, tomamos la transacción de ataque principal como objeto de análisis. El hash de la transacción es: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014

1. El atacante llama a getPurchasePrice() para obtener el precio.

2. Luego se llama a la función defectuosa 0xa0296215() y se establece un valor msg.value extremadamente pequeño.

Debido a que el contrato no es de código abierto, se especula que la función tiene una vulnerabilidad lógica aritmética al desensamblar el código, como posibles problemas de truncamiento de enteros, lo que permitió que un atacante mintiera con éxito una gran cantidad de tokens TRU.

3. El atacante utilizó la función burn para "vender de vuelta" los tokens acuñados al contrato, extrayendo así una gran cantidad de ETH de las reservas del contrato.

Este proceso se repite 4 veces más, aumentando el valor de msg.value cada vez, hasta extraer casi todo el ETH del contrato.

Seguimiento de fondos robados

Según los datos de transacciones en la cadena, Beosin realizó un seguimiento detallado de los fondos a través de su plataforma de investigación y seguimiento en la cadena de bloques, BeosinTrace, y comparte los resultados a continuación:

Actualmente, los 8.535,36 ETH robados, tras ser transferidos, se encuentran en su mayor parte almacenados en las direcciones 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 y 0x273589ca3713e7becf42069f9fb3f0c164ce850a.

La dirección 0xd12f posee 4.267,09 ETH y la dirección 0x2735 posee 4.001 ETH. La dirección utilizada por el atacante para iniciar el ataque (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50) también contiene 267,71 ETH. No se han producido movimientos adicionales de fondos en estas tres direcciones.

Mapa de análisis del flujo de fondos robados por Beosin Trace

Las direcciones mencionadas anteriormente han sido marcadas por Beosin KYT como direcciones de alto riesgo. Tomando como ejemplo la dirección del atacante:

Beosin KYT

Conclusión

Los fondos robados en esta ocasión están relacionados con un contrato inteligente no abierto al público hace cinco años. Para este tipo de contratos, la parte del proyecto debería actualizarlos, introduciendo funciones de suspensión de emergencia, límites de parámetros y nuevas características de seguridad de Solidity. Además, las auditorías de seguridad siguen siendo un componente esencial para los contratos inteligentes. A través de auditorías de seguridad, las empresas de Web3 pueden detectar de manera lo más completa posible los códigos de los contratos inteligentes, identificar y corregir vulnerabilidades potenciales, mejorando así la seguridad de los contratos.

*Beosin proporcionará un informe de análisis completo sobre todos los flujos de fondos y riesgos de direcciones. Puede solicitarlo a través del correo electrónico oficial support@beosin.com.

Descargo de responsabilidad: La información contenida en esta página puede proceder de terceros y no refleja necesariamente los puntos de vista u opiniones de KuCoin. Este contenido se proporciona solo con fines informativos generales, sin ninguna representación o garantía de ningún tipo, y tampoco debe interpretarse como asesoramiento financiero o de inversión. KuCoin no es responsable de ningún error u omisión, ni de ningún resultado derivado del uso de esta información. Las inversiones en activos digitales pueden ser arriesgadas. Evalúa con cuidado los riesgos de un producto y tu tolerancia al riesgo en función de tus propias circunstancias financieras. Para más información, consulta nuestras Condiciones de uso y la Declaración de riesgos.