Vulnerabilidade de armazenamento transitório leva projeto na cadeia a sofrer um ataque de 300 mil dólares
No dia 30 de março de 2025, um projeto de negociação alavancada na cadeia Ethereum foi atacado, resultando na perda de mais de 300 mil dólares em ativos. A equipe de segurança realizou uma análise aprofundada deste evento, e abaixo estão as descobertas relevantes:
Contexto do Evento
Os atacantes exploraram uma vulnerabilidade na funcionalidade de armazenamento transitório introduzida na versão 0.8.24 do Solidity, (storage transitório). O armazenamento transitório é uma nova localização de armazenamento de dados, projetada para fornecer uma forma de armazenamento temporário de baixo custo e eficaz durante a transação. Ele é implementado através das instruções TSTORE e TLOAD, possuindo características como baixo custo de gas, persistência dentro da transação e limpeza automática.
Fonte do Ataque
A causa fundamental do ataque reside no fato de que os valores armazenados temporariamente usando tstore na função não são limpos após o término da chamada da função. O atacante aproveitou essa característica para construir endereços maliciosos específicos que contornam a verificação de permissões, permitindo assim a transferência de tokens do projeto.
Processo de Ataque
Criar tokens maliciosos e estabelecer um pool de negociação: o atacante cria dois tokens maliciosos A e B e cria um pool para esses dois tokens em algum DEX, injetando liquidez.
Inicializar o mercado de negociação com margem: O atacante chama a função initialize do contrato do projeto, usando o token A como colateral e o token B como token de dívida para criar o mercado de negociação com margem.
Criar tokens alavancados: O atacante chama a função mint, depositando o token de dívida B para criar tokens alavancados. Durante esse processo, o endereço do pool DEX e a quantidade criada são armazenados temporariamente.
Criar contrato malicioso: O atacante cria um endereço com um contrato malicioso que tem a mesma quantidade de cunhagem armazenada temporariamente.
Contornar a verificação de permissões: O atacante chama a função de callback do contrato do projeto através de um contrato malicioso, e como os valores no armazenamento transitório não foram limpos, a verificação de permissões é aprovada incorretamente.
Transferência de ativos: Por fim, o atacante chama diretamente a função de callback do contrato do projeto através do ataque ao contrato, transferindo outros tokens (como WBTC, WETH) do contrato para obter lucro.
Avaliação de Perdas
De acordo com os dados da ferramenta de análise na cadeia, os atacantes roubaram cerca de 300.000 dólares em ativos, incluindo 17.814,8626 USDC, 1,4085 WBTC e 119,871 WETH. Esses ativos foram então trocados e transferidos para um sistema anônimo.
Sugestões de segurança
Utilizar o armazenamento temporário de forma razoável: A equipe do projeto deve, com base na lógica de negócios, limpar imediatamente os valores no armazenamento temporário após o término da chamada da função usando tstore(key, 0).
Reforçar a auditoria de contratos: deve ser realizada uma auditoria de segurança abrangente e testes do código do contrato do projeto para identificar e corrigir potenciais vulnerabilidades.
Melhorar a verificação de permissões: implementar um mecanismo de múltipla verificação em operações críticas, evitando que uma única verificação seja contornada.
Monitorizar atividades anómalas: implementar um sistema de monitorização em tempo real para detectar e responder rapidamente a transações suspeitas.
Este evento enfatiza mais uma vez a importância de realizar uma avaliação de segurança abrangente ao adotar as novas características tecnológicas. Com o contínuo desenvolvimento da tecnologia na cadeia, as equipes de projeto precisam permanecer atentas e atualizar continuamente suas práticas de segurança para enfrentar as táticas de ataque em constante evolução.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
Vulnerabilidade de armazenamento temporário leva a ataque de 300 mil dólares ao projeto, segurança na cadeia dá novo alerta.
Vulnerabilidade de armazenamento transitório leva projeto na cadeia a sofrer um ataque de 300 mil dólares
No dia 30 de março de 2025, um projeto de negociação alavancada na cadeia Ethereum foi atacado, resultando na perda de mais de 300 mil dólares em ativos. A equipe de segurança realizou uma análise aprofundada deste evento, e abaixo estão as descobertas relevantes:
Contexto do Evento
Os atacantes exploraram uma vulnerabilidade na funcionalidade de armazenamento transitório introduzida na versão 0.8.24 do Solidity, (storage transitório). O armazenamento transitório é uma nova localização de armazenamento de dados, projetada para fornecer uma forma de armazenamento temporário de baixo custo e eficaz durante a transação. Ele é implementado através das instruções TSTORE e TLOAD, possuindo características como baixo custo de gas, persistência dentro da transação e limpeza automática.
Fonte do Ataque
A causa fundamental do ataque reside no fato de que os valores armazenados temporariamente usando tstore na função não são limpos após o término da chamada da função. O atacante aproveitou essa característica para construir endereços maliciosos específicos que contornam a verificação de permissões, permitindo assim a transferência de tokens do projeto.
Processo de Ataque
Avaliação de Perdas
De acordo com os dados da ferramenta de análise na cadeia, os atacantes roubaram cerca de 300.000 dólares em ativos, incluindo 17.814,8626 USDC, 1,4085 WBTC e 119,871 WETH. Esses ativos foram então trocados e transferidos para um sistema anônimo.
Sugestões de segurança
Este evento enfatiza mais uma vez a importância de realizar uma avaliação de segurança abrangente ao adotar as novas características tecnológicas. Com o contínuo desenvolvimento da tecnologia na cadeia, as equipes de projeto precisam permanecer atentas e atualizar continuamente suas práticas de segurança para enfrentar as táticas de ataque em constante evolução.