Un ataque de repetición, a veces también llamado ataque de reproducción, es un ciberataque en el que la entidad maliciosa intercepta y luego repite una transmisión de datos válida que pasa a través de una red. Debido a la validez de los datos originales (que normalmente provienen de un usuario autorizado), los protocolos de seguridad de la red tratan el ataque como si fuera una transmisión de datos normal. Dado que los mensajes originales se interceptan y se retransmiten palabra por palabra, los piratas informáticos que emplean ataques de repetición no necesitan necesariamente descifrarlos.


¿Qué pueden hacer los piratas informáticos con un ataque de repetición?

Los ataques de repetición se pueden utilizar para obtener acceso a información almacenada en una red que de otro modo estaría protegida pasándole credenciales aparentemente válidas. También se pueden utilizar para engañar a las instituciones financieras para que dupliquen transacciones, permitiendo a los atacantes retirar dinero directamente de las cuentas de sus víctimas. En algunos casos, los piratas informáticos combinan partes de diferentes mensajes cifrados y pasan el texto cifrado resultante a la red en lo que se conoce como un ataque de cortar y pegar. La reacción de la red ante este tipo de ataque a menudo le dará al hacker información valiosa que puede utilizar para explotar aún más el sistema.

A pesar de los peligros obvios asociados con ellos, existen límites a lo que los piratas informáticos pueden lograr con ataques de repetición únicamente. Los atacantes no pueden cambiar los datos que se envían sin que la red los rechace, lo que limita la efectividad del ataque a repetir acciones pasadas. Estos ataques también son relativamente fáciles de defender. Una defensa tan básica como agregar una marca de tiempo a la transmisión de datos puede proteger contra simples intentos de repetición. Los servidores también pueden almacenar en caché los mensajes repetidos y cortarlos después de una cierta cantidad de repeticiones para limitar la cantidad de intentos que un atacante puede realizar al reproducir los mensajes en rápida sucesión.


Por qué son importantes los ataques de repetición en el mundo de las criptomonedas

Aunque están lejos de ser exclusivos, estos ataques son particularmente relevantes para el entorno de las transacciones de criptomonedas y los libros de contabilidad de blockchain. La razón de esto es que los libros de contabilidad de blockchain a veces pasan por cambios de protocolo o actualizaciones conocidas como bifurcaciones duras. Cuando se produce una bifurcación, el libro de contabilidad existente se divide en dos: uno ejecuta la versión heredada del software y el otro ejecuta la versión nueva y actualizada. Algunas bifurcaciones duras están destinadas simplemente a actualizar el libro mayor, mientras que otras se ramifican y forman efectivamente criptomonedas completamente nuevas. Uno de los ejemplos más conocidos de una bifurcación dura de esta última variedad es la que permitió que Bitcoin Cash se bifurcara de la cadena de bloques principal de Bitcoin el 1 de agosto de 2017.

Cuando ocurren estas bifurcaciones duras, teóricamente es posible que los atacantes emplee ataques de repetición contra los libros de contabilidad de blockchain. Una transacción procesada en un libro mayor por una persona cuya billetera era válida antes de la bifurcación también será válida en el otro. Como resultado, una persona que recibió una cierta cantidad de unidades de criptomonedas de otra persona a través de un libro mayor podría cambiar al otro libro mayor, replicar la transacción y transferir de manera fraudulenta una cantidad idéntica de unidades a su cuenta por segunda vez. Debido a que sus billeteras no son parte del historial compartido de los libros de contabilidad, los usuarios que llegan a una cadena de bloques después de que se produce una bifurcación no son vulnerables a estos ataques.


¿Cómo se pueden proteger las cadenas de bloques contra estos ataques?

Aunque la vulnerabilidad de los libros de contabilidad de blockchain bifurcados para reproducir ataques es una preocupación válida, la mayoría de los bifurcaciones duras incluyen protocolos de seguridad que están diseñados específicamente para evitar que estos ataques tengan éxito. Las medidas efectivas contra los ataques de repetición de blockchain se dividen en dos categorías, conocidas como protección de repetición sólida y protección de reproducción voluntaria. En una fuerte protección de repetición, se agrega un marcador especial al nuevo libro mayor que surge de la bifurcación dura para garantizar que las transacciones realizadas en él no serán válidas en el libro mayor heredado, ni al revés. Este es el tipo de protección que se implementó cuando Bitcoin Cash se bifurcó de Bitcoin.

Cuando se implementa, la fuerte protección de repetición se ejecuta automáticamente tan pronto como se produce la bifurcación. Sin embargo, la protección de reproducción voluntaria requiere que los usuarios realicen cambios manualmente en sus transacciones para garantizar que no se puedan reproducir. La protección voluntaria puede ser útil en casos en los que la bifurcación dura pretende ser una actualización del libro mayor principal de una criptomoneda, en lugar de una división completa de ella.

Además de estas soluciones para todo el libro mayor, los usuarios individuales también pueden tomar medidas para protegerse de ser víctimas de ataques de repetición. Un método para hacer esto es bloquear la transferencia de monedas hasta que el libro mayor alcance una cierta cantidad de bloques, evitando así que la red verifique cualquier ataque de repetición que involucre esas unidades de monedas. Sin embargo, cabe señalar que no todas las carteras o libros de contabilidad ofrecen esta función.


Pensamientos finales

Los ataques de repetición representan una amenaza real para la seguridad de la red cuando tienen éxito. A diferencia de muchos otros tipos de ataques, los ataques de repetición no dependen del descifrado de datos, lo que los convierte en una solución alternativa eficaz para los actores malintencionados que se enfrentan cada vez más a protocolos de cifrado seguros. Debido a las bifurcaciones duras que se utilizan para actualizarlos o dividirlos, los libros de contabilidad de blockchain son especialmente vulnerables a este tipo de ciberataque. Sin embargo, existen soluciones sólidas que son razonablemente efectivas para proteger los sistemas blockchain de ellos. En particular, el empleo de una sólida protección de repetición puede garantizar que los atacantes no puedan replicar las transacciones después de que se produzca una bifurcación dura.