Cos'è un Replay Attack?

Condividi
Cos'è un Replay Attack?
Ascolta questo articolo
00:00 / 00:00

Un replay attack, a volte chiamato anche playback attack, è un attacco informatico in cui l’esecutore intercetta e in seguito ripete una trasmissione di dati valida all’interno di un network. A causa della validità dei dati originali (che in genere provengono da un utente autorizzato) i protocolli di sicurezza del network considerano l’attacco come una normale trasmissione di dati. Dato che i messaggi originali vengono intercettati e ri-trasmessi alla lettera, gli hacker che si servono di replay attack non devono necessariamente decifrarli.


Cosa può fare un Hacker con un Replay Attack?

I replay attack possono essere usati per ottenere l’accesso a informazioni conservate in un network protetto attraverso credenziali in apparenza valide. Possono anche essere usati per ingannare istituzioni finanziarie portandole a duplicare transazioni, consentendo all’esecutore di prelevare denaro direttamente dai conti delle vittime. In alcuni casi, gli hacker combinano parti di messaggi criptati differenti e trasmettono il messaggio al network, un attacco conosciuto come cut-and-paste attack. La reazione del network a questo tipo di offensiva fornisce all’hacker informazioni preziose che possono essere usate per sfruttare ulteriormente il sistema.

Nonostante gli evidenti pericoli a loro associati, ci sono dei limiti a ciò che un hacker può ottenere attraverso replay attack da soli. L’autore non può modificare i dati della trasmissione intercettata senza che il network la respinga, limitando l’efficacia dell’attacco alla ripetizione di azioni passate. Questi attacchi sono anche relativamente facili da contrastare. Una difesa elementare come aggiungere un timestamp alla trasmissione di dati è sufficiente per prevenire tentativi di replay semplici. I server possono anche identificare messaggi ripetuti e limitarli a un certo numero di ripetizioni per ridurre il numero di tentativi che un hacker può fare attraverso il replay di messaggi in rapida successione.


Perché i Replay Attack hanno Importanza nel Mondo delle Criptovalute

Nonostante non siano esclusivi di tale contesto, questi attacchi sono particolarmente rilevanti quando si parla di transazioni di criptovalute e registri blockchain. La ragione è da attribuire al fatto che i registri blockchain vengono a volte modificati o aggiornati attraverso cambiamenti nel protocollo conosciuti come hard fork. Quando avviene un hard fork, il registro esistente si divide in due, uno che segue la versione tradizionale e uno che segue quella nuova e aggiornata. Alcuni hard fork hanno il semplice scopo di aggiornare il registro, mentre altri si allontanano e creano criptovalute completamente nuove. Uno degli esempi più conosciuti di hard fork della seconda categoria è l’aggiornamente che ha consentito a Bitcoin Cash di separarsi dal registro principale di Bitcoin l’1 Agosto 2017.

Quando si verificano questi hard fork, diventa teoricamente possibile per gli hacker impiegare replay attack contro i registri blockchain. Una transazione elaborata su un registro da una persona il cui wallet risulta valido prima dell’hard fork risulterà valido anche sulla nuova versione. Di conseguenza, una persona che ha ricevuto un certo numero di unità di criptovaluta da qualcun’altro attraverso un registro potrebbe passare all’altro registro, replicare la transazione e trasferire illecitamente un numero di unità identico al proprio conto una seconda volta. Dato che gli wallet non fanno parte della storia condivisa dei registri, quelli creati dopo l’esecuzione di un hard fork non sono vulnerabili a questi attacchi.


Come si Proteggono le Blockchain da Questi Attacchi?

Sebbene la vulnerabilità ai replay attack dei registri blockchain dopo un fork sia un problema serio, gran parte degli hard fork include protocolli di sicurezza progettati specificatamente per prevenire il successo di tali attacchi. Le misure efficaci contro replay attack sulle blockchain si suddividono in due categorie, conosciute come strong replay protection e opt-in replay protection. Nel caso della strong replay protection, un indicatore speciale viene aggiunto al nuovo registro dopo l’hard fork per garantire che le transazioni eseguite non siano valide nel registro tradizionale, e viceversa. Questo tipo di protezione è stato implementato quando Bitcoin Cash si è separato da Bitcoin.

Una volta implementata, la strong replay protection viene eseguita automaticamente non appena avviene l’hard fork. Tuttavia, la opt-in replay protection richiede agli utenti di effettuare manualmente modifiche alle proprie transazioni per garantire che non possano essere ripetute. La opt-in protection può essere utile quando l’hard fork è inteso come un aggiornamento del registro di una criptovaluta, invece di una divisione totale.

Oltre a queste soluzioni che interessano l’intero registro, gli utenti individuali possono anche prendere altri provvedimenti per non cadere vittima di replay attack. Uno di questi metodi è bloccare il trasferimento di monete fino a quando il registro non ha raggiunto un certo numero di blocchi, prevenendo quindi a qualsiasi replay attack che coinvolge queste monete di venire verificato dal network. E’ opportuno notare, però, che non tutti gli wallet o registri offrono questa funzione.


Conclusione

I replay attack rappresentano una minaccia concreta per la sicurezza di un network. A differenza di molti altri tipi di attacchi, i replay attack non si basano sulla decrittazione di dati, fattore che li rende un vettore efficace per gli hacker che devono affrontare protocolli crittografici sempre più sicuri. A causa degli hard fork usati per aggiornarli o separarli, i registri blockchain sono particolarmente vulnerabili a questo tipo di attacco informatico. Tuttavia, esistono soluzioni valide e ragionevolmente efficaci nella protezione dei sistemi blockchain. In particolare, l’utilizzo di strong replay protection può garantire che gli attaccanti non riescano a replicare transazioni dopo l’esecuzione dell’hard fork.z

Loading