Analyse des vulnérabilités des smart contracts de Poly Network : comment les attaquants ont modifié le rôle de keeper pour obtenir des fonds

robot
Création du résumé en cours

Analyse des vulnérabilités de sécurité de Poly Network : comment les attaquants exploitent les vulnérabilités des contrats pour manipuler les autorisations

Récemment, le protocole d'interopérabilité inter-chaînes Poly Network a subi un événement de sécurité majeur, suscitant une large attention au sein de l'industrie. Selon les analyses d'experts en sécurité, cette attaque n'est pas due à une fuite de clé privée, mais les attaquants ont habilement exploité une vulnérabilité dans le contrat intelligent.

Le cœur de l'événement réside dans le défaut de conception de la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager. Cette fonction peut exécuter des transactions inter-chaînes spécifiées par l'utilisateur via la fonction interne _executeCrossChainTx. Les attaquants ont justement profité de cela en construisant des données spécifiques, ce qui a conduit à l'appel de la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData par la fonction _executeCrossChainTx, altérant ainsi le rôle de keeper pour qu'il soit contrôlé par l'adresse de l'attaquant.

Le processus d'attaque spécifique est le suivant :

  1. L'attaquant appelle d'abord la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager, en passant des données soigneusement construites.

  2. La fonction exécute en interne _executeCrossChainTx, puis appelle la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData.

  3. La fonction putCurEpochConPubKeyBytes est exécutée, modifiant l'adresse du rôle de keeper à l'adresse spécifiée par l'attaquant.

  4. Après le remplacement du keeper, l'attaquant a obtenu des droits d'opération et peut construire des transactions à sa guise pour extraire des fonds du contrat.

  5. Après l'attaque, en raison de la modification du keeper, les transactions normales des autres utilisateurs commencent à être refusées.

Cette méthode d'attaque a été utilisée sur les chaînes BSC et Ethereum. La clé de l'attaque réside dans le fait que le keeper du contrat EthCrossChainData peut être modifié par le contrat EthCrossChainManager, ce dernier permettant l'exécution de données arbitraires fournies par les utilisateurs. Ce design présente de graves risques de sécurité, offrant ainsi une opportunité aux attaquants.

Cet événement souligne à nouveau l'importance cruciale de la sécurité des contrats intelligents. L'équipe de développement doit prendre en compte divers scénarios d'attaque lors de la conception des contrats, limiter strictement les autorisations d'appel des fonctions clés et procéder à un audit de sécurité complet. Parallèlement, les projets décentralisés doivent également établir des mécanismes de gouvernance plus complets pour faire face aux urgences.

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
  • 6
  • Partager
Commentaire
0/400
blocksnarkvip
· Il y a 10h
Encore la faute des smart contracts.
Voir l'originalRépondre0
NFT_Therapyvip
· Il y a 10h
Dictionnaire de dictionnaires, un autre smart contracts échoué
Voir l'originalRépondre0
BTCRetirementFundvip
· Il y a 11h
Encore un contrat qui a été exploité ?
Voir l'originalRépondre0
MemeKingNFTvip
· Il y a 11h
Encore une journée visitée par le voleur divin, le monde des arts martiaux est comme une grande vague qui tamise le sable, voyons chez qui le contrat n'a pas encore de failles.
Voir l'originalRépondre0
nft_widowvip
· Il y a 11h
C'est encore la faute du contrat.
Voir l'originalRépondre0
rekt_but_not_brokevip
· Il y a 11h
C'est encore un projet qui a échoué.
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)