vendredi, 19 avril 2024

Le dernier hack du pont Horizon d’Harmony et son post-mortem technique

Harmony, une couche-1 ouverte et rapide blockchain offrant deux -way Ethereum bridge, a subi un piratage malheureux le 24 juin. Horizon, son pont inter-chaînes vers Ethereum, a enregistré cet exploit d’une valeur de près de 100 millions de dollars en ETH. Bien que la plate-forme ait stoppé le pont affecté, certaines questions restent sans réponse.

Pour mieux comprendre la situation, voici une plongée en profondeur dans ce qui a causé ce piratage.

Dévoiler le propriétaire, n’est-ce pas ?

Les experts en sécurité de l’équipe CertiK, dans un blog posté le 25 Juin, a partagé une analyse approfondie mettant en évidence les événements clés qui ont mené au braquage. Wu Blockchain, une célèbre agence de presse, a ensuite partagé ce développement sur son Twitter flux.

L’analyse préliminaire a montré que l’adresse présumée faisait 11 transactions du pont pour divers jetons. De plus, l’individu a envoyé des jetons à un différent< /a> portefeuille à échanger contre ETH sur l’échange décentralisé Uniswap (DEX), puis renvoyé ETH au portefeuille d’origine.

Après quelques enquête complémentaire, l’analyse d’experts a identifié 12 transactions d’attaque et trois adresses d’attaque. Au cours de ces transactions, l’attaquant a obtenu divers jetons sur le pont, notamment ETH, USDC, WBTC, USDT, DAI, BUSD, AAG, FXS, SUSHI, AAVE, WETH et FRAX.

« L’attaquant a accompli cela en contrôlant d’une manière ou d’une autre le propriétaire du MultiSigWallet pour appeler directement le confirmTransaction() pour transférer de grandes quantités de jetons depuis le pont sur Harmony. Cela a entraîné une perte totale d’environ 97 millions de dollars d’actifs sur la chaîne Harmony, que l’attaquant a regroupés en une seule adresse principale. »

Cet événement s’est produit dans une séquence comme indiqué ci-dessous.

La chaîne des événements

Le propriétaire du contrat MultiSigWallet (0xf845a7ee8477ad1fb446651e548901a2635a915) a appelé la fonction submitTransaction() pour soumettre une transaction. Il a incorporé la charge utile suivante pour générer l’ID de transaction 21106 dans la transaction.

Source : Certik

Ensuite, dans la transaction d’exploit, le propriétaire a appelé la fonction confirmTransaction() depuis le MultiSigWallet avec l’ID de transaction d’entrée 21106. La fonction executeTransaction() a invoqué un appel externe avec des données d’entrée. Cette étape a déclenché la fonction unlockEth() sur le contrat Ethmanager.

Source : Certik

Compte tenu du fait que l’attaquant contrôlait l’autorité du propriétaire, le déverrouillage a ouvert la voie à ladite exploitation de pont croisé. Le blog a également ajouté,

« l’attaquant a exécuté la transaction avec l’identifiant 21106, qui a transféré 13 100 ETH à l’adresse de l’attaquant. »

Mais ce n’est pas ça. Le pirate présumé a poursuivi le processus précédent en utilisant différents identifiants de transaction sur d’autres contrats ERC20Manager pour transférer une énorme quantité de jetons ERC20 et de stablecoins.

Dans l’ensemble, de tels incidents ont aggravé l’ensemble du scénario sceptique concernant l’utilisation de ponts inter-chaînes. Plus tôt cette année, nous avons été témoins à la fois de l’exploit de Ronin Bridge et de l’exploit de Wormhole.

.

Toute l’actualité en temps réel, est sur L’Entrepreneur

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici