Le vol de 220 millions de dollars du protocole Cetus qui a choqué le cercle des cryptomonnaies il y a quelques jours a suscité des discussions de tous les horizons. L’équipe de sécurité de l’information Slow Fog a également publié un rapport complet de l’ensemble de l’incident, et l’équipe Slow Fog a déclaré que l’attaque a démontré la puissance de la vulnérabilité de débordement mathématique. L’attaquant sélectionne des paramètres spécifiques grâce à des calculs précis et exploite les failles de la fonction checked_shlw pour obtenir des liquidités d’une valeur de plusieurs milliards au prix d'1 jeton. Il s’agit d’une attaque mathématique extrêmement sophistiquée qui conseille aux développeurs de vérifier rigoureusement les conditions limites de toutes les fonctions mathématiques dans le développement de contrats intelligents.
Slow Mist : Le cœur de l'événement est une vulnérabilité dans la vérification de débordement.
L'équipe de Slow Mist a déclaré que le cœur de cet incident réside dans le fait que les attaquants ont soigneusement construit des paramètres pour provoquer un dépassement de capacité tout en contournant la détection, permettant ainsi d'échanger une très petite quantité de jetons contre d'énormes actifs de liquidité. Cela est cohérent avec l'analyse précédente de @neeksec.
( De la vulnérabilité du protocole à la dialectique décentralisée : explication détaillée des événements de Cetus, la sécurité du langage MOVE a-t-elle été ébranlée ? )
L'attaquant a d'abord emprunté 10 020 000 jetons haSUI via un prêt flash, faisant chuter rapidement le prix dans la piscine haSUI/SUI de 99,9 %. Ensuite, il a ajouté de la liquidité dans la plage de ticks de 300 000 à 300 200, cette plage de prix n'ayant qu'une largeur de 1 %.
Ensuite, il y a la faille clé de l'événement, l'attaquant prétend avoir ajouté une liquidité massive ( supérieure à 10 à la puissance 27 ), mais en raison d'une erreur de codage de la fonction checked_shlw, le contrat ne lui a facturé qu'un jeton haSUI.
Formule de liquidité requise (Source : Slow Mist Technology)
L'analyse de Slow Mist montre que les attaquants ont pu échanger un jeton contre une énorme liquidité. La raison principale en est une vulnérabilité dans la vérification de débordement dans la fonction get_delta_a, où checked_shlw présente un défaut. Les attaquants ont exploité ce point, ce qui a entraîné une grave déviation dans le calcul du haSUI réel à ajouter. Comme le débordement n'a pas été détecté, le système a mal évalué la quantité de haSUI nécessaire, ce qui a permis aux attaquants d'échanger une quantité minimale de jetons contre une grande quantité d'actifs de liquidité.
Toute valeur d'entrée inférieure à 0xffffffffffffffff << 192 contournera le contrôle de débordement. Cependant, lorsque ces valeurs sont décalées à gauche de 64 bits, le résultat dépasse la plage de représentation de u256, entraînant une troncature des données de poids fort, ce qui donne un résultat bien inférieur à la valeur théorique. Ainsi, le système sous-estimera le nombre de haSUI requis dans les calculs ultérieurs.
Le code du problème ( provient de : Slow Mist Technology )
L'attaquant a retiré la liquidité en trois fois, obtenant au total 20 040 000 jetons haSUI et plus de 5 760 000 SUI. Enfin, l'attaquant a remboursé le prêt éclair, réalisant un bénéfice net de plus de 230 millions de dollars.
Cetus a réparé le code
Après coup, Cetus a corrigé le code, incluant :
Corrigez 0xffffffffffffffff << 192 à la valeur seuil correcte 1 << 192.
Fixez la condition de jugement de n > masque à n > = masque.
S'assurer que lors d'un décalage à gauche de 64 bits, une éventuelle débordement soit correctement détectée et que le drapeau de débordement soit renvoyé.
La fonction checked_shlw réparée (Source : Slow Mist Technology) Équipe Slow Mist : Les développeurs doivent vérifier strictement toutes les conditions limites des fonctions mathématiques.
Slow Mist indique que l'attaquant avait déjà préparé les frais de gas il y a deux jours, et qu'il y a eu une tentative avant l'attaque, mais elle a échoué. Actuellement, les fonds de l'adresse Sui de l'attaquant ont été gelés, et l'adresse EVM a également été ajoutée à la liste noire par Slow Mist pour un suivi.
L'équipe Slow Mist a déclaré que cette attaque a démontré la puissance des vulnérabilités de débordement mathématique. Les attaquants ont choisi des paramètres spécifiques grâce à un calcul précis, exploitant le défaut de la fonction checked_shlw pour obtenir une liquidité d'une valeur de plusieurs milliards pour le coût d'un jeton. Il s'agit d'une attaque mathématique extrêmement précise, et l'équipe de sécurité Slow Mist recommande aux développeurs de vérifier rigoureusement toutes les conditions limites des fonctions mathématiques lors du développement de contrats intelligents.
Cet article sur l'univers de la cryptomonnaie : Rapport sur l'incident de SlowMist : comment les hackers ont utilisé des vulnérabilités du code pour voler 2,2 millions de dollars à Cetus. Publié pour la première fois sur Chaîne d'actualités ABMedia.
Le contenu est fourni à titre de référence uniquement, il ne s'agit pas d'une sollicitation ou d'une offre. Aucun conseil en investissement, fiscalité ou juridique n'est fourni. Consultez l'Avertissement pour plus de détails sur les risques.
l'univers de la cryptomonnaie版瞞天過海?慢霧事件報告:駭客如何利用代碼漏洞洗劫 Cetus 2.2 億美元
Le vol de 220 millions de dollars du protocole Cetus qui a choqué le cercle des cryptomonnaies il y a quelques jours a suscité des discussions de tous les horizons. L’équipe de sécurité de l’information Slow Fog a également publié un rapport complet de l’ensemble de l’incident, et l’équipe Slow Fog a déclaré que l’attaque a démontré la puissance de la vulnérabilité de débordement mathématique. L’attaquant sélectionne des paramètres spécifiques grâce à des calculs précis et exploite les failles de la fonction checked_shlw pour obtenir des liquidités d’une valeur de plusieurs milliards au prix d'1 jeton. Il s’agit d’une attaque mathématique extrêmement sophistiquée qui conseille aux développeurs de vérifier rigoureusement les conditions limites de toutes les fonctions mathématiques dans le développement de contrats intelligents.
Slow Mist : Le cœur de l'événement est une vulnérabilité dans la vérification de débordement.
L'équipe de Slow Mist a déclaré que le cœur de cet incident réside dans le fait que les attaquants ont soigneusement construit des paramètres pour provoquer un dépassement de capacité tout en contournant la détection, permettant ainsi d'échanger une très petite quantité de jetons contre d'énormes actifs de liquidité. Cela est cohérent avec l'analyse précédente de @neeksec.
( De la vulnérabilité du protocole à la dialectique décentralisée : explication détaillée des événements de Cetus, la sécurité du langage MOVE a-t-elle été ébranlée ? )
L'attaquant a d'abord emprunté 10 020 000 jetons haSUI via un prêt flash, faisant chuter rapidement le prix dans la piscine haSUI/SUI de 99,9 %. Ensuite, il a ajouté de la liquidité dans la plage de ticks de 300 000 à 300 200, cette plage de prix n'ayant qu'une largeur de 1 %.
Ensuite, il y a la faille clé de l'événement, l'attaquant prétend avoir ajouté une liquidité massive ( supérieure à 10 à la puissance 27 ), mais en raison d'une erreur de codage de la fonction checked_shlw, le contrat ne lui a facturé qu'un jeton haSUI.
Formule de liquidité requise (Source : Slow Mist Technology)
L'analyse de Slow Mist montre que les attaquants ont pu échanger un jeton contre une énorme liquidité. La raison principale en est une vulnérabilité dans la vérification de débordement dans la fonction get_delta_a, où checked_shlw présente un défaut. Les attaquants ont exploité ce point, ce qui a entraîné une grave déviation dans le calcul du haSUI réel à ajouter. Comme le débordement n'a pas été détecté, le système a mal évalué la quantité de haSUI nécessaire, ce qui a permis aux attaquants d'échanger une quantité minimale de jetons contre une grande quantité d'actifs de liquidité.
Toute valeur d'entrée inférieure à 0xffffffffffffffff << 192 contournera le contrôle de débordement. Cependant, lorsque ces valeurs sont décalées à gauche de 64 bits, le résultat dépasse la plage de représentation de u256, entraînant une troncature des données de poids fort, ce qui donne un résultat bien inférieur à la valeur théorique. Ainsi, le système sous-estimera le nombre de haSUI requis dans les calculs ultérieurs.
Le code du problème ( provient de : Slow Mist Technology )
L'attaquant a retiré la liquidité en trois fois, obtenant au total 20 040 000 jetons haSUI et plus de 5 760 000 SUI. Enfin, l'attaquant a remboursé le prêt éclair, réalisant un bénéfice net de plus de 230 millions de dollars.
Cetus a réparé le code
Après coup, Cetus a corrigé le code, incluant :
Corrigez 0xffffffffffffffff << 192 à la valeur seuil correcte 1 << 192.
Fixez la condition de jugement de n > masque à n > = masque.
S'assurer que lors d'un décalage à gauche de 64 bits, une éventuelle débordement soit correctement détectée et que le drapeau de débordement soit renvoyé.
La fonction checked_shlw réparée (Source : Slow Mist Technology) Équipe Slow Mist : Les développeurs doivent vérifier strictement toutes les conditions limites des fonctions mathématiques.
Slow Mist indique que l'attaquant avait déjà préparé les frais de gas il y a deux jours, et qu'il y a eu une tentative avant l'attaque, mais elle a échoué. Actuellement, les fonds de l'adresse Sui de l'attaquant ont été gelés, et l'adresse EVM a également été ajoutée à la liste noire par Slow Mist pour un suivi.
L'équipe Slow Mist a déclaré que cette attaque a démontré la puissance des vulnérabilités de débordement mathématique. Les attaquants ont choisi des paramètres spécifiques grâce à un calcul précis, exploitant le défaut de la fonction checked_shlw pour obtenir une liquidité d'une valeur de plusieurs milliards pour le coût d'un jeton. Il s'agit d'une attaque mathématique extrêmement précise, et l'équipe de sécurité Slow Mist recommande aux développeurs de vérifier rigoureusement toutes les conditions limites des fonctions mathématiques lors du développement de contrats intelligents.
Cet article sur l'univers de la cryptomonnaie : Rapport sur l'incident de SlowMist : comment les hackers ont utilisé des vulnérabilités du code pour voler 2,2 millions de dollars à Cetus. Publié pour la première fois sur Chaîne d'actualités ABMedia.