
Analyse rétrospective du piratage de MOBOX
TechFlow SélectionTechFlow Sélection

Analyse rétrospective du piratage de MOBOX
Le 14 mars 2024, le protocole de prêt décentralisé MOBOX sur la chaîne Optimism a été attaqué, subissant une perte d'environ 750 000 dollars américains.
Rédaction : Doris
Contexte
Le 14 mars 2024, selon l'alerte du système de surveillance de sécurité MistEye de SlowMist, le protocole de prêt décentralisé MOBOX sur la chaîne Optimism a été attaqué, subissant une perte d'environ 750 000 dollars américains. L'équipe de sécurité de SlowMist a analysé cet incident et partage ci-dessous ses résultats :

(https://twitter.com/SlowMist_Team/status/1768167772230713410)
Informations connexes
Adresse de l'attaquant :
0x4e2c6096985e0b2825d06c16f1c8cdc559c1d6f8
0x96f004c81d2c7b907f92c45922d38ab870a53945
Adresse du contrat attaqué :
0xae7b6514af26bcb2332fea53b8dd57bc13a7838e
Transaction d'attaque :
0x4ec3061724ca9f0b8d400866dd83b92647ad8c943a1c0ae9ae6c9bd1ef789417
Cœur de l'attaque
L'attaque repose principalement sur deux éléments clés. Premièrement, l'attaquant exploite une vulnérabilité dans la fonction borrow() du contrat : chaque appel à cette fonction déclenche une récompense versée à l'adresse du parrain. Étant donné que le montant de la récompense est calculé en fonction du nombre de jetons transférés, l'attaquant peut transférer à nouveau les récompenses reçues vers le contrat attaqué afin d’augmenter progressivement le montant emprunté lors des appels suivants. Deuxièmement, chaque appel à la fonction borrow() entraîne la destruction d'une partie des jetons MO présents dans le pool, ce qui fait continuellement monter leur prix. En combinant ces deux mécanismes, l'attaquant parvient à générer des profits croissants via des prêts successifs.
Analyse des transactions
On observe que l'ensemble de l'attaque consiste essentiellement en des appels répétés à la fonction vulnérable borrow(), suivis immédiatement d'appels à la fonction redeem() pour retirer les fonds, puis en un transfert des jetons attribués au parrain vers le contrat contrôlé par l'attaquant.

En examinant la fonction borrow(), on constate qu’elle brûle systématiquement une partie des jetons MO présents dans le pool à chaque appel.

Or, la quantité de USDT prêtée est calculée en fonction du prix des jetons MO dans le pool. Comme ce prix augmente continuellement suite à leur destruction, l'attaquant finit par pouvoir emprunter de grandes quantités de USDT en n'engageant qu'une très faible quantité de jetons MO.

Par ailleurs, chaque opération d'emprunt distribue une prime de récompense à une adresse de parrainage, dont le montant est calculé en fonction du nombre de jetons MO transmis.

Étant donné que l'adresse du parrain est également contrôlée par l'attaquant (0x96f004c81d2c7b907f92c45922d38ab870a53945), celui-ci peut, après avoir effectué l'opération d'emprunt, récupérer cette récompense et la réinjecter dans le processus, augmentant ainsi progressivement le montant pouvant être emprunté lors des prochaines itérations, ainsi que les primes perçues.

Grâce à ces boucles successives, l'attaquant parvient à faire grimper fortement le prix des jetons MO, permettant ainsi d'emprunter une grande quantité de USDT avec un volume minimal de MO, puis de convertir directement tous les USDT obtenus depuis le pool déséquilibré avant de s’échapper avec ses gains.

Conclusion
Le cœur de cette attaque réside dans l'exploitation du mécanisme de brûlage des jetons MO contenu dans la fonction borrow(). L'attaquant a pu emprunter successivement des actifs, faire monter artificiellement le prix des jetons dans le pool tout en percevant des récompenses de parrainage, puis transférer ces récompenses vers son propre contrôle afin de relancer le cycle, amplifiant ainsi progressivement ses gains et manipulant les prix. L'équipe de sécurité de SlowMist recommande vivement aux projets d'introduire des délais de verrouillage dans des fonctions similaires, et de concevoir leurs modèles de tarification des prêts en tenant compte de multiples facteurs, afin d'éviter la répétition de tels incidents.
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News










