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
L'attaquant passe des données soigneusement conçues via la fonction verifyHeaderAndExecuteTx.
Ces données font appel à la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData dans la fonction _executeCrossChainTx.
Grâce aux opérations ci-dessus, l'attaquant a réussi à changer le rôle de keeper en l'adresse spécifiée.
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é
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).
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.
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.
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.
19 J'aime
Récompense
19
5
Reposter
Partager
Commentaire
0/400
DefiSecurityGuard
· 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
BlockchainBouncer
· 07-26 16:18
Encore des pigeons en difficulté!
Voir l'originalRépondre0
WenAirdrop
· 07-26 16:12
À la fois incompétent et prétentieux
Voir l'originalRépondre0
BearMarketMonk
· 07-26 16:08
Encore frappé oh, regardons le spectacle.
Voir l'originalRépondre0
DAOdreamer
· 07-26 16:08
Les audits de sécurité sont faits à la légère, les droits d'administration sont laissés à l'abandon.
Poly Network a été attaqué : une vulnérabilité des smart contracts a conduit à un événement de sécurité cross-chain.
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
L'attaquant passe des données soigneusement conçues via la fonction verifyHeaderAndExecuteTx.
Ces données font appel à la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData dans la fonction _executeCrossChainTx.
Grâce aux opérations ci-dessus, l'attaquant a réussi à changer le rôle de keeper en l'adresse spécifiée.
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é
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).
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.
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.
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.