Los ciberataques están a la orden del día en el mundo de las criptomonedas; muchos son directos y otros se ejecutan de forma sigilosa al mezclar datos válidos con actividades maliciosas, siendo el ataque Replay un ejemplo muy claro de esa realidad. Este tipo de ataque esconde un fin malévolo: obtener información sobre una red, engañar a usuarios e instituciones y duplicar las transacciones. ¡La buena noticia es que es posible prevenirlo!
¿Qué es un ataque Replay?
Un ataque Replay –o de repetición– es un tipo de ciberataque en el que un hacker captura y luego retransmite datos que pertenecen a una transacción válida. Este tipo de ataque es especialmente eficaz porque los datos originales son válidos –el hackers tuvo acceso a las credenciales de la red–, haciendo que los protocolos de seguridad de la red no lo reconozcan como un procedimiento malicioso. Como resultado, el ataque se trata como una transmisión de datos normal.
En estos ataques los mensajes originales simplemente se repiten textualmente, por lo cual los atacantes no necesitan desencriptarlos. Esto hace que sea más fácil de ejecutar y es la razón de que sea uno de los hackeos más comunes en el mundo cripto.
¿Cómo se ejecuta un ataque Replay?
El ataque Replay tienden a ejecutarse con mayor fuerza cuando hay un hard fork –bifurcación dura–, ese proceso en el que ocurre una actualización de software que no es compatible con versiones anteriores, lo que hace que los usuarios no puedan validar las transacciones si no actualizan la nueva versión.
Ahora bien, mientras ese proceso de hard fork está en marcha y la blockchain es dividida en dos, imaginemos que dos usuarios aprovechan esta ‘debilidad’ de la red para actuar de forma malintencionada. ¿Cómo lo hacen?
Supongamos que el ‘Usuario X’ había recibido varias transacciones del ‘Usuario Y’ antes del hard fork. Para llevar adelante el plan malvado, ambos vuelven a enviar esas transacciones en la nueva red, haciendo que se repita y sea tomada como válida en la nueva blockchain.
El ‘Usuario X’ y el ‘Usuario Y’ podrán obtener fondos por el valor de las antiguas transacciones hechas en la antigua blockchain.
¿Cuáles son las consecuencias de un ataque Replay?
Desde el punto de vista de las víctimas de estos ataques, la consecuencia puede ser la pérdida de sus fondos, así como la vulneración de la privacidad de sus transacciones que deja información delicada en manos del atacante.
En un ataque Replay exitoso, el atacante puede obtener las credenciales de inicio de sesión de uno o de varios usuarios y utilizarlas para acceder al sistema sin ser detectado. Además, el atacante también podrá ver todo lo que el usuario ha hecho en el pasado y podrá engañar a entidades financieras para duplicar transacciones.
Todo esto representa una grave amenaza para el ecosistema cripto.
¿Se puede prevenir un ataque Replay? Medidas a tomar en cuenta
Hay dos formas principales de protegerse contra los ataques Replay de blockchain: la protección contra repetición fuerte y la protección contra repetición opcional.
La protección de repetición fuerte consiste en añadir un marcador a la nueva cadena de bloques que surge de una bifurcación dura. Este marcador garantiza que las transacciones realizadas en la nueva cadena de bloques no serán válidas en la antigua, y viceversa. Este tipo de protección se utilizó cuando se creó Bitcoin Cash. Se activa automáticamente cuando se produce el hard fork.
Por otro lado, la protección contra repeticiones requiere que los usuarios realicen cambios en sus transacciones manualmente para protegerse contra ataques Replay. Esto es útil en situaciones en las que la bifurcación es una actualización de la cadena de bloques, más que una división completa de la criptomoneda.
Los usuarios individuales también pueden tomar medidas para protegerse de los ataques de repetición. Un método consiste en impedir la transferencia de monedas hasta que se haya minado un determinado número de bloques en la nueva cadena de bloques. Esto impide que la red verifique cualquier ataque de repetición que afecte a esas monedas. Sin embargo, esta opción no está disponible en muchos monederos o cadenas de bloques.
¿Qué diferencia hay entre un ataque Replay y un ataque Finney?
El Ataque Finney es un tipo de ataque más sofisticado y significativamente más complejo por lo cual, no es tan común como el Replay. Una de las diferencias más marcadas entre estos hackeos es que el Ataque Finney solo puede ser realizado por un minero que cuente con un importante poder de hash rate, mientras que el Ataque Replay puede ser ejecutado por cualquier actor malicioso que consiga encontrar la debilidad en la red que se necesita para ejecutarlo.
En ambos ataques se duplica una transacción válida, sin embargo, en el Ataque Finney la primera transacción válida pertenece al atacante, quien debe realizar dos transacciones simultáneas con la intención de que exista un doble gasto. En el Ataque Replay, el ciberdelincuente solo realiza la retransmisión de datos de una transacción válida que es hecha por un tercero.