GMX a été attaqué par des hackers, avec une perte de plus de 40 millions de dollars
Récemment, une célèbre plateforme d'échange décentralisée a subi une attaque de Hacker, entraînant des pertes de plus de 40 millions de dollars. Les attaquants ont habilement exploité une vulnérabilité de réentrance et ont réalisé cette attaque en effectuant des opérations à la baisse alors que la fonctionnalité de levier était activée sur la plateforme.
Le problème central de l'attaque réside dans l'utilisation incorrecte de la fonction executeDecreaseOrder. Le premier paramètre de cette fonction aurait dû être l'adresse d'un compte externe, mais l'attaquant a passé une adresse de contrat intelligent. Cela a permis à l'attaquant de réintégrer le système pendant le processus de rachat, manipulant l'état interne, et les actifs finalement rachetés dépassent de loin la valeur réelle de GLP qu'il détenait.
En temps normal, le GLP en tant que jeton de fournisseur de liquidité représente la part des utilisateurs dans les actifs du coffre. Lorsque les utilisateurs échangent leur GLP, le système calcule la quantité d'actifs à retourner en fonction de la proportion de GLP détenue par l'utilisateur et du montant total des actifs gérés (AUM). Le calcul de l'AUM implique plusieurs facteurs, y compris la valeur totale de tous les pools de jetons, les gains et pertes non réalisés des positions courtes globales, etc.
Cependant, après l'activation de la fonction de levier, le système a présenté une faille. L'attaquant a ouvert une position courte importante en WBTC avant de racheter le GLP. Étant donné que l'ouverture d'une position courte a immédiatement augmenté la taille totale des positions courtes, sans que le prix ne change, le système a comptabilisé cette perte non réalisée dans les "actifs" de la trésorerie, ce qui a conduit à une augmentation artificielle de l'AUM. Bien que la trésorerie n'ait pas réellement obtenu de valeur supplémentaire, le calcul du rachat était basé sur cet AUM gonflé, permettant à l'attaquant d'obtenir des actifs bien supérieurs à ce qu'il devait.
Cette attaque a révélé de graves défauts dans le mécanisme de levier et la conception de protection contre la réentrance de la plateforme. Le problème central réside dans le fait que la logique de rachat des actifs fait trop confiance à l'AUM, sans effectuer de vérifications de sécurité suffisamment prudentes sur ses composants (comme les pertes non réalisées). De plus, l'hypothèse sur l'identité de l'appelant dans les fonctions clés manque de vérification obligatoire.
Cet événement rappelle une fois de plus aux développeurs de projets blockchain qu'ils doivent s'assurer que l'état du système ne peut pas être manipulé lors d'opérations sensibles liées aux fonds. En particulier, lors de l'introduction de logiques financières complexes (telles que l'effet de levier et les produits dérivés), il est impératif de se prémunir contre les risques systémiques liés aux réentrées et à la pollution de l'état. Pour les utilisateurs, il est également important de rester vigilants et de reconnaître que même les projets bien connus peuvent présenter des vulnérabilités de sécurité, et qu'il est nécessaire d'évaluer prudemment les risques lors de la participation à des activités DeFi.
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.
GMX a été attaqué par des hackers, une vulnérabilité de levier a entraîné des pertes de plus de 40 millions de dollars.
GMX a été attaqué par des hackers, avec une perte de plus de 40 millions de dollars
Récemment, une célèbre plateforme d'échange décentralisée a subi une attaque de Hacker, entraînant des pertes de plus de 40 millions de dollars. Les attaquants ont habilement exploité une vulnérabilité de réentrance et ont réalisé cette attaque en effectuant des opérations à la baisse alors que la fonctionnalité de levier était activée sur la plateforme.
Le problème central de l'attaque réside dans l'utilisation incorrecte de la fonction executeDecreaseOrder. Le premier paramètre de cette fonction aurait dû être l'adresse d'un compte externe, mais l'attaquant a passé une adresse de contrat intelligent. Cela a permis à l'attaquant de réintégrer le système pendant le processus de rachat, manipulant l'état interne, et les actifs finalement rachetés dépassent de loin la valeur réelle de GLP qu'il détenait.
En temps normal, le GLP en tant que jeton de fournisseur de liquidité représente la part des utilisateurs dans les actifs du coffre. Lorsque les utilisateurs échangent leur GLP, le système calcule la quantité d'actifs à retourner en fonction de la proportion de GLP détenue par l'utilisateur et du montant total des actifs gérés (AUM). Le calcul de l'AUM implique plusieurs facteurs, y compris la valeur totale de tous les pools de jetons, les gains et pertes non réalisés des positions courtes globales, etc.
Cependant, après l'activation de la fonction de levier, le système a présenté une faille. L'attaquant a ouvert une position courte importante en WBTC avant de racheter le GLP. Étant donné que l'ouverture d'une position courte a immédiatement augmenté la taille totale des positions courtes, sans que le prix ne change, le système a comptabilisé cette perte non réalisée dans les "actifs" de la trésorerie, ce qui a conduit à une augmentation artificielle de l'AUM. Bien que la trésorerie n'ait pas réellement obtenu de valeur supplémentaire, le calcul du rachat était basé sur cet AUM gonflé, permettant à l'attaquant d'obtenir des actifs bien supérieurs à ce qu'il devait.
Cette attaque a révélé de graves défauts dans le mécanisme de levier et la conception de protection contre la réentrance de la plateforme. Le problème central réside dans le fait que la logique de rachat des actifs fait trop confiance à l'AUM, sans effectuer de vérifications de sécurité suffisamment prudentes sur ses composants (comme les pertes non réalisées). De plus, l'hypothèse sur l'identité de l'appelant dans les fonctions clés manque de vérification obligatoire.
Cet événement rappelle une fois de plus aux développeurs de projets blockchain qu'ils doivent s'assurer que l'état du système ne peut pas être manipulé lors d'opérations sensibles liées aux fonds. En particulier, lors de l'introduction de logiques financières complexes (telles que l'effet de levier et les produits dérivés), il est impératif de se prémunir contre les risques systémiques liés aux réentrées et à la pollution de l'état. Pour les utilisateurs, il est également important de rester vigilants et de reconnaître que même les projets bien connus peuvent présenter des vulnérabilités de sécurité, et qu'il est nécessaire d'évaluer prudemment les risques lors de la participation à des activités DeFi.