Analyse de l'incident d'attaque de Poly Network par des hackers
Récemment, un incident de cyberattaque contre le protocole d'interopérabilité cross-chain Poly Network a suscité une large attention. 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 par le fait que l'attaquant a réussi à modifier l'adresse du keeper du contrat EthCrossChainData grâce à des données soigneusement construites.
Principe de l'attaque
Le cœur de l'attaque réside dans l'exploitation d'une vulnérabilité dans le contrat EthCrossChainManager. La fonction verifyHeaderAndExecuteTx de ce contrat peut exécuter des transactions inter-chaînes 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.
L'attaquant a réussi à faire exécuter la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData en passant des données soigneusement conçues à la fonction verifyHeaderAndExecuteTx, ce qui a permis de modifier le rôle de keeper à l'adresse spécifiée par l'attaquant. Une fois cette étape accomplie, l'attaquant peut alors construire des transactions à sa guise et retirer un montant quelconque de fonds du contrat.
Processus d'attaque
L'attaquant a d'abord appelé la fonction putCurEpochConPubKeyBytes via la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager, modifiant ainsi le keeper.
Ensuite, l'attaquant a effectué une série de transactions d'attaque pour retirer des fonds du contrat.
Après l'attaque, en raison de la modification du keeper, les transactions normales des autres utilisateurs ont été refusées.
Ce mode d'attaque ne se produit pas seulement sur la chaîne intelligente de Binance (BSC), mais des opérations similaires ont également été observées sur le réseau Ethereum.
Conclusion
La cause fondamentale de cette attaque réside dans le fait que le keeper du contrat EthCrossChainData peut être modifié par le contrat EthCrossChainManager, dont la fonction verifyHeaderAndExecuteTx peut exécuter les données fournies par l'utilisateur. L'attaquant a justement exploité ce défaut de conception en construisant des données spécifiques pour modifier le keeper du contrat EthCrossChainData, ce qui a permis le vol de fonds.
Cet événement souligne encore une fois l'importance de la sécurité des contrats intelligents, en particulier lorsqu'il s'agit d'opérations inter-chaînes et de gestion des rôles clés, nécessitant un design plus prudent et un audit de sécurité complet. Pour les équipes de projets blockchain, il est crucial d'améliorer continuellement les mécanismes de sécurité et de détecter et corriger rapidement les vulnérabilités potentielles. De plus, pour les utilisateurs ordinaires, il est également important de rester vigilants lorsqu'ils participent à de nouveaux projets blockchain et de prêter attention à l'évaluation de la sécurité du projet et aux rapports d'audit.
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.
10 J'aime
Récompense
10
4
Partager
Commentaire
0/400
pvt_key_collector
· 08-01 16:56
Une autre énorme faille
Voir l'originalRépondre0
HodlOrRegret
· 07-31 04:26
Le glas sonne de manière assourdissante
Voir l'originalRépondre0
Anon32942
· 07-31 04:14
Encore des risques de cross-chain.
Voir l'originalRépondre0
CommunitySlacker
· 07-31 04:08
Encore en train de tondre des pigeons, n'est-ce pas ?
Poly Network a été attaqué par un Hacker, une vulnérabilité dans le contrat EthCrossChainManager a entraîné une perte de fonds.
Analyse de l'incident d'attaque de Poly Network par des hackers
Récemment, un incident de cyberattaque contre le protocole d'interopérabilité cross-chain Poly Network a suscité une large attention. 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 par le fait que l'attaquant a réussi à modifier l'adresse du keeper du contrat EthCrossChainData grâce à des données soigneusement construites.
Principe de l'attaque
Le cœur de l'attaque réside dans l'exploitation d'une vulnérabilité dans le contrat EthCrossChainManager. La fonction verifyHeaderAndExecuteTx de ce contrat peut exécuter des transactions inter-chaînes 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.
L'attaquant a réussi à faire exécuter la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData en passant des données soigneusement conçues à la fonction verifyHeaderAndExecuteTx, ce qui a permis de modifier le rôle de keeper à l'adresse spécifiée par l'attaquant. Une fois cette étape accomplie, l'attaquant peut alors construire des transactions à sa guise et retirer un montant quelconque de fonds du contrat.
Processus d'attaque
L'attaquant a d'abord appelé la fonction putCurEpochConPubKeyBytes via la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager, modifiant ainsi le keeper.
Ensuite, l'attaquant a effectué une série de transactions d'attaque pour retirer des fonds du contrat.
Après l'attaque, en raison de la modification du keeper, les transactions normales des autres utilisateurs ont été refusées.
Ce mode d'attaque ne se produit pas seulement sur la chaîne intelligente de Binance (BSC), mais des opérations similaires ont également été observées sur le réseau Ethereum.
Conclusion
La cause fondamentale de cette attaque réside dans le fait que le keeper du contrat EthCrossChainData peut être modifié par le contrat EthCrossChainManager, dont la fonction verifyHeaderAndExecuteTx peut exécuter les données fournies par l'utilisateur. L'attaquant a justement exploité ce défaut de conception en construisant des données spécifiques pour modifier le keeper du contrat EthCrossChainData, ce qui a permis le vol de fonds.
Cet événement souligne encore une fois l'importance de la sécurité des contrats intelligents, en particulier lorsqu'il s'agit d'opérations inter-chaînes et de gestion des rôles clés, nécessitant un design plus prudent et un audit de sécurité complet. Pour les équipes de projets blockchain, il est crucial d'améliorer continuellement les mécanismes de sécurité et de détecter et corriger rapidement les vulnérabilités potentielles. De plus, pour les utilisateurs ordinaires, il est également important de rester vigilants lorsqu'ils participent à de nouveaux projets blockchain et de prêter attention à l'évaluation de la sécurité du projet et aux rapports d'audit.