Un ataque replay o bien ataque de reproducción, es una de las vulnerabilidades más habituales que afectan a las blockchains. Estos ataques acostumbran a ejecutarse a lo largo de la implementación de un hard fork, puesto que es en esos instantes donde se dan las mejores condiciones para su puesta en marcha.  

Un Ataque Replay o bien Ataque de Reproducción, sucede en el momento en que un actor malicioso intercepta y después repite una transmisión de datos válida que pasa por una red. Esto es posible, pues el atacante ha conseguido acceso a credenciales válidas para la red. Debido a esto, los protocolos de seguridad de la red tratan el ataque tal y como si fuera una transmisión de datos normal. De esta forma, el atacante puede efectuar su ataque sin mayores inconvenientes.

Los Ataque Replay afectan muy singularmente a la tecnología blockchain, debido a su funcionamiento como sistema distribuido. Ello se debe a que exactamente esta estructura de funcionamiento facilita esta clase de acciones maliciosas. Todo cuanto precisas es tener acceso a credenciales válidas y que el ataque se lleve en el instante indicado, con esto suficiente para lograr el éxito.

Una explicación más cercana

Para ejemplarizar de forma más fácil este inconveniente, podemos tener en consideración el próximo ejemplo:

Juan tiene una serie de criptomonedas en la blockchain de Bitcoin Cash. No obstante, la blockchain está por padecer un hard fork que va a dividir la blockchain en 2 partes, legacy y la nueva blockchain. Tras la división, Juan tiene exactamente la misma cantidad de criptomonedas en las dos blockchain. En esta situación, Juan quien había recibido múltiples transacciones esenciales de Cristina ya antes del hard fork, decide actuar maliciosamente junto con ella. Para esto, vuelven a efectuar operaciones pasadas (en la blockchain legacy), en la nueva blockchain. Esta “repetición” de transacciones es ratificada por los mineros sobre la nueva blockchain. Esta acción les deja conseguir nuevas criptomonedas por exactamente el mismo valor de las transacciones pasadas. Con esto, Juan y Cristina han efectuado de manera exitosa un ataque replay.

De esta forma, los atacantes pueden hacerse con nuevos fondos de forma inescrupulosa, haciendo ver las horribles consecuencias que esta clase de ataques puede tener sobre toda la red.

Alcances y consecuencias de un ataque replay

Un ataque replay puede tener en primera instancia, el próximo alcance:

  1. Permite suplantar la identidad de uno más usuarios del sistema. En este punto, un atacante puede ciertamente hurtar credenciales de acceso a la red y suplantar la identidad de un usuario. Al hacer esto, el atacante tiene acceso a todo el historial de acciones de tal usuario. Este punto es condición suficiente y precisa para realizar un ataque replay con catastróficas consecuencias.
  2. Permite crear ataques de denegación de servicios (DoS). Un atacante puede hacer que el ataque replay sea masivo en la blockchain. Este escenario es posible debido a la pérdida de poder de cómputo de la blockchain legacy. Al caer el poder de minería de la blockchain legacy, se abre espacio para un ataque de cincuenta y uno por ciento . Esto habilita la creación de nuevas transacciones que pueden ir a la nueva blockchain y dejarla fuera de servicio si se supera su potencia. Otra forma de efectuar este género de acciones es aprovechar una debilidad en el protocolo de mensajes de la red Peer to Peer. A través de esta vulnerabilidad, no solamente se puede hacer el ataque replay, sino más bien asimismo supervisar la red a fin de que solo escuche los mensajes formateados de una manera concreta.

En los dos casos, existen limitantes en las acciones maliciosas que se pueden efectuar. Mas tal vez la más esencial, es que no se pueden mudar los datos que se mandan sin que la red los rechace. Esto limita la eficiencia del ataque a reiterar acciones pasadas, a menos claro que se lleve al lado de un ataque de cincuenta y uno por ciento .

Importancia y también implicaciones de los ataques replay

Este género de ataques son fundamentales a tomar en consideración en la tecnología blockchain. En especial cuando la blockchain pasa por un proceso de hard fork. Esto es, pues los hard fork abren la posibilidad para efectuar más sencillamente este género de acciones.

Ello se debe a que en esos instantes, existen 2 blockchain con información idéntica al tiempo. Esto significa que; una transacción procesada ya antes del hard fork asimismo va a ser válida en la otra. Como resultado, una persona que recibió una cierta cantidad de criptomonedas de otra persona en la vieja blockchain, podría mudar a la otra, contestar la transacción y trasferir de forma fraudulenta un número idéntico de unidades a su cuenta por segunda vez.

Sin embargo, esta situación solo es posible para los usuarios que han tomado parte en el hard fork. O sea, los nuevos usuarios que han creado un monedero después del hard fork no son frágiles ni pueden efectuar esta clase de ataques.

Pero este género de ataques pueden efectuarse en espacios alén de la tecnología blockchain. Por servirnos de un ejemplo, los sistemas de pago contactless o bien NFC también son susceptibles. Para hacer frente a ellos, estos deben tener contramedidas que eviten que un usuario pueda ejecutarlos y hurtar fondos de esa forma.

¿Cuánto sabes, criptonauta?

¿Un ataque replay acarrea a que el atacante tenga el control de la toda red?

Medidas de protección contra esta clase de ataques

Las medidas efectivas contra los ataques de reiteración de blockchain se dividen en 2 categorías: protección de reiteración fuerte y protección de reiteración opt-in.

En una protección de reiteración fuerte, se añade un marcador especial a la nueva blockchain que surge del hard fork. Esto con la intención de asegurar que las transacciones efectuadas no van a ser válidas en la blockchain legacy, ni a la inversa. Este es el género de protección que se incorporó cuando Bitcoin Cash se apartó de Bitcoin. Cuando se incorpora, la protección se ejecuta de manera automática tan pronto como se genera el hard fork.

Por otro lado, la protección de reproducción opt-in requiere que los usuarios efectúen cambios manualmente en sus transacciones. Esto con la intención de asegurar que no puedan ser susceptibles a los ataques replay. Esta protección puede ser útil en los casos en que la bifurcación está pensada como una actualización de la blockchain de una criptomoneda, en vez de una división completa de exactamente la misma.

Además de estas soluciones, los usuarios individuales asimismo pueden tomar medidas para resguardarse. Un procedimiento para hacer esto, es eludir que las monedas se trasfieran hasta el momento en que se alcance un cierto número de bloques en la nueva blockchain. Con esto se evita que la red compruebe cualquier ataque replay que involucre esas unidades de monedas. No obstante, esta es una opción que no está disponible en muchos monederos o bien blockchains.