Analyse de l'incident d'attaque de Poly Network : les détails révèlent comment l'attaquant a habilement exploité les vulnérabilités du contrat
Récemment, le protocole d'interopérabilité inter-chaînes Poly Network a été victime d'une attaque de hackers, suscitant une large attention dans l'industrie. L'équipe de sécurité a effectué une analyse approfondie de cet événement et estime que les attaquants ont modifié le keeper du contrat EthCrossChainData par le biais de données soigneusement construites, et non par la théorie selon laquelle la clé privée du keeper aurait été divulguée.
Points clés d'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 via la fonction _executeCrossChainTx.
Le propriétaire du contrat EthCrossChainData est le contrat EthCrossChainManager, qui peut appeler la fonction putCurEpochConPubKeyBytes de ce dernier pour modifier le keeper.
L'attaquant utilise la fonction verifyHeaderAndExecuteTx en passant des données soigneusement construites, ce qui amène la fonction _executeCrossChainTx à exécuter la fonction putCurEpochConPubKeyBytes, modifiant ainsi le keeper à l'adresse spécifiée.
Une fois l'adresse du keeper remplacée, l'attaquant peut librement créer des transactions pour retirer des fonds du contrat.
Restauration du processus d'attaque
L'attaquant appelle d'abord la fonction putCurEpochConPubKeyBytes via la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager pour modifier le keeper.
Une fois que le keeper a été modifié, l'attaquant commence à effectuer plusieurs 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é annulées.
Des techniques d'attaque similaires ont également été mises en œuvre sur le réseau Ethereum.
Résumé de l'événement
La clé 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 exploité ce point en construisant des données spécifiques pour modifier l'adresse du keeper, et non pas, comme on l'avait supposé auparavant, par une fuite de la clé privée du keeper.
Cet événement rappelle à l'industrie la nécessité de renforcer l'audit de sécurité des contrats intelligents, en particulier pour les protocoles complexes tels que l'interopérabilité inter-chaînes, qui nécessitent une évaluation de sécurité complète et détaillée afin de prévenir l'exploitation de vulnérabilités potentielles. En outre, la collaboration entre plusieurs parties et une réponse rapide sont également cruciales pour réduire les pertes et protéger les droits 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.
8 J'aime
Récompense
8
3
Partager
Commentaire
0/400
notSatoshi1971
· Il y a 21h
Le code est compréhensible, je ne comprends pas pourquoi il est écrit si bêtement.
Voir l'originalRépondre0
AirdropHunterKing
· Il y a 21h
Encore sans fermer le contrat, et en étant rogné par un pro, on a juste affronté la faille.
Voir l'originalRépondre0
LightningClicker
· Il y a 21h
Le bug est trop évident, on ne l'a même pas vérifié avant de le mettre en ligne ?
Poly Network a été attaqué par des hackers, utilisant habilement une vulnérabilité de contrat pour modifier le keeper.
Analyse de l'incident d'attaque de Poly Network : les détails révèlent comment l'attaquant a habilement exploité les vulnérabilités du contrat
Récemment, le protocole d'interopérabilité inter-chaînes Poly Network a été victime d'une attaque de hackers, suscitant une large attention dans l'industrie. L'équipe de sécurité a effectué une analyse approfondie de cet événement et estime que les attaquants ont modifié le keeper du contrat EthCrossChainData par le biais de données soigneusement construites, et non par la théorie selon laquelle la clé privée du keeper aurait été divulguée.
Points clés d'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 via la fonction _executeCrossChainTx.
Le propriétaire du contrat EthCrossChainData est le contrat EthCrossChainManager, qui peut appeler la fonction putCurEpochConPubKeyBytes de ce dernier pour modifier le keeper.
L'attaquant utilise la fonction verifyHeaderAndExecuteTx en passant des données soigneusement construites, ce qui amène la fonction _executeCrossChainTx à exécuter la fonction putCurEpochConPubKeyBytes, modifiant ainsi le keeper à l'adresse spécifiée.
Une fois l'adresse du keeper remplacée, l'attaquant peut librement créer des transactions pour retirer des fonds du contrat.
Restauration du processus d'attaque
L'attaquant appelle d'abord la fonction putCurEpochConPubKeyBytes via la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager pour modifier le keeper.
Une fois que le keeper a été modifié, l'attaquant commence à effectuer plusieurs 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é annulées.
Des techniques d'attaque similaires ont également été mises en œuvre sur le réseau Ethereum.
Résumé de l'événement
La clé 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 exploité ce point en construisant des données spécifiques pour modifier l'adresse du keeper, et non pas, comme on l'avait supposé auparavant, par une fuite de la clé privée du keeper.
Cet événement rappelle à l'industrie la nécessité de renforcer l'audit de sécurité des contrats intelligents, en particulier pour les protocoles complexes tels que l'interopérabilité inter-chaînes, qui nécessitent une évaluation de sécurité complète et détaillée afin de prévenir l'exploitation de vulnérabilités potentielles. En outre, la collaboration entre plusieurs parties et une réponse rapide sont également cruciales pour réduire les pertes et protéger les droits des utilisateurs.