Analyse de l'incident d'attaque du protocole Poly Network
Récemment, le protocole d'interopérabilité inter-chaînes Poly Network est devenu la cible d'une attaque de hackers, suscitant une large attention dans l'industrie. Les experts en sécurité ont mené une analyse approfondie de cet événement, révélant les méthodes spécifiques des attaquants.
Le problème central de cette attaque réside dans la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager. Cette fonction peut exécuter des transactions inter-chaînes 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 ce dernier pour modifier le keeper du contrat.
L'attaquant a exploité cette vulnérabilité de conception en passant des données soigneusement construites à la fonction verifyHeaderAndExecuteTx, ce qui a conduit à l'exécution de l'appel à la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData par la fonction _executeCrossChainTx, modifiant ainsi le rôle de keeper pour l'adresse spécifiée par l'attaquant. Une fois cette étape complétée, l'attaquant pouvait construire des transactions à sa guise et extraire une quantité quelconque de fonds du contrat.
Le processus d'attaque spécifique est le suivant :
L'attaquant a d'abord verrouillé le contrat cible.
En appelant la fonction putCurEpochConPubKeyBytes via la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager, le keeper a été modifié.
Ensuite, plusieurs transactions d'attaque ont été effectuées pour retirer des fonds du protocole.
En raison de la modification du keeper, les transactions normales des autres utilisateurs ont immédiatement été refusées.
Il convient de noter que cet incident n'a pas été causé par la fuite de la clé privée du keeper, mais plutôt par l'exploitation habile des défauts de conception du contrat par les attaquants. Ce cas souligne encore une fois l'importance des audits de sécurité des contrats intelligents, en particulier pour des protocoles complexes entre chaînes.
L'équipe de développement et les experts en sécurité doivent tirer des leçons de cet incident et renforcer l'examen de la gestion des autorisations de contrat et de la logique des appels de fonctions afin de prévenir la survenue d'attaques similaires. En même temps, il est également conseillé aux utilisateurs de rester vigilants lors de l'utilisation de nouveaux protocoles DeFi et de prêter attention à la prévention des risques.
Voir l'original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
5 J'aime
Récompense
5
3
Partager
Commentaire
0/400
SerumSquirrel
· Il y a 19h
Encore tombé dans un piège.
Voir l'originalRépondre0
ParanoiaKing
· Il y a 19h
On a déjà vu cette vulnérabilité de sécurité, ceux qui comprennent comprennent.
Poly Network a été attaqué par un Hacker : une vulnérabilité dans la conception du contrat a conduit au retrait de fonds.
Analyse de l'incident d'attaque du protocole Poly Network
Récemment, le protocole d'interopérabilité inter-chaînes Poly Network est devenu la cible d'une attaque de hackers, suscitant une large attention dans l'industrie. Les experts en sécurité ont mené une analyse approfondie de cet événement, révélant les méthodes spécifiques des attaquants.
Le problème central de cette attaque réside dans la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager. Cette fonction peut exécuter des transactions inter-chaînes 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 ce dernier pour modifier le keeper du contrat.
L'attaquant a exploité cette vulnérabilité de conception en passant des données soigneusement construites à la fonction verifyHeaderAndExecuteTx, ce qui a conduit à l'exécution de l'appel à la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData par la fonction _executeCrossChainTx, modifiant ainsi le rôle de keeper pour l'adresse spécifiée par l'attaquant. Une fois cette étape complétée, l'attaquant pouvait construire des transactions à sa guise et extraire une quantité quelconque de fonds du contrat.
Le processus d'attaque spécifique est le suivant :
L'attaquant a d'abord verrouillé le contrat cible.
En appelant la fonction putCurEpochConPubKeyBytes via la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager, le keeper a été modifié.
Ensuite, plusieurs transactions d'attaque ont été effectuées pour retirer des fonds du protocole.
En raison de la modification du keeper, les transactions normales des autres utilisateurs ont immédiatement été refusées.
Il convient de noter que cet incident n'a pas été causé par la fuite de la clé privée du keeper, mais plutôt par l'exploitation habile des défauts de conception du contrat par les attaquants. Ce cas souligne encore une fois l'importance des audits de sécurité des contrats intelligents, en particulier pour des protocoles complexes entre chaînes.
L'équipe de développement et les experts en sécurité doivent tirer des leçons de cet incident et renforcer l'examen de la gestion des autorisations de contrat et de la logique des appels de fonctions afin de prévenir la survenue d'attaques similaires. En même temps, il est également conseillé aux utilisateurs de rester vigilants lors de l'utilisation de nouveaux protocoles DeFi et de prêter attention à la prévention des risques.