Une vulnérabilité de stockage transitoire a conduit à une attaque de 300 000 dollars sur le projet. La sécurité off-chain tire de nouveau la sonnette d'alarme.

Une vulnérabilité de stockage transitoire a conduit à une attaque de 300 000 dollars sur un projet off-chain.

Le 30 mars 2025, un projet de trading à effet de levier sur Ethereum off-chain a été attaqué, entraînant la perte de plus de 300 000 dollars d'actifs. L'équipe de sécurité a mené une analyse approfondie de cet événement, voici les conclusions pertinentes :

Contexte de l'événement

L'attaquant a exploité une vulnérabilité dans la fonction de stockage transient introduite par la version 0.8.24 de Solidity (transient storage). Le stockage transient est un nouvel emplacement de stockage de données conçu pour offrir une méthode de stockage temporaire efficace pendant les transactions à faible coût. Il est mis en œuvre via les instructions TSTORE et TLOAD, avec des caractéristiques telles que des coûts en gas faibles, la persistance au sein de la transaction et un nettoyage automatique.

Résidu mortel : un vol de 300 000 dollars sur la chaîne 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 de manière transitoire avec tstore dans la fonction ne sont pas effacées à la fin de l'appel de la fonction. L'attaquant a exploité cette caractéristique pour créer des adresses malveillantes spécifiques afin de contourner les vérifications de permission, permettant ainsi de transférer des jetons du projet.

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

Processus d'attaque

  1. Créer des jetons malveillants et établir une piscine de交易:L'attaquant crée deux jetons malveillants A et B, puis crée des piscines pour ces deux jetons sur un certain DEX et injecte de la liquidité.

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

  1. Initialiser le marché de trading à effet de levier : l'attaquant appelle la fonction initialize du contrat du projet, en utilisant le jeton A comme garantie et le jeton B comme jeton de dette pour créer le marché de trading à effet de levier.

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

  1. Minting des tokens à effet de levier : L'attaquant appelle la fonction mint, dépose le token de dette B pour minter des tokens à effet de levier. Dans ce processus, l'adresse de la piscine DEX et la quantité mintée sont stockées de manière transitoire.

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

  1. Créer un contrat malveillant : l'attaquant crée une adresse avec un contrat malveillant ayant le même montant que celui de la frappe dans le stockage transitoire.

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

  1. Contournement de la validation des autorisations : L'attaquant appelle la fonction de rappel du contrat du projet via un contrat malveillant, ce qui entraîne un passage incorrect de la vérification des autorisations en raison de la valeur dans le stockage transitoire qui n'a pas été effacée.

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

  1. Transfert d'actifs : Enfin, l'attaquant appelle directement la fonction de rappel du contrat du projet via le contrat d'attaque, transférant ainsi d'autres jetons (comme WBTC, WETH) du contrat pour réaliser un profit.

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

Évaluation des pertes

Selon les données des outils d'analyse off-chain, des attaquants ont volé environ 300 000 dollars d'actifs, y compris 17 814,8626 USDC, 1,4085 WBTC et 119,871 WETH. Ces actifs ont ensuite été échangés et transférés dans un système anonyme.

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

Conseils de sécurité

  1. Utiliser raisonnablement le stockage transitoire : l'équipe du projet doit, en fonction de la logique métier, utiliser immédiatement la clé tstore(key, 0) pour effacer les valeurs du stockage transitoire à la fin de l'appel de fonction.

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

  1. Renforcer l'audit des contrats : Il est nécessaire de procéder à un audit de sécurité complet et à des tests du code des contrats de projet afin d'identifier et de corriger les vulnérabilités potentielles.

Détail mortel : un vol de 300 000 $ hors chaîne provoqué par un stockage transitoire

  1. Améliorer la validation des autorisations : mettre en œuvre un mécanisme de validation multifacteur pour les opérations critiques, afin d'éviter que la validation unique ne soit contournée.

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

  1. Surveiller les activités anormales : déployer un système de surveillance en temps réel pour détecter et répondre rapidement aux transactions suspectes.

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

Cet événement souligne à nouveau l'importance d'effectuer une évaluation de sécurité complète lors de l'adoption de nouvelles caractéristiques technologiques. Avec le développement continu de la technologie blockchain, les équipes de projet doivent rester vigilantes et mettre à jour en permanence leurs pratiques de sécurité pour faire face aux techniques d'attaque en constante évolution.

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

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

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

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

WBTC-0.44%
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
  • 3
  • Partager
Commentaire
0/400
GasBankruptervip
· 07-27 11:42
Encore un trou de sécurité
Voir l'originalRépondre0
WalletDivorcervip
· 07-25 07:46
Les pertes sont des leçons d'argent.
Voir l'originalRépondre0
MetaMuskRatvip
· 07-25 07:31
Une leçon assez chère.
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)