Un attacco di riproduzione, a volte chiamato anche attacco di riproduzione, è un attacco informatico in cui l'entità dannosa intercetta e quindi ripete una trasmissione di dati valida che attraversa una rete. Grazie alla validità dei dati originali (che normalmente provengono da un utente autorizzato), i protocolli di sicurezza della rete trattano l'attacco come se si trattasse di una normale trasmissione di dati. Poiché i messaggi originali vengono intercettati e ritrasmessi parola per parola, gli hacker che utilizzano attacchi replay non devono necessariamente decrittografarli.


Cosa possono fare gli hacker con un attacco replay?

Gli attacchi di riproduzione possono essere utilizzati per ottenere l'accesso alle informazioni archiviate su una rete altrimenti protetta trasmettendo credenziali apparentemente valide. Possono anche essere utilizzati per ingannare gli istituti finanziari inducendoli a duplicare le transazioni, consentendo agli aggressori di prelevare denaro direttamente dai conti delle loro vittime. In alcuni casi, gli hacker combinano parti di diversi messaggi crittografati e trasmettono il testo cifrato risultante alla rete in quello che è noto come attacco taglia e incolla. La reazione della rete a questo tipo di attacco fornirà spesso all'hacker informazioni preziose che potranno essere utilizzate per sfruttare ulteriormente il sistema.

Nonostante gli ovvi pericoli ad essi associati, esistono limiti a ciò che gli hacker possono ottenere con i soli attacchi replay. Gli aggressori non possono modificare i dati inviati senza che la rete li rifiuti, limitando l’efficacia dell’attacco alla ripetizione di azioni passate. È anche relativamente facile difendersi da questi attacchi. Una difesa semplice come l'aggiunta di un timestamp alla trasmissione dei dati può proteggere da semplici tentativi di riproduzione. I server possono anche memorizzare nella cache messaggi ripetuti e interromperli dopo un certo numero di ripetizioni per limitare il numero di tentativi che un utente malintenzionato può effettuare riproducendo i messaggi in rapida successione.


Perché gli attacchi Replay sono importanti nel mondo delle criptovalute

Sebbene siano lungi dall’essere esclusivi di questo settore, questi attacchi sono particolarmente rilevanti per l’ambiente delle transazioni di criptovaluta e dei registri blockchain. La ragione di ciò è che i registri blockchain a volte subiscono modifiche o aggiornamenti del protocollo noti come hard fork. Quando avviene un hard fork, il registro esistente si divide in due, con uno che esegue la versione legacy del software e uno che esegue la nuova versione aggiornata. Alcuni hard fork hanno lo scopo semplicemente di aggiornare il registro, mentre altri si diramano e formano di fatto criptovalute completamente nuove. Uno degli esempi più noti di hard fork di quest'ultima varietà è quello che ha consentito a Bitcoin Cash di effettuare il fork dalla blockchain principale di Bitcoin il 1° agosto 2017.

Quando si verificano questi hard fork, diventa teoricamente possibile per gli aggressori utilizzare attacchi replay contro i registri blockchain. Una transazione elaborata su un registro da una persona il cui portafoglio era valido prima dell'hard fork sarà valida anche sull'altro. 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 fraudolentemente un numero identico di unità sul proprio conto una seconda volta. Poiché i loro portafogli non fanno parte della storia condivisa dei registri, gli utenti che arrivano a una blockchain dopo un hard fork non sono vulnerabili a questi attacchi.


Come si possono proteggere le blockchain da questi attacchi?

Sebbene la vulnerabilità dei registri blockchain biforcati agli attacchi di riproduzione sia una preoccupazione valida, la maggior parte degli hard fork includono protocolli di sicurezza specificamente progettati per impedire che questi attacchi abbiano successo. Le misure efficaci contro gli attacchi di replay blockchain rientrano in due categorie, note come protezione dai replay forti e protezione dai replay opt-in. Nella protezione forte dal replay, viene aggiunto un indicatore speciale al nuovo registro che emerge dall'hard fork per garantire che le transazioni condotte su di esso non saranno valide sul registro legacy, e viceversa. Questo è il tipo di protezione che è stata implementata quando Bitcoin Cash si è biforcato da Bitcoin.

Una volta implementata, la forte protezione dal replay viene eseguita automaticamente non appena si verifica l'hard fork. Tuttavia, la protezione dalla riproduzione attiva richiede agli utenti di apportare manualmente modifiche alle proprie transazioni per garantire che queste non possano essere riprodotte. La protezione opt-in può essere utile nei casi in cui l'hard fork è inteso come un aggiornamento del registro principale di una criptovaluta, piuttosto che come una sua completa separazione.

Oltre a queste soluzioni a livello di registro, i singoli utenti possono anche adottare misure per proteggersi dall'essere vittime di attacchi di riproduzione. Un metodo per farlo è bloccare il trasferimento delle monete finché il registro non raggiunge un certo numero di blocchi, impedendo così che qualsiasi attacco di replay che coinvolga quelle unità di moneta venga verificato dalla rete. Va notato, tuttavia, che non tutti i portafogli o i registri offrono questa funzione.


Pensieri conclusivi

Gli attacchi di riproduzione rappresentano una vera minaccia per la sicurezza della rete quando hanno successo. A differenza di molti altri tipi di attacchi, gli attacchi replay non si basano sulla decrittografia dei dati, il che li rende una soluzione efficace per gli autori malintenzionati che devono sempre più confrontarsi con protocolli di crittografia sicuri. A causa degli hard fork utilizzati per aggiornarli o dividerli, i registri blockchain sono particolarmente vulnerabili a questo tipo di attacco informatico. Tuttavia, esistono soluzioni robuste che sono ragionevolmente efficaci nel proteggere i sistemi blockchain da essi. In particolare, l’impiego di una forte protezione da replay può garantire che gli aggressori non saranno in grado di replicare le transazioni dopo che si è verificato un hard fork.