L'analyse de piratage du pont Hub de jetons BSC d'un million de dollars PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

L'analyse du piratage du Million Dollars BSC Token Hub Bridge

Temps de lecture: 4 minutes

Résumé :

Le 7 octobre 2022, un exploit affectant le pont inter-chaînes natif appelé "BSC Token Hub" a eu lieu. Le bogue est dans le vérificateur de preuve du pont. Un total de 2 millions de BNB a été retiré et Binance a temporairement suspendu le réseau BSC pour éviter d'autres dommages. Les fonds retirés de BSC sont estimés entre 100 et 110 millions de dollars.

Présentation de Binance Smart Chain & Token Hub Bridge :

Binance Smart Chain (BSC) est un réseau basé sur la Blockchain utilisé pour exécuter des applications ancrées dans des contrats intelligents. BSC fonctionne en parallèle avec la Binance Chain (BC) native de Binance, permettant aux utilisateurs de profiter de la capacité de transaction rapide du BC ainsi que des fonctionnalités de contrat intelligent de BSC.

Consultez les article pour plus de détails.

Concentrateur de jetons BSC :

BSC Token Hub est le pont inter-chaînes entre BNB Beacon Chain (BEP2) et BNB Chain (BEP20 ou BSC). Découvrez l'officiel Documentation de Binance pour plus de détails.

Analyse de vulnérabilité et impact :

Détails de la transaction d'attaque :

Adresse du pirate : 0x489a8756c18c0b8b24ec2a2b9ff3d4d447f79bec

1er hachage Txn : 0xebf83628ba893hd35b496121fb8201666b8e09f3cbadf0e269162baa72efe3b8b

2e hachage Txn : 0x05356fd06ce56a9ec5b4eaf9c075abd740cae4c21eab1676440ab5cd2fe5c57a

Contrat de concentrateur de jetons BSC : Assistance

Hachage Txn d'origine (avec une hauteur de bloc de 110217401) : 0x79575ff791606ef2c7d69f430d1fee1c25ef8d56275da94e6ac49c9c4cc5f433

L'insecte:

BSC Token Hub utilise un contrat précompilé pour valider les arborescences IAVL (Immutable AVL) lors de la vérification des transactions inter-chaînes. L'exploiteur a tiré parti d'un bogue dans la logique de vérification de la preuve en adaptant une preuve légitime pour leur faire imprimer le pont 2M BNB.

La cause profonde semble être ceci en ligne:

L'analyse de piratage du pont Hub de jetons BSC d'un million de dollars PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le problème est que lpath.Right pourrait être inutilisé dans le calcul du hachage racine de l'arbre.

Pour résoudre ce problème, la ligne doit changer

À partir de

```
if !bytes.Equal(derivedRoot, lpath.Right) ...

à quelque chose comme :

“`

À:

```
expectedHash := lpath.Left
 if len(lpath.Left) == 0 {
   expectedHash = lpath.Right }
 if !bytes.Equal(derivedRoot, expectedHash) ...

“`

L'attaque:

1. L'attaquant a utilisé le hachage d'un bloc soumis avec succès qui a été créé il y a 2 ans (bloc spécifié : 110217401) pour construire une charge utile en tant que nœud feuille afin de vérifier l'arborescence IAVL. Les détails de la transaction d'origine peuvent être trouvés ici.

L'analyse de piratage du pont Hub de jetons BSC d'un million de dollars PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
L'analyse de piratage du pont Hub de jetons BSC d'un million de dollars PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

2. L'attaquant a injecté un nœud feuille contenant comme clé le packageSequence actuel et comme valeur le hachage de charge utile maléfique (c'est-à-dire 1M de BNB à leur adresse). Puis ajouté un nœud interne vide à la feuille pour satisfaire la preuve d'implémentation.

L'analyse de piratage du pont Hub de jetons BSC d'un million de dollars PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

3. L'attaquant a défini le chemin de gauche sur Right dans le hachage du nœud feuille qui vient d'être créé pour rendre le hachage racine égal au hachage racine soumis avec succès et a finalement construit la preuve de retrait pour le bloc particulier et a soumis la transaction.

L'analyse de piratage du pont Hub de jetons BSC d'un million de dollars PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

4. Après avoir soumis avec succès la transaction et reçu 1 million de dollars de BNB. L'attaquant a répété les étapes à nouveau et a gagné 1 million de BNB supplémentaires. Dont le total s'élevait à 2 Millions de BNB soit 570 Millions de $.

L'analyse de piratage du pont Hub de jetons BSC d'un million de dollars PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

L'attaquant a essayé 17 fois de frapper 1M BNB mais ils ont échoué 15 fois et il n'a frappé que 2M BNB. La raison en était qu'ils avaient une concurrence avec d'autres transactions légitimes qui précédaient l'exploiteur tx en utilisant le même packageSequence.

Après l'exploit :

Quelques heures après l'attaque, le PDG de Binance CZ a annoncé l'incident via un tweet et a arrêté le réseau BSC pour éviter de nouveaux dommages.

Quelques heures plus tard, Binance a corrigé le problème avec la dernière version v1.1.15. Il a bloqué le flux de fonds des attaquants en mettant sur liste noire l'adresse de l'attaquant.

Binance a mis l'adresse de l'attaquant sur liste noire dans le récent commettre.

L'analyse de piratage du pont Hub de jetons BSC d'un million de dollars PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

État des fonds :

Actifs actuels détenus par l'attaquant dans différentes chaînes :

L'analyse de piratage du pont Hub de jetons BSC d'un million de dollars PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le flux de fonds :

L'analyse de piratage du pont Hub de jetons BSC d'un million de dollars PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Source de l'image: https://twitter.com/BeosinAlert/status/1578290676793384961/photo/1

Référence supplémentaire / crédit :

https://github.com/emilianobonassi/bsc-hack-analysis-2022-10-06


Sécurité Web3 - Besoin de l'heure

Pourquoi QuillAudits pour la sécurité Web3 ?

Audits de plume est bien équipé avec des outils et une expertise pour fournir des solutions de cybersécurité permettant d'économiser la perte de millions de fonds.

9 Vues

Horodatage:

Plus de Quillhasch