Les résidus de stockage transitoire entraînent une perte d'actifs de 300 000 dollars off-chain. Les développeurs doivent être vigilants face aux risques des nouvelles fonctionnalités.

Résidu mortel : Analyse d'un événement de 300 000 dollars off-chain provoqué par un stockage transitoire

Le 30 mars 2025, un système de surveillance de sécurité off-chain a détecté une attaque sur un projet de trading à effet de levier sur le réseau Ethereum, entraînant une perte d'actifs de plus de 300 000 dollars. L'équipe de sécurité a mené une analyse approfondie de cet incident et partage maintenant les résultats comme suit :

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

Contexte

La version 0.8.24 de Solidity introduit une fonctionnalité de stockage transitoire basée sur l'EIP-1153. Il s'agit d'un nouvel emplacement de stockage de données qui offre aux développeurs un moyen de stockage temporaire à faible coût et efficace pendant les transactions. Les principales caractéristiques du stockage transitoire comprennent :

  1. Coût de gas faible : l'opération consomme 100 gas de manière fixe, bien inférieur aux opérations de stockage conventionnelles.
  2. Persistance des transactions : les données restent valides tout au long de la transaction.
  3. Effacement automatique : après la fin de la transaction, le stockage transitoire est automatiquement réinitialisé à zéro.

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

Analyse des événements

La cause fondamentale de cet événement est que les valeurs stockées de manière transitoire dans la fonction à l'aide de tstore n'ont pas été effacées après la fin de l'appel de la fonction. L'attaquant a exploité cette caractéristique pour construire des adresses malveillantes spécifiques, contournant ainsi le contrôle d'accès pour transférer des jetons.

Les étapes de l'attaque sont les suivantes :

  1. L'attaquant crée deux jetons malveillants A et B, et crée un pool de liquidités pour ces deux jetons sur un DEX.

Résidu fatal : un vol de 300 000 $ sur la blockchain provoqué par un stockage transitoire

  1. Appeler la fonction initialize du contrat cible pour créer un marché de trading à effet de levier avec le token A comme garantie et le token B comme token de dette.

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

  1. Appeler la fonction mint pour déposer le jeton de dette B et frapper le jeton à effet de levier. Dans ce processus, l'adresse de la piscine DEX et la quantité frappée sont stockées de manière transitoire.

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

  1. Créer un contrat malveillant avec une adresse correspondant au nombre de mint dans le stockage temporaire.

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

  1. Appeler la fonction de rappel du contrat cible via un contrat malveillant, en utilisant les valeurs résiduelles dans le stockage transitoire pour contourner l'authentification.

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

  1. Enfin, l'attaquant appelle directement la fonction de rappel du contrat cible via une attaque sur le contrat, retirant ainsi d'autres tokens (comme WBTC, WETH) pour réaliser un profit.

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

Flux de fonds

Selon les données des outils d'analyse off-chain, les attaquants ont volé environ 300 000 dollars d'actifs, y compris :

  • 17,814.8626 USDC
  • 1.4085 WBTC
  • 119.871 WETH

Ces actifs ont ensuite été échangés contre du WETH, un total de 193,1428 WETH ayant été transféré dans un certain outil d'anonymisation. La source de financement initiale de l'attaquant provient des 0,3 ETH transférés dans cet outil.

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

Conseils de sécurité

  1. L'équipe du projet doit, en fonction de la logique métier, utiliser immédiatement tstore(key, 0) pour effacer les valeurs du stockage transitoire après la fin de l'appel de fonction.

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

  1. Renforcer l'audit du code des contrats et les tests de sécurité, en portant une attention particulière aux nouvelles caractéristiques linguistiques introduites et à leurs risques potentiels.

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

  1. Mettre en œuvre des mécanismes de validation multiples pour éviter les pertes d'actifs massives dues à une vulnérabilité unique.

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

  1. Effectuer régulièrement des évaluations de sécurité et des analyses de vulnérabilités, et corriger rapidement les problèmes potentiels.

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

  1. Envisagez d'introduire un système de surveillance de la sécurité pour surveiller en temps réel les comportements de transaction anormaux.

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

Cet événement nous rappelle une fois de plus qu'il est nécessaire d'être particulièrement prudent lors de l'adoption de nouvelles technologies, en comprenant pleinement leurs caractéristiques et les risques potentiels. En même temps, des pratiques de sécurité continues et des audits réguliers sont essentiels pour garantir la sécurité des projets off-chain.

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

Résidu fatal : un vol de 300 000 $ sur la chaîne déclenché par un stockage transitoire

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

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
  • 5
  • Partager
Commentaire
0/400
MemeTokenGeniusvip
· 07-22 16:28
30w dollars se sont évaporés comme ça ? Combien de personnes ont été tuées ?
Voir l'originalRépondre0
WhaleStalkervip
· 07-21 21:55
Encore un smart contract est tombé dans le piège.
Voir l'originalRépondre0
GateUser-1a2ed0b9vip
· 07-19 16:59
Encore quelqu'un a fait une erreur, qui te demande d'être avare.
Voir l'originalRépondre0
ProxyCollectorvip
· 07-19 16:55
Encore pris les gens pour des idiots 30w, tsk tsk
Voir l'originalRépondre0
BugBountyHuntervip
· 07-19 16:50
Vitesse MAX de capture de bogues !
Voir l'originalRépondre0
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)