Une vulnérabilité de stockage transitoire a conduit à une attaque de 300 000 dollars par un Hacker sur un projet Ethereum.

robot
Création du résumé en cours

Un braquage on-chain déclenché par le stockage transitoire : derrière une perte de 300 000 dollars

Le 30 mars 2025, un projet de trading à effet de levier sur Ethereum nommé SIR.trading a été attaqué, 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, révélant les détails et les raisons de l'attaque.

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

Contexte de l'événement

Les attaquants ont profité de la fonctionnalité de stockage transitoire introduite dans la version 0.8.24 de Solidity. Ce nouvel emplacement de stockage de données est conçu pour fournir une méthode de stockage temporaire efficace et à faible coût pendant les transactions. Les principales caractéristiques du stockage transitoire incluent :

  1. Coût de gas faible : les frais d'opération sont fixes à 100 gas.
  2. Persistance des transactions : les données restent valides pendant toute la durée de la transaction.
  3. Suppression automatique : après la fin de la transaction, le stockage est automatiquement réinitialisé à zéro.

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

Source de l'attaque

La cause fondamentale de l'attaque réside dans le fait que les valeurs stockées temporairement avec tstore dans la fonction ne sont pas effacées à la fin de l'appel de la fonction. Cela permet à l'attaquant de construire des adresses malveillantes spécifiques, contournant ainsi les vérifications de permission et transférant des jetons.

Résidu mortel : un vol 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 des pools pour ces deux jetons sur un DEX tout en injectant de la liquidité.

  2. L'attaquant appelle la fonction initialize du contrat Vault pour créer un marché de trading à effet de levier avec le jeton A comme garantie et le jeton B comme jeton de dette.

  3. L'attaquant appelle la fonction mint du contrat Vault, dépose le token de dette B pour frapper des tokens de levier. Dans ce processus, l'adresse de la piscine DEX et la quantité frappée sont stockées de manière transitoire.

  4. L'attaquant crée un contrat malveillant dont l'adresse est la même que le nombre de minting stocké temporairement précédemment.

  5. L'attaquant appelle la fonction de rappel du contrat Vault via un contrat malveillant, réussissant à contourner la vérification des autorisations car la valeur dans le stockage transitoire n'a pas été effacée.

  6. Enfin, l'attaquant appelle directement la fonction de rappel du contrat Vault en attaquant le contrat, pour transférer d'autres jetons (comme WBTC, WETH) et réaliser un profit.

Délai fatal : un vol de 300 000 dollars off-chain provoqué par un stockage transitoire

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

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

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

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

Résidu mortel : un braquage de 300 000 $ hors chaîne déclenché 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 $ off-chain déclenché par un stockage transitoire

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

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

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

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

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

Analyse des flux de fonds

Selon les données de l'outil 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é convertis en WETH et finalement transférés dans un outil d'anonymisation. La source de fonds initiale de l'attaquant provenait de 0,3 ETH transféré depuis cet outil.

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

Conseils de sécurité

Pour prévenir des attaques similaires, l'équipe du projet devrait :

  1. Après la fin de l'appel de fonction, utilisez immédiatement tstore(key, 0) pour effacer les valeurs dans le stockage transitoire.
  2. Renforcer l'audit du code des contrats et les tests de sécurité.
  3. Utilisez avec prudence les nouvelles caractéristiques linguistiques introduites, en comprenant bien leurs risques potentiels.

Cet incident souligne à nouveau l'importance de maintenir un équilibre entre la sécurité et l'application de nouvelles technologies dans le développement de projets de blockchain. Avec l'évolution continue de la technologie, les développeurs et les experts en sécurité doivent rester vigilants et identifier et répondre rapidement aux nouveaux défis de sécurité.

ETH5.37%
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
  • 7
  • Partager
Commentaire
0/400
MemeTokenGeniusvip
· Il y a 3h
On dirait que c'est mignon, vous lancez sans même tester ?
Voir l'originalRépondre0
quiet_lurkervip
· Il y a 3h
Un autre projet est écrasé au sol.
Voir l'originalRépondre0
PumpBeforeRugvip
· Il y a 3h
J'ai entendu dire que cette fois, il s'en va en tournant la tête~smart contracts petite vulnérabilité
Voir l'originalRépondre0
MEVHuntervip
· Il y a 3h
Ces 300 000 sont vraiment trop bon marché, même les Prêts Flash n'en valent pas la peine.
Voir l'originalRépondre0
ContractSurrendervip
· Il y a 3h
Ancien projet All in nouvelles caractéristiques Ça chauffe...
Voir l'originalRépondre0
MissedAirdropAgainvip
· Il y a 3h
Eh, ce n'est qu'une petite bagarre de 30k.
Voir l'originalRépondre0
NeverPresentvip
· Il y a 3h
Un tel bug de bas niveau peut-il vraiment frapper ?
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)