Analyse de l'incident d'attaque de Hacker sur Poly Network
Récemment, le protocole d'interopérabilité inter-chaînes Poly Network a été victime d'une attaque de Hacker, suscitant un large intérêt dans l'industrie. Selon l'analyse de l'équipe de sécurité, cette attaque n'est pas due à une fuite de la clé privée du keeper, mais plutôt à ce que l'attaquant a réussi à modifier l'adresse du keeper du contrat EthCrossChainData grâce à des données soigneusement construites.
Détails de l'attaque
Le cœur de l'attaque réside dans la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager qui peut exécuter des transactions inter-chaînes spécifiques via la fonction _executeCrossChainTx.
La propriété du contrat EthCrossChainData appartient au contrat EthCrossChainManager, ce qui permet à ce dernier d'appeler la fonction putCurEpochConPubKeyBytes pour modifier le keeper.
L'attaquant exploite les caractéristiques de la fonction verifyHeaderAndExecuteTx en passant des données soigneusement conçues, ce qui amène la fonction _executeCrossChainTx à appeler la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData, modifiant ainsi le rôle de keeper à l'adresse spécifiée par l'attaquant.
Une fois le remplacement du rôle de keeper terminé, l'attaquant peut librement construire des transactions et retirer n'importe quel montant de fonds du contrat.
Processus d'attaque
L'attaquant appelle d'abord la fonction putCurEpochConPubKeyBytes via la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager, réussissant ainsi à changer le keeper.
Ensuite, l'attaquant a commencé à mettre en œuvre une série de transactions d'attaque pour retirer des fonds du contrat.
En raison de la modification du keeper, les transactions normales d'autres utilisateurs ont été refusées.
Ce mode d'attaque ne se produit pas seulement sur la chaîne 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, tandis que la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager peut exécuter les données fournies par l'utilisateur. Les attaquants ont justement exploité cette vulnérabilité de conception en utilisant des données soigneusement construites pour modifier avec succès l'adresse du keeper du contrat EthCrossChainData, permettant ainsi le vol de fonds. Cet incident nous rappelle une fois de plus que, dans la conception des contrats intelligents, la gestion des autorisations et la sécurité des appels de fonction sont cruciales.
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.
14 J'aime
Récompense
14
7
Reposter
Partager
Commentaire
0/400
GasDevourer
· Il y a 10h
Le contrat a encore été exploité, c'est terrible.
Voir l'originalRépondre0
RetailTherapist
· 08-09 15:39
Une autre victime d'attaque est partie.
Voir l'originalRépondre0
StableGeniusDegen
· 08-09 15:31
C'est encore frais~
Voir l'originalRépondre0
NotSatoshi
· 08-09 15:28
Encore un Hacker qui fait des siennes.
Voir l'originalRépondre0
ShibaSunglasses
· 08-09 15:23
C'est encore un coup de noir sur noir, n'est-ce pas ?
Voir l'originalRépondre0
SorryRugPulled
· 08-09 15:20
Encore un Rug Pull ? J'y suis déjà habitué.
Voir l'originalRépondre0
RektButSmiling
· 08-09 15:10
Encore un problème ? Le keeper n'est plus sûr non plus.
Poly Network a été attaqué par un Hacker : le keeper du contrat EthCrossChainData a été altéré.
Analyse de l'incident d'attaque de Hacker sur Poly Network
Récemment, le protocole d'interopérabilité inter-chaînes Poly Network a été victime d'une attaque de Hacker, suscitant un large intérêt dans l'industrie. Selon l'analyse de l'équipe de sécurité, cette attaque n'est pas due à une fuite de la clé privée du keeper, mais plutôt à ce que l'attaquant a réussi à modifier l'adresse du keeper du contrat EthCrossChainData grâce à des données soigneusement construites.
Détails de l'attaque
Le cœur de l'attaque réside dans la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager qui peut exécuter des transactions inter-chaînes spécifiques via la fonction _executeCrossChainTx.
La propriété du contrat EthCrossChainData appartient au contrat EthCrossChainManager, ce qui permet à ce dernier d'appeler la fonction putCurEpochConPubKeyBytes pour modifier le keeper.
L'attaquant exploite les caractéristiques de la fonction verifyHeaderAndExecuteTx en passant des données soigneusement conçues, ce qui amène la fonction _executeCrossChainTx à appeler la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData, modifiant ainsi le rôle de keeper à l'adresse spécifiée par l'attaquant.
Une fois le remplacement du rôle de keeper terminé, l'attaquant peut librement construire des transactions et retirer n'importe quel montant de fonds du contrat.
Processus d'attaque
L'attaquant appelle d'abord la fonction putCurEpochConPubKeyBytes via la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager, réussissant ainsi à changer le keeper.
Ensuite, l'attaquant a commencé à mettre en œuvre une série de transactions d'attaque pour retirer des fonds du contrat.
En raison de la modification du keeper, les transactions normales d'autres utilisateurs ont été refusées.
Ce mode d'attaque ne se produit pas seulement sur la chaîne 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, tandis que la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager peut exécuter les données fournies par l'utilisateur. Les attaquants ont justement exploité cette vulnérabilité de conception en utilisant des données soigneusement construites pour modifier avec succès l'adresse du keeper du contrat EthCrossChainData, permettant ainsi le vol de fonds. Cet incident nous rappelle une fois de plus que, dans la conception des contrats intelligents, la gestion des autorisations et la sécurité des appels de fonction sont cruciales.