Un documento publicado por los desarrolladores de Bitcoin afirma que los fondos de los usuarios de Lighting Network corren riesgo de ser robados. Todo ello aprovechando una vulnerabilidad de seguridad detectada en esta solución de segunda capa. 

El documento titulado Time-Dilation Attacks on the Lightning Network revela la posibilidad de que un hacker efectúe un ataque conocido como “ataque de dilatación temporal”. Este ataque puede provocar una prolongación del tiempo en la entrega del bloque. Al momento de eclipsar o aislar a los nodos víctimas de la red de nodos honestos.

Así mismo, los desarrolladores de Bitcoin, Antoine Riard y Gleb Naumenko, revelaron que a través del ataque de dilatación temporal es posible realizar 3 vectores de ataque. Los desarrolladores señalan que estos parecen ser actualmente la forma común y más práctica en que los hackers pueden robar los fondos bloqueados en la red de Lighting Network (LN). Además, indican que estos ataques se ejecutan a través de un Ataque Eclipse. Recordemos que un Ataque Eclipse aísla la conexión de red de los usuarios. Enviando una gran cantidad de datos falsos sobre la blockchain a la que pertenecen. Usando para ello nodos maliciosos bajo el control del atacante.  

Como mencionamos, en el documento se describen las 3 posibles formas en las que un atacante puede robar fondos de usuarios de la red LN. Así mismo, los autores del informe señalan que están enfocados en analizar los efectos de estos ataques en LN. Pero que aun así estos ataques también pueden ejecutarse en otros protocolos de segunda capa similares a esta red. 

Cabe destacar que la red Lightning Network (LN) es una implementación de segunda capa diseñada para brindar velocidad y rapidez en las transacciones de Bitcoin. Esto con el objetivo de superar los problemas originales de escalabilidad que presentaba este sistema. 

Te puede interesar: Déjame contarte sobre ransomware y su situación actual 2019/20

¿Cómo se ejecuta el ataque de dilatación temporal en Lighting Network?

En los ataques de dilatación temporal, un actor malicioso ralentiza la entrega de bloques a la víctima. Lo que se efectúa a través de un Ataque Eclipse. Para luego revelar un estado de vencimiento en el tiempo de la entrega del bloque dentro de la red LN. Todo esto antes de que el nodo víctima pueda darse cuenta de que está siendo atacado. 

Recordemos que el ataque Eclipse, o Eclipse Attack en inglés, es un ataque de red que manipula los datos recibidos por los usuarios de una blockchain. Con la finalidad de aislarlos y desconectarlos de la red para ejecutar actividades maliciosas contra las víctimas. 

El ataque Eclipse es posible gracias a las conexiones peer-to-peer (p2p) entre nodos de una blockchain. Las cuales cuentan con una limitante en el número de conexiones. Por ejemplo, en la red Bitcoin los nodos pueden establecer conexiones seguras con un máximo de 8 nodos. Así mismo, dentro de la red de LN, los nodos pueden establecer conexiones con una cantidad limitada de nodos. Por lo que los nodos son propensos al secuestro con relativa facilidad.

Por su parte, los desarrolladores especifican que aunque en LN los nodos son manejados principalmente por grandes proveedores de servicios, los atacantes pueden fácilmente cubrir los altos costos de estos ataques. Una vez claro que se han hecho con la totalidad de fondos disponibles de la víctima. 

Así mismo, Riard y Naumenko señalan que para efectuar estos ataques, los actores maliciosos pueden necesitar tan sólo un par de horas. Además, señalan que los usuarios que implementan los clientes ligeros para recibir información de la blockchain de Bitcoin son los más propensos y vulnerables al ataque. Y una vez que los nodos se «eclipsan» existe el 93% de probabilidad de que el ataque se realice con éxito. 

Formas posibles de efectuar el ataque

En primer lugar, los desarrolladores argumentan que a través de la creación de un canal de pago, los atacantes pueden ejecutar el ataque Eclipse y aplicar la dilatación temporal. Esto retrasa la entrega del bloque, pero es un aspecto que puede no percibirse de forma inmediata dentro de la red. Ya que los bloques se minan aproximadamente cada 10 minutos. Pero esto es un tiempo que puede adelantarse o extenderse según la dificultad de la red. 

Entonces, al introducir una dilatación del tiempo y crear un canal de pago, el atacante puede hacerse con los fondos de la víctima. Dirigiéndolos a una dirección propia para adueñarse de estos fondos. 

En segundo lugar, la implementación del ataque de dilatación temporal junto a Eclipse puede dar lugar a un umbral para el doble gasto. Donde el atacante puede efectuar varias transacciones con la misma cantidad de monedas. Similar a como ocurriría este ataque directo sobre la blockchain de Bitcoin. Así, en la cadena más larga, uno de los pagos se efectuará. Mientras que el otro pago será rechazado por la red. 

En caso del ataque Eclipse, el nodo que es manipulado bajo el ataque piensa que las transacciones recibidas son válidas. Por lo que informa a la víctima de que las transacciones se han hecho con éxito.  

El tercer vector de ataque básicamente manipula las medidas de seguridad de los HTLC (Hash Time-Lock Contracts). Esto con el fin de permitirle al atacante extraer los fondos del canal sin que la víctima pueda hacer nada para contrarrestarlo.  Este ataque difiere del anterior porque un atacante solo necesita un canal con una víctima, pero también debe seleccionarse para una ruta de pago. 

Este ataque difiere en la forma en que un atacante finaliza el canal en cadena mientras roba fondos (al expirar un HTLC robado). De esta forma, la víctima no puede reclamar sus fondos una vez se cierra el canal. El error a toda vista radica en la implementación de los HTLC y la forma en como trabajan. Por lo que deberán mejorarse para evitar este tipo de ataques. 

Continúa leyendo: Erebus, un ataque que puede censurar a Bitcoin