L'attacco replay, noto anche come attacco replay, è un attacco di rete in cui un'entità dannosa intercetta dati validi e li trasmette ripetutamente nella rete. A causa della validità dei dati originali (di solito provenienti da un utente autorizzato), i protocolli di sicurezza della rete di solito trattano questo attacco come una normale trasmissione di dati. Allo stesso tempo, poiché gli hacker che eseguono attacchi replay intercettano le informazioni originali e le ritrasmettono senza modifiche, gli hacker di solito non hanno bisogno di violare i dati.
Che tipo di danno può causare un hacker utilizzando un attacco replay?
Gli attacchi di riproduzione possono accedere ad altre informazioni archiviate all'interno di una rete protetta trasmettendo credenziali che sembrano valide. Possono anche indurre gli istituti finanziari a effettuare transazioni ripetute, consentendo agli aggressori di prelevare fondi direttamente dai conti delle vittime. In alcuni casi, gli hacker combinano diverse parti di diversi messaggi crittografati e caricano il testo cifrato risultante nella rete. Si tratta del cosiddetto attacco taglia e incolla. Gli hacker utilizzano spesso questo tipo di attacco per ottenere informazioni più preziose sulla rete e utilizzare queste informazioni per danneggiare ulteriormente il sistema.
Gli attacchi di riproduzione comportano alcuni rischi evidenti, ma gli hacker che li utilizzano solo hanno vantaggi limitati. Un utente malintenzionato non può manomettere i dati che vengono trasmessi e che non sono stati rifiutati dalla rete, quindi l'efficacia di questo attacco sarà limitata alla ritrasmissione dei dati precedenti. E di solito è facile difendersi da questi attacchi. Difese di base come l'aggiunta di timestamp ai trasferimenti di dati possono prevenire semplici attacchi di riproduzione. I server possono anche memorizzare nella cache messaggi duplicati e interrompere le connessioni a tali messaggi dopo un certo numero di volte, limitando così il numero di replay consecutivi che un utente malintenzionato può effettuare.
Perché gli attacchi replay sono fondamentali nello spazio delle criptovalute?
Sebbene tali attacchi non siano esclusivi del mondo delle criptovalute, sono particolarmente rilevanti per l’ambiente di sicurezza delle transazioni di criptovaluta e dei registri blockchain. Perché i registri blockchain spesso subiscono modifiche o aggiornamenti del protocollo chiamati "hard fork". Quando si verifica un hard fork, il registro esistente viene diviso in due parti, con una parte che esegue la versione legacy del software e l'altra che esegue la versione aggiornata. Alcuni hard fork servono semplicemente per gli aggiornamenti del registro, mentre altri servono per la formazione più efficiente di nuove criptovalute. L’esempio più evidente di quest’ultimo effetto è l’hard fork avvenuto il 1° agosto 2017, un aggiornamento che ha permesso a Bitcoin Cash di diramarsi dal registro Bitcoin.
Quando si verificano questi hard fork, un utente malintenzionato potrebbe teoricamente condurre un attacco di replay sul registro blockchain. Le transazioni elaborate su un registro possono essere valide su un'altra catena dopo l'hard fork. Pertanto, qualcuno che riceve una certa quantità di criptovaluta su un registro può passare a un altro registro e copiare la transazione e ricevere fraudolentemente la stessa quantità di criptovaluta una seconda volta. E poiché il portafoglio non fa parte della storia condivisa del registro, gli utenti che accedono alla blockchain dopo l’hard fork non saranno vulnerabili a tali attacchi.
In che modo la blockchain protegge da tali attacchi?
Sì, la vulnerabilità di un registro blockchain biforcato a possibili attacchi di replay merita la nostra attenzione, ma la maggior parte degli hard fork includono protocolli di sicurezza appositamente progettati per prevenire tali attacchi. Le misure efficaci contro gli attacchi di replay blockchain sono divise in due categorie, una è la protezione da replay obbligatoria e l’altra è la protezione da replay selettiva. Nella protezione obbligatoria dalla riproduzione, vengono aggiunti contrassegni speciali al nuovo registro generato dall'hard fork per garantire che le transazioni eseguite sul nuovo registro non siano valide sul vecchio registro e viceversa. Questo metodo è stato utilizzato per proteggere Bitcoin Cash quando è stato biforcato da Bitcoin.
Questa protezione obbligatoria dalla riproduzione viene applicata automaticamente non appena si verifica un hard fork. La protezione selettiva della riproduzione richiede agli utenti di modificare manualmente le proprie transazioni per garantire che tali transazioni non possano essere riprodotte. La protezione selettiva dal replay è efficace quando un hard fork è un aggiornamento del registro principale della criptovaluta piuttosto che un nuovo registro.
Oltre a queste soluzioni di registro principale, i singoli utenti possono adottare misure autonome per proteggersi dagli attacchi di riproduzione. Un metodo consiste nel bloccare i token trasferiti finché il registro non raggiunge un certo numero di blocchi, impedendo così la convalida della rete per attacchi di replay da parte di coloro che hanno lo stesso numero di token. Tuttavia, va notato che non tutti i portafogli o i registri forniscono questa funzione.
Riassumere
Quando un attacco di riproduzione viene implementato con successo, rappresenta una minaccia per la sicurezza della rete. A differenza di 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 per combattere protocolli di sicurezza sempre più sofisticati. Ma esistono anche alcune potenti soluzioni che possono efficacemente impedire che i sistemi blockchain ne vengano influenzati. In particolare, l’uso della protezione da replay obbligatoria può impedire efficacemente agli aggressori di copiare le transazioni dopo che si è verificato un hard fork.
