Protocole cross-chain vulnérable à l'origine d'un événement de sécurité majeur
Récemment, un protocole d'interopérabilité cross-chain bien connu a été victime d'une attaque de hacker, suscitant une large attention dans l'industrie. Selon l'analyse d'une équipe de sécurité professionnelle, cette attaque n'était pas due à une fuite de clé, mais les attaquants ont habilement modifié des paramètres clés en exploitant une vulnérabilité dans le contrat.
Attaque du cœur
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. É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 déclenché l'exécution de la fonction _executeCrossChainTx en passant des données soigneusement conçues à la fonction verifyHeaderAndExecuteTx, ce qui a appelé la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData, modifiant le rôle de keeper en l'adresse spécifiée par l'attaquant. Une fois cette étape terminée, l'attaquant peut construire des transactions pour extraire un montant arbitraire de fonds du contrat.
Processus d'attaque
L'attaquant a d'abord appelé la fonction putCurEpochConPubKeyBytes via la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager, modifiant ainsi 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, d'autres utilisateurs se voient refuser l'exécution de leurs transactions normales.
Des techniques d'attaque similaires ont également été mises en œuvre sur le réseau Ethereum, le processus étant à peu près le même.
Événements révélateurs
Cet événement a révélé une vulnérabilité importante dans la conception des contrats intelligents. 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. Ce design offre une opportunité aux attaquants.
Cette attaque n'est pas due à une fuite de la clé privée du keeper, mais à une vulnérabilité dans la conception du contrat. Cela nous rappelle que lors de la conception d'un protocole cross-chain, il est nécessaire de réfléchir plus attentivement à la gestion des permissions et aux mécanismes de validation des données, afin d'éviter que des événements de sécurité similaires ne se reproduisent.
Pour l'ensemble de l'industrie de la blockchain, cet événement souligne à nouveau l'importance des audits de sécurité. Même un protocole apparemment parfait peut présenter des failles négligées. Des contrôles de sécurité continus et des réparations de vulnérabilités sont essentiels pour garantir la sécurité des actifs des utilisateurs.
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.
16 J'aime
Récompense
16
4
Partager
Commentaire
0/400
SundayDegen
· 07-14 15:39
Il faut quand même ajouter une protection zéro jour.
Voir l'originalRépondre0
GasGrillMaster
· 07-14 15:36
Il y a encore eu un problème, je me casse.
Voir l'originalRépondre0
RooftopVIP
· 07-14 15:29
Encore une fois, il faut monter sur le toit pour montrer le soleil.
La vulnérabilité du contrat du protocole cross-chain a été attaquée par un Hacker, le design de sécurité sonne de nouveau l'alarme.
Protocole cross-chain vulnérable à l'origine d'un événement de sécurité majeur
Récemment, un protocole d'interopérabilité cross-chain bien connu a été victime d'une attaque de hacker, suscitant une large attention dans l'industrie. Selon l'analyse d'une équipe de sécurité professionnelle, cette attaque n'était pas due à une fuite de clé, mais les attaquants ont habilement modifié des paramètres clés en exploitant une vulnérabilité dans le contrat.
Attaque du cœur
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. É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 déclenché l'exécution de la fonction _executeCrossChainTx en passant des données soigneusement conçues à la fonction verifyHeaderAndExecuteTx, ce qui a appelé la fonction putCurEpochConPubKeyBytes du contrat EthCrossChainData, modifiant le rôle de keeper en l'adresse spécifiée par l'attaquant. Une fois cette étape terminée, l'attaquant peut construire des transactions pour extraire un montant arbitraire de fonds du contrat.
Processus d'attaque
L'attaquant a d'abord appelé la fonction putCurEpochConPubKeyBytes via la fonction verifyHeaderAndExecuteTx du contrat EthCrossChainManager, modifiant ainsi 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, d'autres utilisateurs se voient refuser l'exécution de leurs transactions normales.
Des techniques d'attaque similaires ont également été mises en œuvre sur le réseau Ethereum, le processus étant à peu près le même.
Événements révélateurs
Cet événement a révélé une vulnérabilité importante dans la conception des contrats intelligents. 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. Ce design offre une opportunité aux attaquants.
Cette attaque n'est pas due à une fuite de la clé privée du keeper, mais à une vulnérabilité dans la conception du contrat. Cela nous rappelle que lors de la conception d'un protocole cross-chain, il est nécessaire de réfléchir plus attentivement à la gestion des permissions et aux mécanismes de validation des données, afin d'éviter que des événements de sécurité similaires ne se reproduisent.
Pour l'ensemble de l'industrie de la blockchain, cet événement souligne à nouveau l'importance des audits de sécurité. Même un protocole apparemment parfait peut présenter des failles négligées. Des contrôles de sécurité continus et des réparations de vulnérabilités sont essentiels pour garantir la sécurité des actifs des utilisateurs.