L'analisi degli hack di BSC Token Hub Bridge da un milione di dollari PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

L'analisi dell'hacking del bridge hub token BSC da un milione di dollari

Tempo per leggere: 4 verbale

Sommario:

Il 7 ottobre 2022 si è verificato un exploit che ha colpito il cross-chain bridge nativo chiamato “BSC Token Hub”. Il bug è nel verificatore di prova del bridge. Sono stati ritirati un totale di 2 milioni di BNB e Binance ha temporaneamente sospeso BSC Network per evitare ulteriori danni. I fondi prelevati da BSC sono stimati tra $ 100 milioni e $ 110 milioni.

Introduzione a Binance Smart Chain e Token Hub Bridge:

Binance Smart Chain (BSC) è una rete basata su Blockchain utilizzata per eseguire applicazioni radicate nei contratti intelligenti. BSC funziona in parallelo con la Binance Chain (BC) nativa di Binance, consentendo agli utenti di sfruttare la capacità di transazione rapida della BC e le funzionalità del contratto intelligente di BSC.

Controlla il nostro articolo per ulteriori dettagli.

Hub token BSC:

BSC Token Hub è il ponte incrociato tra BNB Beacon Chain (BEP2) e BNB Chain (BEP20 o BSC). Controlla il funzionario documentazione di Binance per maggiori dettagli.

Analisi e impatto delle vulnerabilità:

Dettagli della transazione di attacco:

Indirizzo dell'hacker: 0x489a8756c18c0b8b24ec2a2b9ff3d4d447f79bec

Primo hash Txn: 0xebf83628ba893hd35b496121fb8201666b8e09f3cbadf0e269162baa72efe3b8b

2° hash Txn: 0x05356fd06ce56a9ec5b4eaf9c075abd740cae4c21eab1676440ab5cd2fe5c57a

Contratto token hub BSC: 0x0000000000000000000000000000000000001004

Hash Txn originale (con altezza del blocco pari a 110217401): 0x79575ff791606ef2c7d69f430d1fee1c25ef8d56275da94e6ac49c9c4cc5f433

Il bug:

BSC Token Hub utilizza un contratto precompilato per la convalida degli alberi IAVL (Immutable AVL) durante l'esecuzione della verifica delle transazioni cross-chain. L'exploiter ha sfruttato un bug nella logica di verifica della prova adattando una prova legittima per far coniare loro 2 milioni di BNB dal bridge.

La causa principale sembra essere questa linea:

L'analisi degli hack di BSC Token Hub Bridge da un milione di dollari PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Il problema è che lpath.Right potrebbe essere inutilizzato nel calcolo dell'hash root dell'albero.

Per risolvere questo problema, la linea dovrebbe cambiare

A partire da:

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

a qualcosa come:

“`

A:

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

“`

L'attacco:

1. L'aggressore ha utilizzato l'hash di un blocco inviato con successo creato 2 anni fa (blocco specificato: 110217401) per costruire un payload come nodo foglia per verificare l'albero IAVL. È possibile trovare i dettagli della transazione originale qui.

L'analisi degli hack di BSC Token Hub Bridge da un milione di dollari PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
L'analisi degli hack di BSC Token Hub Bridge da un milione di dollari PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

2. L'attaccante ha inserito un nodo foglia contenente come chiave la sequenza corrente del pacchetto e come valore l'hash del payload dannoso (ovvero coniando 1 milione di BNB al proprio indirizzo). Quindi aggiunto un nodo interno vuoto alla foglia per soddisfare la prova di implementazione.

L'analisi degli hack di BSC Token Hub Bridge da un milione di dollari PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

3. L'aggressore ha impostato il percorso sinistro come destro nell'hash del nodo foglia appena creato per rendere l'hash root uguale all'hash root inviato con successo e infine ha costruito la prova di ritiro per il blocco particolare e ha inviato la transazione.

L'analisi degli hack di BSC Token Hub Bridge da un milione di dollari PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

4. Dopo aver inviato con successo la transazione e aver ricevuto $ 1 milione di BNB. L'aggressore ha ripetuto nuovamente i passaggi e ha guadagnato un ulteriore milione di BNB. Il totale ammontava a 1 milioni di BNB, ovvero 2 milioni di dollari.

L'analisi degli hack di BSC Token Hub Bridge da un milione di dollari PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

L'attaccante ha provato 17 volte a coniare 1 milione di BNB ma ha fallito 15 volte e ha coniato solo 2 milioni di BNB. La ragione di ciò era che avevano una concorrenza con altre transazioni legittime che guidavano lo sfruttatore tx utilizzando lo stesso packageSequence.

Dopo l'exploit:

Poche ore dopo l'attacco, il CEO di Binance CZ ha annunciato l'incidente tramite un tweet e ha bloccato la rete BSC per evitare ulteriori danni.

Poche ore dopo, Binance ha risolto il problema con l'ultima versione v1.1.15. Ha bloccato il flusso di fondi degli aggressori inserendo l’indirizzo dell’aggressore nella lista nera.

Binance ha recentemente inserito nella lista nera l'indirizzo dell'aggressore commettere.

L'analisi degli hack di BSC Token Hub Bridge da un milione di dollari PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Stato dei fondi:

Attività correnti detenute dall'aggressore in diverse catene:

L'analisi degli hack di BSC Token Hub Bridge da un milione di dollari PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Il flusso di fondi:

L'analisi degli hack di BSC Token Hub Bridge da un milione di dollari PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Image Source: https://twitter.com/BeosinAlert/status/1578290676793384961/photo/1

Ulteriori riferimenti/crediti:

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


Sicurezza Web3- Necessità dell'ora

Perché QuillAudits per la sicurezza Web3?

QuillAudit è ben attrezzato con strumenti e competenze per fornire soluzioni di sicurezza informatica risparmiando la perdita di milioni di fondi.

9 Visualizzazioni

Timestamp:

Di più da quillhash