Poly Network a été attaqué : une vulnérabilité des smart contracts a conduit à un événement de sécurité cross-chain.

robot
Création du résumé en cours

Analyse des vulnérabilités de sécurité du protocole cross-chain : Analyse de l'incident d'attaque de Poly Network

Récemment, un incident de piratage ciblant le protocole d'interopérabilité cross-chain Poly Network a suscité une large attention dans l'industrie. Selon l'analyse de l'équipe de sécurité, cette attaque n'a pas été causée par la fuite de la clé privée du keeper, mais les attaquants ont habilement profité d'une vulnérabilité dans le contrat intelligent.

Noyau d'attaque

La clé de l'attaque réside dans la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager. Cette fonction peut exécuter des transactions cross-chain spécifiques via la fonction _executeCrossChainTx. Étant donné que le propriétaire du contrat EthCrossChainData est le contrat EthCrossChainManager, ce dernier peut appeler la fonction putCurEpochConPubKeyBytes de l'autre pour modifier le keeper du contrat.

Processus d'attaque

  1. L'attaquant passe des données soigneusement conçues via la fonction verifyHeaderAndExecuteTx.

  2. Ces données font appel à la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData dans la fonction _executeCrossChainTx.

  3. Grâce aux opérations ci-dessus, l'attaquant a réussi à changer le rôle de keeper en l'adresse spécifiée.

  4. Après avoir remplacé le keeper, l'attaquant peut construire des transactions à sa guise et extraire n'importe quel montant de fonds du contrat.

Impact des attaques

Après l'attaque, en raison de la modification du keeper, les transactions normales d'autres utilisateurs ont été refusées. Cette situation s'est produite sur plusieurs réseaux blockchain, y compris la Binance Smart Chain et Ethereum.

Avertissement de sécurité

  1. La gestion des autorisations des contrats intelligents est cruciale, en particulier en ce qui concerne les droits de modification des rôles clés (comme le keeper).

  2. La sécurité des opérations cross-chain nécessite une attention particulière, car elles impliquent généralement des interactions complexes et des actifs de grande valeur.

  3. La conception des fonctions de contrat doit strictement limiter l'étendue des opérations exécutables, afin d'éviter l'apparition de vulnérabilités pouvant être exploitées par des attaquants.

  4. Il est essentiel de procéder régulièrement à des audits de sécurité et à des tests de vulnérabilité pour identifier et résoudre les problèmes potentiels.

Cet événement nous rappelle une fois de plus que dans un écosystème blockchain en rapide développement, la sécurité est toujours une priorité. Pour les développeurs et les projets, l'amélioration continue des mesures de sécurité et l'augmentation de la qualité du code sont essentielles pour protéger les actifs des utilisateurs.

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
  • 5
  • Reposter
  • Partager
Commentaire
0/400
DefiSecurityGuardvip
· 07-29 04:55
mmm typique d'une exploitation d'adresse de gardien... je m'y attendais pour être honnête. cross-chain = toujours un pot de miel en attente d'arriver
Voir l'originalRépondre0
BlockchainBouncervip
· 07-26 16:18
Encore des pigeons en difficulté!
Voir l'originalRépondre0
WenAirdropvip
· 07-26 16:12
À la fois incompétent et prétentieux
Voir l'originalRépondre0
BearMarketMonkvip
· 07-26 16:08
Encore frappé oh, regardons le spectacle.
Voir l'originalRépondre0
DAOdreamervip
· 07-26 16:08
Les audits de sécurité sont faits à la légère, les droits d'administration sont laissés à l'abandon.
Voir l'originalRépondre0
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)