Protocolo Truebit Sofre Perda de 26,4 milhões de dólares numa Ataque a Contrato Inteligente

iconPANews
Compartilhar
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconResumo

expand icon
O protocolo Truebit perdeu 26,4 milhões de dólares após uma exploração que visou vulnerabilidades em contratos inteligentes de um contrato não de código aberto com cinco anos. Os atacantes acunaram tokens TRU e esgotaram 8.535,36 ETH. A Beosin rastreou os fundos até três endereços Ethereum de alto risco. A exploração envolveu a chamada repetida de uma função defeituosa com um valor mínimo de msg.value. Foi divulgado um relatório detalhado sobre a violação de segurança do contrato e o fluxo de fundos.

Autor: Beosin

Na madrugada de 9 de janeiro, um contrato não open-source implementado no protocolo Truebit há 5 anos foi atacado, resultando na perda de 8.535,36 ETH (aproximadamente 26,4 milhões de dólares). A equipa de segurança Beosin realizou uma análise de vulnerabilidades e rastreio de fundos relativamente a este incidente de segurança e partilha os resultados seguintes:

Análise de Técnicas de Ataque

Para este incidente, utilizámos a transação de ataque mais importante como análise, cujo hash da transação é: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014

1. O atacante chama getPurchasePrice() para obter o preço.

2. Em seguida, chama-se a função defeituosa 0xa0296215() e define-se o valor de msg.value como extremamente baixo.

Devido ao contrato não ser open-source, através da descompilação do código, deduz-se que a função tem uma vulnerabilidade lógica aritmética, como a ocorrência de truncagem de inteiros, levando o atacante a concluir com sucesso a mineração de uma grande quantidade de tokens TRU.

3. O atacante utilizou a função burn para "vender de volta" os tokens moldados ao contrato, retirando uma grande quantidade de ETH das reservas do contrato.

Este processo é repetido mais 4 vezes, aumentando o valor de msg.value cada vez, até que a maioria dos ETH no contrato seja extraída.

Rastreamento de fundos roubados

Com base nos dados das transações na cadeia, a Beosin realizou uma investigação detalhada sobre fundos através da sua plataforma de investigação e rastreio na cadeia de blocos, BeosinTrace, e partilha os resultados abaixo:

Atualmente, os 8.535,36 ETH roubados, após terem sido transferidos, encontram-se, na sua maioria, depositados separadamente nos endereços 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 e 0x273589ca3713e7becf42069f9fb3f0c164ce850a.

O endereço 0xd12f detém 4.267,09 ETH e o endereço 0x2735 detém 4.001 ETH. O endereço utilizado pelo atacante para iniciar o ataque (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50) também contém 267,71 ETH. Até agora, os três endereços não apresentaram transferências adicionais de fundos.

Mapa de Análise do Fluxo de Fundos Roubados por Beosin Trace

Todos os endereços acima foram marcados como endereços de alto risco pelo Beosin KYT. Tomando como exemplo o endereço do atacante:

Beosin KYT

Conclusão

O dinheiro roubado desta vez está relacionado com um contrato inteligente que não foi tornado open-source há cinco anos. Para tais contratos, as equipes de projetos devem atualizá-los, introduzindo funcionalidades de suspensão de emergência, limites de parâmetros e as novas características de segurança da versão mais recente do Solidity. Além disso, a auditoria de segurança continua sendo um componente essencial para os contratos. Através de uma auditoria de segurança, as empresas Web3 podem verificar o código dos contratos inteligentes de forma o mais abrangente possível, identificando e corrigindo vulnerabilidades potenciais, aumentando assim a segurança dos contratos.

*O Beosin fornecerá um relatório completo com a análise de todos os fluxos de fundos e riscos de endereços. Sinta-se à vontade para solicitá-lo por meio do e-mail oficial support@beosin.com.

Aviso legal: as informações nesta página podem ter sido obtidas de terceiros e não refletem necessariamente os pontos de vista ou opiniões da KuCoin. Este conteúdo é fornecido apenas para fins informativos gerais, sem qualquer representação ou garantia de qualquer tipo, nem deve ser interpretado como aconselhamento financeiro ou de investimento. A KuCoin não é responsável por quaisquer erros ou omissões, ou por quaisquer resultados do uso destas informações. Os investimentos em ativos digitais podem ser arriscados. Avalie cuidadosamente os riscos de um produto e a sua tolerância ao risco com base nas suas próprias circunstâncias financeiras. Para mais informações, consulte nossos termos de uso e divulgação de risco.