La faille du protocole Truebit expose les risques de dépassement de capacité : perte de 26,4 millions de dollars en ETH

robot
Création du résumé en cours

Le 12 janvier, la société de sécurité SlowMist a divulgué un incident critique impliquant le protocole Truebit, mettant en évidence comment les vulnérabilités de dépassement d’entier peuvent entraîner des pertes financières catastrophiques dans les systèmes décentralisés. L’attaque, qui a eu lieu le 8 janvier, a permis le vol de 8 535 ETH (d’une valeur d’environ 26,44 millions de dollars) grâce à une exploitation sophistiquée de la logique du contrat intelligent du protocole.

Comment le dépassement d’entier a permis l’attaque

La vulnérabilité principale provenait du contrat Purchase du protocole Truebit, qui manquait de protections adéquates contre les conditions de dépassement d’entier. Un attaquant a exploité cette faiblesse pour manipuler les calculs de prix dans le contrat, lui permettant de créer des tokens $TRU à coût pratiquement nul. Cela illustre un exemple classique de la façon dont le dépassement d’entier — lorsque les opérations arithmétiques dépassent la valeur maximale qu’un type de donnée peut contenir, provoquant un wrap-around — peut être utilisé comme arme pour drainer les fonds du protocole.

Comprendre la défaillance technique

La cause racine de la vulnérabilité était l’absence de protection contre le dépassement dans les opérations d’addition d’entiers. Lorsque le contrat Purchase effectuait des calculs arithmétiques sans validation appropriée, il créait une opportunité pour l’attaquant de concevoir des transactions qui contournaient les mécanismes de tarification normaux des tokens. Les calculs de prix incorrects permettaient de créer des tokens bien en dessous de leur valeur marchande légitime, imprimant effectivement de la monnaie à partir de rien, tandis que les mécanismes de sécurité du protocole restaient inconscients.

Prévenir le dépassement d’entier : bonnes pratiques pour les contrats intelligents

SlowMist souligne que les développeurs utilisant des versions de Solidity antérieures à 0.8.0 doivent implémenter la bibliothèque SafeMath dans toutes les opérations arithmétiques. SafeMath offre des protections intégrées qui annulent automatiquement les transactions lorsqu’un dépassement ou un sous-dépassement est détecté, empêchant ainsi les acteurs malveillants d’exploiter de telles vulnérabilités. Pour les contrats construits avec des versions plus récentes de Solidity (0.8.0 et suivantes), le langage inclut désormais par défaut des opérations arithmétiques vérifiées, éliminant de nombreux — mais pas tous — les risques de dépassement d’entier. Cet incident souligne l’importance cruciale des pratiques de programmation défensive et des audits de sécurité approfondis avant le déploiement de tout contrat intelligent en environnement de production.

ETH2,83%
TRU1,8%
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
  • Commentaire
  • Reposter
  • Partager
Commentaire
0/400
Aucun commentaire
  • É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)