Une vulnérabilité de stockage transitoire a conduit à une attaque de 300 000 dollars contre un projet off-chain, les experts analysent les conseils de prévention.

robot
Création du résumé en cours

Analyse de l'incident d'attaque off-chain de 300 000 dollars provoqué par une vulnérabilité de stockage transitoire

Le 30 mars 2025, un projet de trading à effet de levier sur une chaîne a été attaqué, entraînant une perte d'actifs de plus de 300 000 dollars. L'équipe de sécurité a effectué une analyse approfondie de cet événement et partage maintenant les résultats comme suit :

Contexte

L'attaque a eu lieu sur le réseau Ethereum, ciblant un projet de trading à effet de levier. L'attaquant a exploité une vulnérabilité liée au stockage transitoire dans le contrat de ce projet.

Résidu mortel : un vol de 300 000 dollars off-chain provoqué par le stockage transitoire

Connaissances préalables

La version 0.8.24 de Solidity a introduit la fonctionnalité de stockage transitoire (transient storage), qui est un nouvel emplacement de stockage de données. Ses principales caractéristiques incluent :

  • Coût de gas faible : les opérations TSTORE et TLOAD consomment fixement 100 gas.
  • Persistance des transactions : les données restent valides pendant toute la durée de la transaction
  • Effacement automatique : réinitialisation automatique à zéro après la fin de la transaction

Détail mortel : un vol de 300 000 $ off-chain déclenché par un stockage transitoire

Causes de la vulnérabilité

La cause fondamentale de cette attaque est que les valeurs stockées de manière transitoire dans le contrat à l'aide de tstore n'ont pas été effacées après la fin de l'appel de la fonction. Cela a permis aux attaquants d'exploiter cette caractéristique pour construire des adresses spécifiques, contourner les vérifications de permissions et transférer des jetons.

Résidu mortel : un braquage de 300 000 dollars off-chain déclenché par un stockage transitoire

Processus d'attaque

  1. L'attaquant crée deux jetons malveillants A et B, et crée un pool de liquidités pour eux sur un DEX.
  2. Appeler la fonction initialize du contrat cible pour créer un marché de trading à effet de levier avec le token A comme collatéral et le token B comme token de dette.
  3. Appeler la fonction mint pour déposer le token B et créer un token de levier, au cours de ce processus, deux opérations de stockage transitoire ont été effectuées.
  4. Créer un contrat malveillant dont l'adresse est identique à la valeur de stockage transitoire lors de la deuxième fois.
  5. En appelant la fonction de rappel du contrat cible via ce contrat malveillant, contournez la vérification des autorisations pour transférer des jetons.
  6. Enfin, en attaquant le contrat (token A), appeler à nouveau la fonction de rappel pour transférer d'autres tokens (comme WBTC, WETH) et réaliser un profit.

Résidu mortel : un vol de 300 000 $ off-chain déclenché par un stockage transitoire

Résidus mortels : un vol de 300 000 $ sur la chaîne provoqué par un stockage transitoire

Résidu mortel : un vol de 300 000 dollars sur la chaîne provoqué par un stockage transitoire

Résidu mortel : un vol de 300 000 dollars déclenché par un stockage transitoire

Résidu mortel : un vol de 300 000 dollars off-chain déclenché par un stockage transitoire

Résidu mortel : un vol de 300 000 dollars hors chaîne déclenché par un stockage transitoire

Résidu mortel : un braquage de 300 000 dollars hors chaîne provoqué par un stockage transitoire

Résidu mortel : un vol de 300 000 dollars provoqué par un stockage transitoire

Résidu mortel : un vol de 300 000 dollars hors chaîne provoqué par un stockage transitoire

Résidu mortel : un vol de 300 000 dollars off-chain déclenché par un stockage transitoire

Résidu mortel : Un vol de 300 000 $ off-chain provoqué par un stockage transitoire

Résidu mortel : un vol de 300 000 dollars hors chaîne déclenché par un stockage transitoire

Analyse des flux de fonds

Les attaquants ont volé environ 300 000 dollars d'actifs, y compris :

  • 17,814.8626 USDC
  • 1.4085 WBTC
  • 119.871 WETH

Ensuite, l'attaquant a échangé WBTC et USDC contre WETH, et a finalement transféré 193,1428 WETH dans un service de mixage.

Les fonds initiaux de l'attaquant (0,3 ETH) proviennent également de ce service de mélange.

Résidu mortel : un vol de 300 000 $ hors chaîne déclenché par un stockage transitoire

Résidu mortel : un vol de 300 000 dollars hors-champ déclenché par un stockage transitoire

Résumé et recommandations

L'attaque a pour cœur d'exploiter la caractéristique de stockage transitoire qui maintient la valeur inchangée pendant toute la durée de la transaction, contournant ainsi la vérification des autorisations du contrat. Pour prévenir des attaques similaires, il est conseillé aux projets :

  1. Après la fin de l'appel de fonction, utilisez immédiatement tstore(key pour effacer les valeurs dans le stockage transitoire.
  2. Renforcer l'audit des codes de contrat et les tests de sécurité.
  3. Utilisez avec prudence les nouvelles caractéristiques linguistiques introduites et comprenez bien leurs risques potentiels.
WBTC1.06%
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • 6
  • Partager
Commentaire
0/400
PensionDestroyervip
· Il y a 17h
Encore des pigeons ont envoyé.
Voir l'originalRépondre0
TestnetFreeloadervip
· Il y a 17h
Ah, vraiment, c'est n'importe quoi, ils ne peuvent même pas garder leur propre projet.
Voir l'originalRépondre0
LootboxPhobiavip
· Il y a 17h
Oh non, encore un frère a eu des problèmes.
Voir l'originalRépondre0
BearMarketMonkvip
· Il y a 17h
Le farming a également emporté les failles de contrat.
Voir l'originalRépondre0
DeFiAlchemistvip
· Il y a 17h
ah, un autre agneau sacrificiel aux arts sombres de l'exploitation des contrats intelligents... *ajuste sa boule de cristal* ces vulnérabilités de stockage éphémère sont comme des fissures dans le sceau hermétique de l'alchimie des protocoles
Voir l'originalRépondre0
TestnetNomadvip
· Il y a 17h
C'est terrible, encore une fois arraché.
Voir l'originalRépondre0
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)