Vulnerabilidade de armazenamento transitório leva a ataque de 300 mil dólares a projeto na cadeia; especialistas analisam recomendações de prevenção.

robot
Geração de resumo em curso

Análise do incidente de ataque na cadeia de 300 mil dólares causado por vulnerabilidades de armazenamento transitório

No dia 30 de março de 2025, um projeto de negociação alavancada na cadeia sofreu um ataque, resultando em uma perda de mais de 300 mil dólares em ativos. A equipe de segurança realizou uma análise aprofundada deste evento e agora compartilha os resultados a seguir:

Contexto

O ataque ocorreu na rede Ethereum, tendo como alvo um projeto de negociação alavancada. O atacante explorou uma vulnerabilidade relacionada ao armazenamento transitório no contrato do projeto.

Resíduo Letal: Um Roubo de 300.000 Dólares na Cadeia Provocado por Armazenamento Transiente

Conhecimento prévio

A versão 0.8.24 do Solidity introduziu o recurso de armazenamento transitório (transient storage), que é uma nova localização de armazenamento de dados. As principais características incluem:

  • Baixos custos de gas: as operações TSTORE e TLOAD consomem fixamente 100 gas
  • Persistência da transação: os dados permanecem válidos durante todo o período da transação
  • Limpeza automática: redefine automaticamente para zero após o término da transação

Resíduos Fatais: Um Roubo de 300.000 dólares na cadeia Causado por Armazenamento Transitório

Causa da vulnerabilidade

A causa fundamental do ataque desta vez é que o valor armazenado temporariamente usando tstore no contrato não foi limpo após o término da chamada da função. Isso permitiu que o atacante explorasse essa característica para construir um endereço específico, contornando a verificação de permissões e transferindo tokens.

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

Processo de Ataque

  1. O atacante cria dois tokens maliciosos A e B e cria um pool de liquidez para eles em algum DEX.
  2. Chame a função initialize do contrato alvo para criar um mercado de negociação alavancada com o token A como colateral e o token B como token de dívida.
  3. Chamar a função mint para depositar o token B para a criação de tokens alavancados, durante este processo foram realizadas duas operações de armazenamento transitório.
  4. Criar um contrato malicioso que tenha o mesmo endereço que o valor de armazenamento transitório da segunda vez.
  5. Através da chamada da função de callback do contrato alvo pelo contrato malicioso, contornando a verificação de permissões para transferir tokens.
  6. Por fim, através do ataque ao contrato (token A), chamar novamente a função de retorno para transferir outros tokens (como WBTC, WETH) e obter lucro.

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

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

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

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

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

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

Resíduo Letal: Um Roubo de 300 mil dólares na cadeia causado por Armazenamento Transitório

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

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

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

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

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

Análise do fluxo de fundos

Os atacantes roubaram cerca de 300 mil dólares em ativos, incluindo:

  • 17,814.8626 USDC
  • 1.4085 WBTC
  • 119.871 WETH

Em seguida, o atacante trocou WBTC e USDC por WETH, e finalmente transferiu 193,1428 WETH para um serviço de mistura.

Os fundos iniciais do atacante (0.3 ETH) também vieram deste serviço de mistura.

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

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

Resumo e Sugestões

O núcleo deste ataque baseou-se na utilização da característica de armazenamento transitório que mantém o valor inalterado durante todo o período da transação, permitindo assim contornar a verificação de permissões do contrato. Para prevenir ataques semelhantes, recomenda-se que a equipa do projeto:

  1. Após o término da chamada da função, use imediatamente tstore(key, 0) para limpar os valores do armazenamento transitório.
  2. Reforçar a auditoria de código de contrato e os testes de segurança.
  3. Use com cautela as novas características de linguagem introduzidas, compreendendo plenamente os seus riscos potenciais.
WBTC0.51%
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
  • 6
  • Partilhar
Comentar
0/400
PensionDestroyervip
· 7h atrás
又有idiotas寄了
Ver originalResponder0
TestnetFreeloadervip
· 7h atrás
Ah, quanto é que se pode aproveitar sem pagar, nem sequer conseguem segurar o próprio projeto.
Ver originalResponder0
LootboxPhobiavip
· 8h atrás
Péssimo, péssimo, outro irmão pisou na mina.
Ver originalResponder0
BearMarketMonkvip
· 8h atrás
Aproveitar as promoções também levou à falha do contrato.
Ver originalResponder0
DeFiAlchemistvip
· 8h atrás
ah, outro cordeiro sacrificial para as artes sombrias da exploração de contratos inteligentes... *ajusta a bola de cristal* essas vulnerabilidades de armazenamento efémero são como rachaduras no selo hermético da alquimia do protocolo
Ver originalResponder0
TestnetNomadvip
· 8h atrás
Que pena, fui novamente explorado.
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)