El ataque de reproducción, también conocido como ataque de reproducción, es un ataque de red en el que una entidad maliciosa intercepta datos válidos y los transmite repetidamente en la red. Debido a la validez de los datos originales (normalmente de un usuario autorizado), los protocolos de seguridad de la red suelen tratar este ataque como una transmisión de datos normal. Al mismo tiempo, dado que los piratas informáticos que realizan ataques de reproducción interceptarán la información original y la retransmitirán sin cambios, normalmente no necesitan descifrar los datos.
¿Qué tipo de daño puede causar un hacker mediante un ataque de repetición?
Los ataques de repetición pueden obtener acceso a otra información almacenada dentro de una red protegida mediante la transmisión de credenciales que parecen válidas. También pueden engañar a las instituciones financieras para que repitan transacciones, lo que permite a los atacantes retirar fondos directamente de las cuentas de las víctimas. En algunos casos, los piratas informáticos combinan diferentes partes de diferentes mensajes cifrados y cargan el texto cifrado resultante en la red. Este es el llamado ataque de cortar y pegar. Los piratas informáticos suelen utilizar este tipo de ataques para obtener información más valiosa en la red y utilizar esta información para dañar aún más el sistema.
Los ataques de repetición plantean algunos riesgos obvios, pero los piratas informáticos que sólo los utilizan obtienen beneficios limitados. Un atacante no puede alterar los datos que se están transmitiendo y no han sido rechazados por la red, por lo que la efectividad de este ataque se limitará a retransmitir datos anteriores. Y estos ataques suelen ser fáciles de defender. Las defensas básicas, como agregar marcas de tiempo a las transferencias de datos, pueden evitar ataques simples de repetición. Los servidores también pueden almacenar en caché los mensajes duplicados y cortar las conexiones a dichos mensajes después de un cierto número de veces, limitando así el número de repeticiones consecutivas que puede realizar un atacante.
¿Por qué los ataques de repetición son críticos en el espacio de las criptomonedas?
Si bien estos ataques no son exclusivos del mundo de las criptomonedas, son particularmente relevantes para el entorno de seguridad de las transacciones de criptomonedas y los libros de contabilidad de blockchain. Porque los libros de contabilidad de blockchain a menudo sufren cambios o actualizaciones de protocolo llamados "bifurcaciones duras". Cuando se produce una bifurcación, el libro de contabilidad existente se divide en dos partes: una parte ejecuta la versión heredada del software y la otra ejecuta la versión actualizada. Algunas bifurcaciones duras son simplemente para actualizaciones del libro mayor, mientras que otras son para la formación más eficiente de nuevas criptomonedas. El ejemplo más obvio de este último efecto es la bifurcación dura que ocurrió el 1 de agosto de 2017, una actualización que permitió a Bitcoin Cash separarse del libro mayor de Bitcoin.
Cuando se producen estas bifurcaciones duras, en teoría un atacante podría realizar un ataque de repetición en el libro mayor de la cadena de bloques. Las transacciones procesadas en un libro mayor pueden ser válidas en otra cadena después de la bifurcación dura. Entonces, alguien que recibe una cierta cantidad de criptomonedas en un libro mayor puede cambiar a otro libro mayor y copiar la transacción, y recibir de manera fraudulenta la misma cantidad de criptomonedas por segunda vez. Y debido a que la billetera no es parte del historial compartido del libro mayor, los usuarios que accedan a la cadena de bloques después del hard fork no serán vulnerables a tales ataques.
¿Cómo protege blockchain contra tales ataques?
Sí, la vulnerabilidad de un libro de contabilidad de blockchain bifurcado a posibles ataques de repetición merece nuestra atención, pero la mayoría de los bifurcaciones duras incluyen protocolos de seguridad diseñados específicamente para prevenir tales ataques. Las medidas efectivas contra los ataques de repetición de blockchain se dividen en dos categorías: una es la protección de repetición obligatoria y la otra es la protección de repetición selectiva. En la protección de repetición obligatoria, se agregan marcas especiales al nuevo libro mayor generado por la bifurcación dura para garantizar que las transacciones realizadas en el nuevo libro mayor no sean válidas en el antiguo, y viceversa. Este método se utilizó para proteger Bitcoin Cash cuando se bifurcó de Bitcoin.
Esta protección de repetición obligatoria se aplica automáticamente tan pronto como se produce una bifurcación. La protección de reproducción selectiva requiere que los usuarios cambien manualmente sus transacciones para garantizar que no se puedan reproducir. La protección de repetición selectiva es efectiva cuando una bifurcación dura es una actualización del libro mayor principal de la criptomoneda en lugar de un nuevo libro mayor.
Además de estas soluciones de libro mayor, los usuarios individuales pueden tomar medidas por su cuenta para protegerse de los ataques de repetición. Un método es bloquear los tokens que se transfieren hasta que el libro mayor tenga una cierta cantidad de bloques, evitando así la validación de la red para ataques de repetición por parte de aquellos con la misma cantidad de tokens. Sin embargo, cabe señalar que no todas las billeteras o libros de contabilidad ofrecen esta función.
Resumir
Cuando un ataque de repetición se implementa con éxito, representa una amenaza para la seguridad de la red. A diferencia de otros tipos de ataques, los ataques de repetición no se basan en el descifrado de datos, lo que los convierte en una "solución" eficaz para que los actores malintencionados combatan protocolos de seguridad cada vez más sofisticados. Pero también existen algunas soluciones poderosas que pueden prevenir eficazmente que los sistemas blockchain se vean afectados por ellas. En particular, el uso de protección de reproducción obligatoria puede impedir eficazmente que los atacantes copien transacciones después de que se produzca una bifurcación dura.
