Il Vector 76 Attack è un tipo di attacco a doppia spesa che sfrutta un piccolo bug nel sistema di consenso Bitcoin per essere eseguito. Di conseguenza, l'attaccante può sequestrare fondi intenzionalmente e generare perdite per le sue vittime.
TTutte le tecnologie sviluppate, comprese blockchain, dispongono di vettori di attacco che i criminali informatici possono sfruttare a proprio vantaggio. Nel mondo delle criptovalute, uno degli attacchi meno conosciuti è il Vector 76 Attacco o Vector Attack 76.
L'arrivo delle valute digitali e criptovalute ha portato con sé un problema serio, il doppia spesa. Nelle valute digitali centralizzate, questo problema è facilmente risolvibile essendo tutto il controllo nello stesso nucleo. Ma in valute decentralizzate come Bitcoin, il problema è molto più grande. In effetti, il design di Bitcoin riesce a minimizzare il problema della doppia spesa. Possiamo anche dire che lo "uccide", ma a causa della natura decentralizzata di Bitcoin, ci sarà sempre un punto di errore che può essere utilizzato per raddoppiare la spesa.
È lì che il file Vector Attack 76 o Attacco di conferma, entra in azione. Questo attacco a doppia spesa consente all'attaccante di includere una transazione di doppia spesa in un blocco e di utilizzarla a proprio vantaggio. Lo fa inviando un blocco auto-costruito per la rete per confermare che il blocco è valido. In questo modo, l'attaccante può sequestrare una certa quantità di fondi prima che la rete possa realizzare il problema. Questo attacco è stato descritto per la prima volta dall'utente vector76 sul forum Bitcointalk.
Ma per comprendere la natura di questo attacco, è necessario approfondire il modo in cui funziona, ed è quello che faremo dopo.
Come funziona Vector Attack 76?
Questo attacco è in realtà una combinazione tra i file Race Attack e il Attacco Finney. Il suo obiettivo principale è il exchanges o case di scambio, dove gli aggressori possono acquistare e vendere, le loro criptovalute e token senza essere rapidamente rilevato.
Ma come è possibile? Bene, diamo un'occhiata più da vicino all'anatomia di questo attacco.
Come viene eseguito questo attacco?
Un Vector Attack 76 è eseguibile quando un minatore canaglia, che ha il controllo su 2 nodi pieni rete, collegare uno di questi (nodo A) direttamente al servizio di una centrale. Quindi il secondo nodo completo (nodo B) lo interconnette con altri nodi che sono ben posizionati all'interno della rete blockchain. Per sapere a quali nodi connettersi, il miner deve monitorare quando i nodi trasmettono le transazioni e in che modo le propagano agli altri nodi della rete. Potrai così sapere quali nodi sono i primi a trasmettere le operazioni e potrai connetterti con il servizio target e con i nodi ben posizionati.
Dopo aver stabilito le connessioni necessarie, il miner genera privatamente un blocco valido. A quel punto, crea una coppia di transazioni, che avranno valori diversi, essendo una transazione di alto valore e una transazione di basso valore. Ad esempio, la prima transazione può essere pari o superiore a 25 BTC e la seconda solo 0.1 BTC. Successivamente, il miner mantiene il blocco minato in attesa e assegna al nodo A la transazione di alto valore, ovvero la transazione da 25 BTC. Questa sarà la transazione che sarà diretta a effettuare un deposito all'interno del servizio di cambio.
Quando il minatore rileva un blocco pubblicitario sulla rete, trasmette immediatamente il blocco da esso prefinito, direttamente al servizio di scambio, insieme al blocco recentemente generato sulla rete. Ciò nella speranza che il resto dei nodi consideri valido il loro blocco e lo considerino parte della catena principale. Pertanto, questo blocco verrà confermato e, quindi, la transazione 25 BTC inclusa in esso verrà convalidata.
Una volta che il servizio dell'exchange conferma la transazione di 25 BTC, l'attaccante effettua un prelievo dall'exchange per la stessa quantità di criptovaluta che aveva depositato nella transazione precedente (25 BTC). Quindi, l'attaccante invia la seconda transazione creata, quella da 0.1 BTC, alla rete dal nodo B. Con l'obiettivo di creare un fork che faccia rifiutare e invalidare la prima transazione. Se questo fork sopravvive, la prima transazione con il deposito di 25 BTC verrà invalidata, ma il prelievo sarà stato effettuato. Pertanto, l'attaccante avrà avuto successo e lo scambio perderà 25 BTC.
Probabilità di successo dell'attacco
Tutti questi processi avvengono immediatamente e simultaneamente, quindi è molto probabile che la transazione di 0.1 BTC venga presa come catena principale. Ma, un paio di blocchi dopo, la transazione di deposito con 25 BTC viene invalidata. Questo perché il nodo B, che trasmette la transazione 0.1 BTC, è connesso a nodi ben posizionati che inoltreranno quella transazione molto più velocemente sulla rete. Mentre il Nodo A, che contiene la transazione di deposito di 25 BTC, è direttamente connesso solo al servizio di scambio. Questo nodo dovrà inoltrare la transazione ad altri nodi, quindi è molto più lento del nodo B.
Altrimenti, laddove il blocco accettato sulla catena principale contenga la transazione da 25 BTC, l'attaccante ritirerà solo i 25 BTC che ha depositato sull'exchange. Pertanto, Vector Attack 76 non avrebbe successo. Tuttavia, in questo scenario non ci sono perdite o guadagni, né per l'attaccante né per lo scambio.
Con questa spiegazione, è possibile rilevare che esiste un'alta probabilità di successo nell'esecuzione di questo tipo di attacco. Ma, anche così, non è comune farlo perché uno scambio è necessario per accettare di effettuare pagamenti di prelievo dopo una sola conferma e la stragrande maggioranza degli scambi richiede solitamente da 2 a 6 conferme.
Tuttavia, anche un'azienda che offre beni o servizi digitali potrebbe essere vittima di questo tipo di attacco.
Quanto sai, Cryptonuta?
L'esistenza del Vector Attack 76 è un segno della mancanza di sicurezza della blockchain?FALSO!
Tutti i sistemi presentano vulnerabilità dovute alla loro infrastruttura, ma conoscere questi errori e risolverli è essenziale per aumentarne la sicurezza. Bitcoin ne è il miglior esempio, l'Attack of Vector 76 è qualcosa di strutturale, ma è possibile solo se detta struttura non è abbastanza ampia e decentralizzata, qualcosa che la comunità conosce e dà loro un motivo per diffondersi sempre di più in ordine per renderlo più sicuro.
Come proteggersi da un attacco Vector 76?
Per proteggerti da questo tipo di attacco, dovresti prendere in considerazione alcuni consigli:
- Utilizza sistemi che non accettano transazioni con una sola conferma. Vector Attack 76 richiede che questo sia possibile per eseguire l'attacco con successo. Invece, il minimo che dovremmo aspettarci è di avere 2 commit, o anche 6, come ampiamente raccomandato.
- Il nodo che utilizziamo dovrebbe evitare di avere connessioni in entrata abilitate o, in caso contrario, di definire connessioni in entrata da computer ben riconosciuti. Ciò impedisce all'autore dell'attacco di iniettare false informazioni sulla blockchain nel nostro nodo.
- Anche le connessioni dei nodi in uscita dovrebbero essere monitorate e consentite solo a nodi noti. Ciò impedisce ai nostri nodi di fornire informazioni sullo stato della catena che gestiamo.
Con queste misure possiamo proteggerci da questo tipo di attacchi senza grossi problemi.