4 Vulnerabilidades de la red de rayos de Bitcoin que no han sido explotadas (todavía)

Este es el primer artículo de nuestra serie de dos partes sobre las vulnerabilidades existentes en la Red de Rayos de Bitcoin. La primera parte detalla las vulnerabilidades destacadas y sus factores de riesgo. La segunda parte examinará por qué estos puntos débiles nunca han sido explotados, qué cambios se pueden hacer para arreglarlos y las compensaciones en desarrollo que vienen de equilibrar las aplicaciones fáciles de usar y la seguridad hermética.

Un chiste corriente (o quizás, una admisión) en los círculos de Bitcoin afirma que los defensores más firmes de Bitcoin son también sus críticos más incisivos, particularmente aquellos en su círculo de desarrolladores. Saben cómo se hace la salchicha, por así decirlo, y pueden ver el lado desagradable de cómo se procesan los bits y bytes para cada nueva actualización.

No es que estos desarrolladores sean negativos con respecto a Bitcoin; sólo son realistas. Esto se podría decir con certeza de Antoine Riard. El desarrollador de Chaincode Labs ha escrito varios artículos este año sobre los vectores de ataque de la red Lightning.

Menciona estas (y otras) vulnerabilidades en una nueva entrada de blog, „Why We May Fail Lightning“ como un recordatorio aleccionador de que, a pesar del bombo, la red secundaria de Bitcoin para pagos más rápidos y baratos todavía necesita trabajo antes de que pueda soportar un despliegue masivo. Y no es el único desarrollador de Lightning que tiene esta opinión.

En palabras del desarrollador independiente Lightning, Joost Jager, en el corazón de estos vectores de ataque están las compensaciones de diseño que exponen „el equilibrio entre la funcionalidad de la construcción y la seguridad [de Lightning]“. Algunas características como Neutrino, por ejemplo, que han abierto la puerta a carteras móviles más fiables y fáciles de usar para Lighting, también han abierto nuevos tipos de ataques.

Con cada actualización llega la oportunidad, tanto para mejorar el protocolo como para explotar los nuevos problemas que las nuevas soluciones crearon.

„Lightning“ es genial, pero no se puede decir que esté probado en la batalla. Si los guionistas estuvieran interesados, podrían quitar esos nuevos y brillantes canales wumbo de 5 BTC con un costo insignificante y sin ningún esfuerzo“, Joost Jager, un ingeniero de redes de Lightning que anteriormente trabajaba en Lightning Labs, recientemente tweeteó.

Lo que sigue es una lista de algunos de los ataques más preocupantes que podrían ser lanzados en la red Lightning de Bitcoin.

Vulnerabilidad: GriefingJager’s

El hilo detalla un ataque llamado „de duelo“ que ha sido posible desde el inicio de Lightning y que afecta a los canales wumbo normales y de nuevo despliegue.

Los canales Lightning ejecutan pagos en la red utilizando una función criptográfica llamada contratos de bloqueo de tiempo de hash (HTLC). Los canales del rayo sólo pueden acomodar unos pocos cientos de HTLCs. Una vez que esto se agota, el canal ya no puede procesar los pagos – los fondos se atascan y el canal debe ser cerrado.

Cómo el duelo podría causar problemas

Básicamente, un atacante podría congelar el bitcoin depositado en un canal de pago Lightning enviando spam a ese canal con micropagos. Aunque el ataque no puede ser usado para robar los fondos de otro usuario, podría ser usado por un adversario para sabotear la capacidad de un competidor para enrutar los pagos, dijo Jager.

Consecuencias: Mínimas

En relación con otras vulnerabilidades de la Red de Relámpagos, el duelo es bajo en la escala de peligrosidad ya que sólo puede congelar fondos, no robarlos. Sin embargo, en teoría, el ataque podría ser utilizado por los Proveedores de Servicios de Relámpagos (LSP), los negocios que se basan en Relámpagos y que gestionan el grueso de la liquidez de la red, para sabotear el negocio de un competidor.

En el caso de los canales wumbo, esto es especialmente preocupante si se tiene en cuenta que el ataque podría costar centavos de dólar para su ejecución, al tiempo que incapacitaría a los canales con mucha moneda de bits bloqueada. Un atacante también podría bloquear múltiples canales con esta técnica si los pagos también se enrutan, dijo Jager a CoinDesk.

Qué están haciendo los desarrolladores para arreglarlo?

Como este ataque no es el más serio, nunca ha habido un gran empuje de los mantenedores de Lightning para arreglarlo. Jager, sin embargo, está elaborando una solución de firewall llamada „circuitbreaker“ para que los operadores de los nodos puedan establecer límites en cuanto a la cantidad de pagos y canales que un par puede abrir con su nodo.

Vulnerabilidad: Inundación y saqueo

Inundación y saqueo es similar al ataque de duelo discutido por Jager en que necesita el envío de spam a un canal de pago. En este caso, sin embargo, los fondos se ponen realmente en riesgo.

Cómo pueden las inundaciones y los saqueos causar problemas

Esencialmente, un atacante abriría canales con una víctima (o muchas víctimas) y luego enviaría pagos a otro nodo que controlara sin confirmar que los pagos se hubieran recibido. Cada uno de estos canales está codificado para cerrarse al mismo tiempo.

Cuando esto ocurre, es inevitable que un puñado de estas transacciones de cierre fallen porque hay muchas que se emiten al mismo tiempo a la cadena de bloqueo de Bitcoin (cuando se cierra un canal de pago Lightning, sus fondos se envían a direcciones Bitcoin en cadena). Mientras algunas de estas transacciones están esperando confirmación, el atacante puede emitir sus propias transacciones a la cadena de bloqueo con una tarifa más alta para reclamar estos fondos.

Un sabor de este ataque, descubierto por Rene Pickhardt, permite a un atacante congelar el balance de un canal en las tasas de transacción y chantajear a una víctima para resolver el problema.

Consecuencias: De moderadas a graves

Las inundaciones y los saqueos son más graves que el ataque de duelo, porque una víctima puede perder realmente los fondos de esta vulnerabilidad. Es más fácil de ejecutar que otras vulnerabilidades en este artículo, pero aún así se necesitaría una excelente comprensión de Lightning para lograrlo.

Qué están haciendo los desarrolladores para arreglarlo?

La reciente actualización de los canales de anclaje, que permite a los usuarios de Lightning cambiar las tarifas de forma más dinámica cuando cierran un canal, contribuirá en gran medida a solucionar esta vulnerabilidad.

Vulnerabilidad: Eclipse de dilatación de tiempo

Hay otros ataques más complejos como el ataque de dilatación de tiempo que Riard reveló con Gleb Naumenko. Esto implica un „ataque Sybil“ (usando múltiples identidades para sobrecargar una red) en los nodos de Bitcoin Lightning. Es particularmente eficaz contra los nodos que dan servicio a clientes Light (es decir, carteras Lightning que funcionan utilizando el mínimo de datos necesarios para funcionar).

Cómo un ataque de eclipse podría causar problemas

Si un atacante hiciera girar cientos de nodos y atestara todas las conexiones de un nodo completo de Lightning de tal manera que la víctima ya no estuviera conectada a ningún usuario honesto, el atacante puede aislar ese nodo para que no reciba datos reales de la red.

Con las conexiones del nodo „eclipsadas“, el atacante puede alimentar los datos de transacción del nodo a un ritmo más lento de lo normal. Una vez que el atacante cierra sus canales Lightning con la víctima, podría robar fondos de ese canal porque su nodo anfitrión no verá la transacción de cierre del canal en la cadena de bloqueo porque no está recibiendo datos con la suficiente rapidez.

Consecuencias: Graves

El ataque es particularmente amenazante contra los clientes Lightning porque estas carteras Lightning sólo reciben datos de la cadena de bloques de a uno por vez, a diferencia de un cliente Lightning completo que siempre tiene una copia del historial de transacciones de la cadena de bloques.

Los clientes de Lightning constituyen el grueso de las carteras de Lightning Network de calidad de consumidor de un puñado de proveedores como Lightning Labs, Phoenix, Blue Wallet y otros proveedores de servicios Lightning. Cuando escribieron el documento en junio de 2020, Riard y Naumenko estimaron que un ataque exitoso a escala podría eclipsar el 47% de los nuevos clientes de Lightning.

El ataque es grave en el sentido de que una víctima podría perder fondos. Dicho esto, el ataque requiere que el actor malicioso opere – y coordine – cientos de nodos para eclipsar con éxito a la víctima. Esto se puede lograr, pero se necesitaría un hacker muy competente con una perspicacia estelar de Bitcoin y Lightning Network.

Qué están haciendo los desarrolladores para arreglarlo?

Este ataque es más complicado que los otros en cierto modo porque no hay una única solución que se pueda desplegar en el protocolo Lightning; porque este ataque también se basa en la manipulación de datos en cadena, requiere coordinarse con el desarrollo en la cadena de bloques de Bitcoin, también, para encontrar una solución sostenible.

Vulnerabilidad: Pinning

Otro ataque que requiere datos de transacción incongruentes se conoce como „ataque de clavado“.

Cómo el „pinning“ podría causar problemas

Para explotar esta vulnerabilidad, un sofisticado atacante bloquea la transacción de cierre de un canal emitiendo transacciones conflictivas a nodos separados con mempools diferentes. (Recuerde: No hay un pool uniforme para las transacciones pendientes en la red de Bitcoin; algunos nodos reciben transacciones, otros no se basan en la distribución de las conexiones de la red peer-to-peer, por lo que cada mempool es diferente).

Utilizando diversas técnicas, una de las cuales consiste en establecer una tarifa lo suficientemente baja en una transacción de cierre para garantizar que no se confirme antes de que expire el bloqueo temporal del canal, un atacante puede engañar a la víctima para que cierre sus canales de forma indebida, y así robar transacciones individuales.

Consecuencias: Moderadas

Los fondos pueden ser robados usando este ataque, pero como hemos cedido con el eclipse y la inundación y el saqueo, también requiere un impresionante conocimiento técnico por parte del atacante.

Qué están haciendo los desarrolladores para arreglarlo?

En parte, la actualización de los resultados del ancla ayudará a mitigar este vector de ataque. Pero al igual que con el ataque del eclipse, este ataque depende de la coordinación con la cadena de bloqueo de Bitcoin, por lo que una solución tendrá que tener en cuenta ambas redes.

No es tan aterrador – todavía

Algunas de estas vulnerabilidades son más factibles (y costosas) que otras, pero la buena noticia es que nadie las ha explotado nunca. Discutiremos el porqué de esto en la segunda parte de esta serie, así como presentaremos algunas de las correcciones que están en marcha.

Además, Riard y Jager compartirán sus pensamientos sobre el futuro de la Red de Rayos y el difícil equilibrio que deben encontrar los desarrolladores entre la experiencia del usuario y la seguridad mientras construyen el protocolo.