Cette attaque expose un problème classique de débordement d'entier, se manifestant spécifiquement par une troncature des données lors du processus de conversion de type.



Détails techniques décomposés :

1) Localisation des vulnérabilités : Le problème se situe dans le mécanisme de conversion de type de la fonction get_amount_by_liquidity, où la conversion forcée de u256 à u64 entraîne une perte de données dans les bits supérieurs.

2) Processus d'attaque :

1. L'attaquant passe un paramètre de quantité de liquidité extrêmement élevée via la fonction add_liquidity ;
2. Le système appelle la fonction get_delta_b pour calculer la quantité nécessaire de jetons B ;
3. Lors du calcul, le produit de deux données de type u128 devrait théoriquement être de type u256 ;

Défaut clé : conversion forcée du résultat u256 en u64 lors du retour de la fonction, entraînant une troncature des 128 bits supérieurs.

3) Utilisation des effets : Auparavant, il fallait une grande quantité de jetons pour frapper une allocation de liquidité, mais maintenant, il suffit d'une très petite quantité de jetons pour le faire. Les attaquants obtiennent d'énormes parts de liquidité à un coût très bas, puis réalisent des arbitrages de fonds en détruisant une partie de la liquidité.

简单类比:就像用只能显示8位数的计算器计算10亿×10亿,20位的计算结果只能显示后8位,前12位直接消失。 攻击者正是利用了这种"计算精度缺少"vulnérabilité。

Move语言在资源管理和类型安全方面确实具备显有优势,能够有效防范双重支付、资源泄露等底层安全问题。 但此次Cetus协议出现的是应用逻辑层面的数学计算错误,并非Move语言本身的设计缺陷。

具体而言,Move的类型系统虽然严格,但对于显式类型转换(explicit casting)操作,仍需依赖开发者的正确判断。 当程序主动执行u256到u64的类型转换时,编译器无法判断这是有意设计还是逻辑错误。

此外,这次安全事件与Sui的共识机制、交易处理、状态管理等核心底层功能完全无关。 Sui Network只是忠实执行了Cetus协议提交的交易指令,漏洞源于应用层协议本身的逻辑缺陷。

En d'autres termes, aucun langage de programmation, aussi avancé soit-il, ne peut complètement éliminer les erreurs logiques au niveau de l'application. Move peut prévenir la plupart des risques de sécurité au niveau inférieur, mais ne peut pas remplacer le développeur pour les vérifications de limites de la logique métier et la protection contre les débordements dans les calculs mathématiques.
GET6.55%
B2.77%
MOVE3.86%
CETUS11.77%
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
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)