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.

Resíduo Fatal: Um Roubo de 300.000 Dólares na Cadeia Provocado por Armazenamento Transitório

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.

Resíduo letal: um assalto de 300 mil dólares na cadeia provocado por armazenamento transitório

Processo de Ataque

  1. 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.

Resíduo letal: um assalto de 300 mil dólares na cadeia causado por armazenamento transitório

  1. 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.

Resíduo letal: um assalto de 300 mil dólares na cadeia causado por armazenamento temporário

  1. 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.

Resíduos Mortais: Um Roubo de 300.000 Dólares na Cadeia Causado por Armazenamento Transitório

  1. Criar contrato malicioso: O atacante cria um endereço com um contrato malicioso que tem a mesma quantidade de cunhagem armazenada temporariamente.

Resíduo Fatal: Um Roubo de 300.000 Dólares na Cadeia Causado por Armazenamento Transitório

  1. 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.

Resíduo fatal: um roubo de 300 mil dólares na cadeia causado por armazenamento transitório

  1. 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.

Resíduo mortal: um assalto na cadeia de 300 mil dólares provocado por armazenamento transitório

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.

Resíduo Fatal: Um Roubo de 300.000 Dólares na Cadeia Provocado por Armazenamento Transitório

Sugestões de segurança

  1. 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).

Resíduo Mortal: Um Roubo de 300.000 Dólares na Cadeia Causado por Armazenamento Transitório

  1. 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.

Resíduo fatal: um roubo de 300 mil dólares na cadeia causado por armazenamento transitório

  1. 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.

Resíduo Fatal: Um Roubo de 300 mil dólares na cadeia causado por armazenamento transitório

  1. Monitorizar atividades anómalas: implementar um sistema de monitorização em tempo real para detectar e responder rapidamente a transações suspeitas.

Resíduo Letal: Um Roubo de 300.000 Dólares na Cadeia Causado por Armazenamento Transitório

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.

Resíduo Fatal: Um Roubo de 300.000 Dólares na Cadeia Provocado por Armazenamento Transitório

Resíduos fatais: um assalto de 300 mil dólares na cadeia provocado por armazenamento transitório

Resíduo Letal: Um Roubo de 300 Mil Dólares na Cadeia Provocado por Armazenamento Transitório

Resíduos fatais: um roubo na cadeia de 300 mil dólares causado por armazenamento transitório

WBTC-1.22%
Ver original
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.
  • Recompensa
  • 3
  • Partilhar
Comentar
0/400
GasBankruptervip
· 07-27 11:42
Mais um buraco de vulnerabilidade
Ver originalResponder0
WalletDivorcervip
· 07-25 07:46
O que se perde são lições financeiras.
Ver originalResponder0
MetaMuskRatvip
· 07-25 07:31
Uma lição bastante cara.
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)