Na madrugada de 9 de janeiro, o contrato não open-source implantado há 5 anos pelo Truebit Protocol foi alvo de um ataque, resultando na perda de 8.535,36 ETH (valor aproximado de 26,4 milhões de dólares). A equipa de segurança da Beosin realizou uma análise de vulnerabilidades e rastreamento de fundos deste incidente de segurança, e partilhou os resultados abaixo:
Análise do método de ataque
Neste incidente, utilizamos a transação de ataque mais significativa para análise, cujo hash é: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
O atacante chamou getPurchasePrice() para obter o preço
Seguidamente, chamou a função com falhas 0xa0296215(), definindo o valor de msg.value como muito pequeno
Como o contrato não é open-source, através de descompilação do código, presume-se que essa função possui uma vulnerabilidade lógica aritmética, como problemas de truncamento de inteiros, levando o atacante a cunhar uma grande quantidade de tokens TRU com sucesso.
O atacante utilizou a função burn para “vender de volta” os tokens cunhados ao contrato, extraindo uma grande quantidade de ETH do saldo do contrato.
Este processo foi repetido 4 vezes, aumentando o valor de msg.value a cada vez, até que quase todo o ETH no contrato fosse retirado.
Rastreamento dos fundos roubados
De acordo com os dados de transações na blockchain, a Beosin realizou um rastreamento detalhado de fundos através da sua plataforma de investigação e rastreamento na blockchain, BeosinTrace, e partilhou os resultados abaixo:
Atualmente, os 8.535,36 ETH roubados foram transferidos e a maior parte está armazenada em 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 e 0x273589ca3713e7becf42069f9fb3f0c164ce850a.
Dentre eles, o endereço 0xd12f possui 4.267,09 ETH, e o endereço 0x2735 possui 4.001 ETH. O endereço do atacante que iniciou o ataque (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50) ainda possui 267,71 ETH, e três endereços ainda não realizaram transferências adicionais de fundos.
Gráfico de análise do fluxo dos fundos roubados por Beosin Trace
Todos esses endereços já foram marcados pela Beosin KYT como endereços de alto risco, tomando como exemplo o endereço do atacante:
Beosin KYT
Conclusão
Os fundos roubados nesta ocasião envolvem um contrato inteligente não open-source de há 5 anos. Para esse tipo de contrato, os projetos devem realizar atualizações, introduzir funções de pausa de emergência, limites de parâmetros e aproveitar as novas funcionalidades de segurança do Solidity. Além disso, a auditoria de segurança continua sendo uma etapa indispensável. Com uma auditoria de segurança, as empresas Web3 podem detectar de forma mais abrangente o código do contrato inteligente, identificar e corrigir vulnerabilidades potenciais, aumentando a segurança do contrato.
*A Beosin fornecerá um relatório completo de análise de todos os fluxos de fundos e riscos de endereços nesta ocasião. Para receber, entre em contato através do email oficial support@beosin.com.
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
Perda superior a 26 milhões de dólares, análise do incidente de segurança do Truebit Protocol e rastreamento do fluxo de fundos roubados
null
Autor: Beosin
Na madrugada de 9 de janeiro, o contrato não open-source implantado há 5 anos pelo Truebit Protocol foi alvo de um ataque, resultando na perda de 8.535,36 ETH (valor aproximado de 26,4 milhões de dólares). A equipa de segurança da Beosin realizou uma análise de vulnerabilidades e rastreamento de fundos deste incidente de segurança, e partilhou os resultados abaixo:
Análise do método de ataque
Neste incidente, utilizamos a transação de ataque mais significativa para análise, cujo hash é: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
O atacante chamou getPurchasePrice() para obter o preço
Seguidamente, chamou a função com falhas 0xa0296215(), definindo o valor de msg.value como muito pequeno
Como o contrato não é open-source, através de descompilação do código, presume-se que essa função possui uma vulnerabilidade lógica aritmética, como problemas de truncamento de inteiros, levando o atacante a cunhar uma grande quantidade de tokens TRU com sucesso.
Este processo foi repetido 4 vezes, aumentando o valor de msg.value a cada vez, até que quase todo o ETH no contrato fosse retirado.
Rastreamento dos fundos roubados
De acordo com os dados de transações na blockchain, a Beosin realizou um rastreamento detalhado de fundos através da sua plataforma de investigação e rastreamento na blockchain, BeosinTrace, e partilhou os resultados abaixo:
Atualmente, os 8.535,36 ETH roubados foram transferidos e a maior parte está armazenada em 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 e 0x273589ca3713e7becf42069f9fb3f0c164ce850a.
Dentre eles, o endereço 0xd12f possui 4.267,09 ETH, e o endereço 0x2735 possui 4.001 ETH. O endereço do atacante que iniciou o ataque (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50) ainda possui 267,71 ETH, e três endereços ainda não realizaram transferências adicionais de fundos.
Gráfico de análise do fluxo dos fundos roubados por Beosin Trace
Todos esses endereços já foram marcados pela Beosin KYT como endereços de alto risco, tomando como exemplo o endereço do atacante:
Beosin KYT
Conclusão
Os fundos roubados nesta ocasião envolvem um contrato inteligente não open-source de há 5 anos. Para esse tipo de contrato, os projetos devem realizar atualizações, introduzir funções de pausa de emergência, limites de parâmetros e aproveitar as novas funcionalidades de segurança do Solidity. Além disso, a auditoria de segurança continua sendo uma etapa indispensável. Com uma auditoria de segurança, as empresas Web3 podem detectar de forma mais abrangente o código do contrato inteligente, identificar e corrigir vulnerabilidades potenciais, aumentando a segurança do contrato.
*A Beosin fornecerá um relatório completo de análise de todos os fluxos de fundos e riscos de endereços nesta ocasião. Para receber, entre em contato através do email oficial support@beosin.com.