Un attacco replay si verifica quando un cybercriminale spia le comunicazioni su una rete sicura, le intercetta e quindi le ritarda o le reindirizza in modo fraudolento per depistare il destinatario inducendolo a fare quello che vuole l'hacker. Il pericolo aggiunto degli attacchi replay è costituito dal fatto che un hacker non ha nemmeno bisogno di competenze avanzate per decriptare un messaggio dopo averlo intercettato in rete. L'attacco può andare a segno semplicemente con il reinvio del messaggio.
Come funziona
Facciamo un esempio tratto da una situazione reale. Un membro del personale richiede un trasferimento finanziario inviando un messaggio criptato all'amministratore finanziario dell'azienda. Un cybercriminale intercetta il messaggio ed è ora nella posizione di reinviarlo. Trattandosi di un messaggio autentico che è stato semplicemente rispedito, il messaggio è già criptato correttamente e sembra legittimo all'amministratore finanziario.
In questo scenario, l'amministratore finanziario molto probabilmente risponderà a questa nuova richiesta a meno che non abbia un valido motivo per essere sospettoso. E la risposta potrebbe includere l'invio di un'ingente somma di denaro sul conto corrente dell'autore dell'attacco.
Come fermare un attacco replay
Per impedire un attacco di questo tipo, l'unica soluzione è disporre del giusto metodo di criptaggio. I messaggi criptati contengono al loro interno delle "chiavi" che, al momento della decodifica alla fine della trasmissione, aprono il messaggio. In un attacco replay non importa se l'aggressore che ha intercettato il messaggio originale è in grado di leggere o decifrare la chiave. Tutto quello che deve fare è intercettare e reinviare il tutto, messaggio e chiave.
Per contrastare questa possibilità, sia il mittente che il destinatario dovrebbero stabilire una chiave di sessione completamente casuale, vale a dire un tipo di codice che è valido solo per una transazione e non può essere riutilizzato.
Un'altra misura preventiva per questo tipo di attacco consiste nell'utilizzare timestamp in tutti i messaggi. Questo impedisce agli hacker di reinviare messaggi inviati prima di un determinato momento, riducendo così la finestra di opportunità per un cybercriminale di intercettare un messaggio, appropriarsene e inviarlo nuovamente.
Un altro metodo per evitare di diventare una vittima è quello di avere una password per ogni transazione da utilizzare una sola volta e quindi eliminare. Questo assicura che anche se il messaggio viene registrato e reinviato dall'autore dell'attacco, il codice di criptaggio è scaduto e non funziona più.