El Ataque de Vector setenta y seis, es un género de ataque de ataque de doble gasto que aprovecha un pequeño fallo en el sistema de acuerdo de Bitcoin para ejecutarse. A resultas de esto, el atacante puede hacerse de fondos de forma maliciosa y producir perdidas a sus víctimas.

Todas las tecnologías desarrolladas, incluyendo la blockchain, cuentan con vectores de ataque que los ciberdelincuentes pueden aprovechar para su beneficio. En el planeta criptográfico, uno de los ataques menos conocidos es el Vector setenta y seis Attack o bien Ataque de Vector 76.

La llegada de las monedas digitales y las criptomonedas llevó consigo un serio problema, el doble gasto. En monedas digitales centralizadas, este inconveniente se soluciona de manera fácil al estar todo el control en un mismo núcleo. Mas en las monedas descentralizadas como Bitcoin, el inconveniente es considerablemente mayor. En verdad, el diseño de Bitcoin logra disminuir al mínimo el inconveniente del doble gasto. Aun, podemos decir que lo “elimina”, mas debido a la naturaleza descentralizada de Bitcoin, siempre y en todo momento va a existir algún punto de fallo que puede utilizarse para efectuar un doble gasto.

Es allá donde el Ataque de Vector 76 o bien Ataque de Confirmación, entra en acción. Este ataque de doble gasto deja que el atacante pueda incluir una transacción con un doble gasto en un bloque y utilizarla para su beneficio. Esto lo consigue, al mandar un bloque autoconstruido a fin de que la red le de una confirmación pensando que el bloque es válido. De esta manera, el atacante puede hacerse con una cierta cantidad de fondos antes que la red pueda percatarse del inconveniente. Este ataque fue descrito por vez primera por el usuario vector76 en el foro de discusión de Bitcointalk.

Pero, para comprender la naturaleza de este ataque es preciso ahondar la manera en de qué forma marcha, y eso es lo que vamos a hacer ahora.

¿De qué forma marcha el Ataque de Vector setenta y seis?

Este ataque es realmente una combinación entre el Ataque de Carrera y el Ataque Finney. Su principal objetivo son los exchanges o bien casas de intercambio, donde los atacantes pueden adquirir y vender, sus criptomonedas y tokens sin ser velozmente detectados.

Pero ¿De qué forma es posible esto? Puesto que bien examinemos un tanto más de cerca la anatomía de este ataque.

¿De qué forma se ejecuta este ataque?

Un Ataque de Vector 76 es ejecutable en el momento en que un minero indecente, que tiene el control sobre dos nodos completos de la red, conecta uno de estos (nodo A) de manera directa con el servicio de un exchange. Entonces, el segundo nodo completo (nodo B), lo interconecta con otros nodos que están bien posicionados en la red de la blockchain. Para conocer a cuáles nodos debe conectar, el minero debe observar el momento en que los nodos transmiten las transacciones, y de qué manera estos entonces las extienden a el resto nodos en internet. De esta manera, va a poder conocer qué nodos son los primeros en trasmitir las operaciones y va a poder conectarse con el servicio objetivo y con nodos bien posicionados.

Luego de que establece las conexiones precisas, el minero produce un bloque válido de forma privada. En ese instante, crea dos transacciones, las que van a tener valores diferentes, siendo una transacción de alto valor y otra de bajo valor. Por poner un ejemplo, la primera transacción puede ser de veinticinco BTC o bien más, y la segunda de solo 0.1 BTC. Más tarde, el minero sostiene retenido el bloque minado y asigna al nodo A la transacción de alto valor, o sea la de veinticinco BTC. Esta va a ser la transacción que va a ser dirigida para efectuar un depósito en el servicio del exchange.

Cuando el minero advierte un anuncio de bloque en internet, transmite inmediatamente el bloque preminado por él, de manera directa cara el servicio de intercambio, al lado del bloque generado últimamente en internet. Esto con la esperanza de que el resto de los nodos consideren a su bloque como válido y los acepten como una parte de la cadena primordial. De este modo, dicho bloque va a quedar confirmado, y en consecuencia, se valida la transacción de veinticinco BTC que está incluida en él.

Una vez que el servicio del exchange confirma la transacción de veinticinco BTC, el atacante efectúa un retiro del exchange por exactamente la misma cantidad de criptomonedas que depositó en la transacción precedente (veinticinco BTC). Entonces, el atacante manda la segunda transacción creada, la de 0.1 BTC, a la red desde el nodo B. Con la meta de crear una bifurcación que haga que la red rechace y también invalide la primera transacción. Si esta bifurcación subsiste, la primera transacción con el depósito de veinticinco BTC va a quedar invalidada, mas el retiro si se va a haber efectuado. Por ende, el atacante va a haber tenido éxito y el exchange va a perder veinticinco BTC.

  • Fase 1 de un Ataque Vector setenta y seis
  • Fase dos de un Ataque Vector setenta y seis
  • Fase tres de un Ataque Vector setenta y seis
  • Fase cuatro de un Ataque Vector setenta y seis
  • Fase cinco de un Ataque Vector setenta y seis

Probabilidad de éxito del ataque

Todos estos procesos ocurren inmediatamente y simultánea, con lo que es muy posible que la transacción de 0.1 BTC sea tomada como la cadena primordial. Mas, dos bloques después, la transacción de depósito con veinticinco BTC quede invalidada. Esto debido a que el nodo B, que transmite la transacción de 0.1 BTC, está conectado a nodos bien posicionados que retransmitirán esa transacción de forma considerablemente más veloz en internet. Al tiempo que el nodo A, que contiene la transacción depósito de veinticinco BTC, está conectado de forma directa solo con el servicio del exchange. Este nodo, deberá retransmitir dicha transacción a otros nodos, con lo que es considerablemente más lento que el nodo B.

En caso contrario, en el que el bloque admitido en la cadena primordial contenga la transacción de veinticinco BTC, el atacante solo retirará los veinticinco BTC que depositó en el exchange. Con lo que, el Ataque de Vector setenta y seis no tendría éxito. Todavía de este modo, en este escenario no hay pérdidas ni ganancias, ni para el atacante ni para el exchange.

Explicado esto, se puede advertir que hay una alta probabilidad de éxito en la ejecución de esta clase de ataque. Mas, todavía de este modo, no es común efectuarlo debido a que se precisa de un exchange que admita efectuar los pagos de retiro tras tan solo una confirmación, y la enorme mayoría de los exchanges acostumbran a requerir de dos a seis confirmaciones.

No obstante, asimismo un negocio que ofrezca recursos o bien servicios digitales podría ser víctima de esta clase de ataque.

¿Cuánto sabes, criptonauta?

¿La existencia del Ataque de Vector setenta y seis es una muestra de la carencia de seguridad de la blockchain?

¿De qué manera resguardarse de un Ataque de Vector setenta y seis?

Para resguardarse de este género de ataques se debe tener en consideración ciertas recomendaciones:

  1. Usar sistemas que no admitan transacciones con una sola confirmación. El Ataque de Vector setenta y seis requiere que esto resulte posible para llevar el ataque exitosamente. En su sitio, lo mínimo que deberíamos aguardar es a tener dos confirmaciones, o bien aun seis, como se aconseja extensamente.
  2. El nodo que utilicemos debe eludir tener habilitadas las conexiones entrantes, o bien en su defecto, delimitar conexiones entrantes desde equipos bien reconocidos. Esto evita que el atacante puede inyectar información falsa sobre la cadena de bloques a nuestro nodo.
  3. Las conexiones salientes del nodo asimismo han de ser monitoreadas y solo toleradas a nodos bien conocidos. Con esto se evita que nuestros nodos puedan dar información sobre el estado de la cadena que manejamos.

Con estas medidas podemos resguardarnos de esta clase de ataque sin mayores inconvenientes.