Per chi fa trading di criptovalute, è molto importante la sicurezza. Occorre cioè mettere in atto le azioni in grado di mantenere in assoluta sicurezza il proprio wallet e le chiavi private contenute al suo interno. Non farlo può esporre gli interessati ad un rischio elevatissimo.
Tra i modi migliori per approntare una rete di sicurezza adeguata intorno al proprio tesoro virtuale, c’è anche la conoscenza delle minacce portate avanti dagli hacker. La pirateria informatica, infatti, è solita aggiornare in continuazione le proprie tecniche, confidando anche nell’ingenuità delle potenziali vittime
In questo articolo andremo ad esaminare il replay attack, una minaccia non molto conosciuta, ma non per questo meno pericolosa. Andiamo quindi a osservarla più da vicino.
Replay attack: di cosa si tratta?
Per replay attack, chiamato anche playback attack, si intende quella tipologia di attacco informatico in cui l’esecutore provvede ad intercettare una trasmissione di dati valida all’interno di un network. Una volta che i dati saranno stati carpiti, potranno essere usati dagli attaccanti senza alcuna necessità di decifrarli.
Proprio la loro validità, infatti, e la provenienza da un utente autorizzato, elude l’operato dei protocolli di sicurezza del network, spingendoli a considerare l’attacco alla stregua di una normale trasmissione di dati.
Attacchi di questo genere possono risultare estremamente utili al fine di ingannare le realtà finanziarie attaccate, spingendole a duplicare transazioni, permettendo in tal modo il prelievo diretto dai conti presenti sulla loro rete.
Proprio il nome, replay attack, provvede ad indicare l’unico vero limite con cui si va a scontrare questo genere di raid. È infatti possibile soltanto ripetere azioni del passato, in quanto l’autore dell’azione non è in grado di modificare i dati della trasmissione intercettata. Ove cercasse di farlo, il network si attiverebbe per respingere la minaccia.
Occorre anche sottolineare come questi attacchi non siano eccessivamente difficili da contrastare. Basta ad esempio aggiungere un timestamp alla trasmissione dei dati, oppure limitarne il numero di ripetizione, limitandone quindi il possibile utilizzo da parte dell’hacker.
Replay attack e blockchain
I replay attack possono essere applicati in ambito blockchain soprattutto quando all’interno della catena si sia verificato un hard fork. In queste occasioni, infatti, dal momento della biforcazione esistono due versioni della blockchain: una segue la vecchia strada, l’altra si incammina per quella nuova.
In questi casi, quindi, si crea l’opportunità teorica di un attacco replay, in quanto una transazione che è stata convalidata da un utente prima dell’hard fork, sarà regolarmente iscritta sulla nuova versione. Ne consegue la possibilità per un utente che abbia ricevuto un pagamento da un’altra persona su una delle due reti, transitare sull’altra, dare luogo di nuovo alla stessa operazione e trasferire l’importo in questione per la seconda volta sul proprio wallet.
Questa possibilità è limitata ai wallet creati prima della biforcazione del codice, mentre i portafogli elettronici creati dopo il fork non presentano vulnerabilità a replay attack. Ciò, naturalmente, non elimina sostanzialmente il problema, ma lo attenua in maniera più o meno sensibile.
Come respingere questo genere di attacco
Come è possibile garantirsi da replay attack? Molti hard fork sono progettati in maniera tale da includere protocolli di sicurezza in grado di prevenirli. Queste misure si dividono in due categorie:
- strong replay protection, il quale prevede l’aggiunta di un indicatore speciale al nuovo registro, teso ad impedire commistioni di alcun genere tra vecchia e nuova blockchain. Il procedimento in questione è stato implementato da Bitcoin Cash all’atto della separazione da BTC;
- opt-in replay protection, che richiede agli utenti l’effettuazione manuale di modifiche alle proprie transazioni. È in effetti utile assicurare l’impossibilità che una transazione sia ripetuta nel caso in cui l’hard fork si limiti ad un aggiornamento del registro, invece di prevedere la separazione drastica tra i due sistemi originati dall’operazione.
Se questi sono i rimedi a livello di registro, ci sono comunque altri accorgimenti utili per impedire il successo di questo genere di attacco. In particolare, sarebbe auspicabile il blocco dei trasferimenti sino al raggiungimento da parte della blockchain di un determinato quantitativo di blocchi. Questa soluzione, però, non è molto utilizzata.