Poly Network a été attaqué par un Hacker : une vulnérabilité du contrat a conduit à la falsification du keeper.

robot
Création du résumé en cours

Analyse de l'incident de cyberattaque de Poly Network

Récemment, le protocole d'interopérabilité cross-chain Poly Network a subi une attaque de hacker, suscitant une large attention. 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 les attaquants ont utilisé des données habilement construites pour exploiter une vulnérabilité du contrat et modifier l'adresse du keeper du contrat EthCrossChainData.

Attaque du noyau

La clé de l'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. Comme le propriétaire du contrat EthCrossChainData est le contrat EthCrossChainManager, ce dernier a le droit d'appeler la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData pour modifier le keeper.

L'attaquant exploite ce mécanisme en passant des données soigneusement conçues à la fonction verifyHeaderAndExecuteTx, ce qui a conduit à l'exécution de l'appel de fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData par la fonction _executeCrossChainTx, modifiant ainsi le rôle de keeper en l'adresse spécifiée par l'attaquant.

Processus d'attaque

  1. L'attaquant a d'abord appelé la fonction putCurEpochConPubKeyBytes via la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager, modifiant ainsi le keeper.

  2. Après avoir terminé le remplacement de l'adresse du rôle de keeper, l'attaquant peut librement construire des transactions et extraire n'importe quel montant de fonds du contrat.

  3. Après l'attaque, en raison des modifications apportées au keeper, les transactions normales des autres utilisateurs ont été refusées.

  4. Ce mode d'attaque n'a pas seulement été mis en œuvre sur la chaîne BSC, des opérations similaires se sont également produites 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, et que la fonction verifyHeaderAndExecuteTx de ce contrat peut exécuter les données fournies par l'utilisateur. L'attaquant a exploité ce défaut de conception en construisant des données spécifiques pour modifier l'adresse du keeper du contrat EthCrossChainData, et non par la fuite de la clé privée du keeper comme cela avait été précédemment rapporté.

Cet événement met à nouveau en évidence l'importance de la conception de la sécurité des protocoles inter-chaînes et les exigences strictes en matière de gestion des autorisations des contrats. Il nous rappelle également que, dans l'écosystème blockchain, même des fonctionnalités apparemment inoffensives, si elles sont exploitées de manière malveillante, peuvent entraîner de graves vulnérabilités de sécurité.

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.
  • Récompense
  • 4
  • Partager
Commentaire
0/400
ServantOfSatoshivip
· Il y a 19h
Encore allongé, encore allongé...
Voir l'originalRépondre0
FloorSweepervip
· 07-16 15:47
C'est encore une vieille tradition.
Voir l'originalRépondre0
ApeWithNoChainvip
· 07-16 15:38
Un autre contrat a été détruit~
Voir l'originalRépondre0
TeaTimeTradervip
· 07-16 15:30
Encore un problème avec le keeper, tsk tsk.
Voir l'originalRépondre0
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)