-
Un ataque forzaría el retiro masivo de fondos en un momento de congestión de la red.
-
El ataque impediría que los canales afectados puedan recuperar sus fondos a tiempo.
Un potencial ataque pone en riesgo los fondos de usuarios de la Lightning Network (LN) de Bitcoin aprovechando una vulnerabilidad en la red de canales de pago, según un estudio publicado por Jona Harris y Aviv Zohar, de la Universidad Hebrea de Jerusalén. Dicho ataque aprovecharía la congestión de la red Bitcoin para impedir el cierre forzoso de canales y robar los fondos comprometidos.
Esta investigación, denominada “Inundación y botín: un ataque sistémico en la red Lightning”, fue publicada el pasado 15 de junio en los servidores de la Universidad de Cornell, en Estados Unidos.
El reporte, disponible en una versión web a través de Medium, expone que el ataque explotaría los hash time locked contracts (HTLC). Estos HTLC son utilizados para reenviar pagos a través de múltiples canales de la red Lightning, con la garantía de que esos canales intermedios no se apropiarán de los fondos.
La garantía consiste en la posibilidad de que una de las carteras reclame los fondos “publicando transacciones en la cadena de bloques, pero solo dentro de un marco de tiempo limitado”. La vulnerabilidad que hallaron los investigadores parte de este tiempo límite, medido en bloques de la cadena de Bitcoin. En algunos casos, como el del cliente lnd, ese límite es de apenas 10 bloques.
Según el texto, “es relativamente fácil hacer que nodos de Lightning inocentes inunden la cadena de bloques y robar fondos explotando este límite de tiempo”. Es decir, el atacante puede emitir sus propias transacciones de cierre de canales con comisiones de procesamiento altos, aprovechando la congestión la red y capitalizando los fondos de los canales atacados, una vez cumplido el plazo.
Posibilidades detrás del ataque
El reporte establece que una suposición importante en torno a LN es confiar en que “los participantes podrán publicar transacciones en la cadena de bloques si se enfrentan a pares maliciosos o que no responden”. Este tipo de ataque rompe precisamente con ese principio, que se fundamenta en evitar esas transacciones destinadas a asegurar los fondos de los canales.
“Muchas transacciones que tienen como objetivo asegurar los fondos de los participantes no serán admitidas de inmediato en blockchain, lo que permitirá a los atacantes robar dinero»
Jona Harris y Aviv Zohar, investigadores de la Universidad Hebrea de Jerusalén
La magnitud del ataque descrito por los investigadores dependerá de “la combinación de implementaciones de Lightning que el atacante elige asaltar”. Sin embargo, en la experimentación descrita en el estudio se llegó a la conclusión de que “85 canales atacados simultáneamente son suficientes para garantizar que el atacante se salga con la suya”. Es decir, bastan esos canales para garantizar que tome algunos fondos.
Ataque en cuatro fases
El ataque simulado por los investigadores se divide en cuatro partes. Primero, se presume que el atacante controla dos nodos, tanto el de origen como el de destino. El primer nodo abre canales con víctimas potenciales y los configura con fondos propios por montos que le resulte atractivo robar y estén disponibles en los nodos atacados. Luego, ese nodo fuente “comienza a hacer muchos pagos HTLC destinados al nodo objetivo” enrutando a través de los canales recién abiertos.
«El atacante elige la cantidad para cada pago HTLC de una manera que utilice los fondos máximos que pueden ser robados. Esto se hace distribuyendo la cantidad máxima transferible (excluyendo tarifas) por igual en todos los HTLC enrutados a través del canal»
Jona Harris y Aviv Zohar, investigadores, Universidad Hebrea de Jerusalén
En una siguiente fase, el nodo receptor “resuelve todos los pagos devolviendo los secretos necesarios y reclama estos fondos para sí mismo”, cerrando múltiples canales de forma simultánea.
Finalmente, cada canal atacado se “inunda” con HTLC sin resolver. En ese punto, las víctimas cuentan con un tiempo limitado para reclamar sus fondos. Al vencerse el plazo, el atacante puede reclamar los fondos en esos canales atacados para sí.
La investigación señala que una víctima podría reclamar sus fondos una vez pasado el tiempo límite. Sin embargo, esa víctima no tendría la capacidad de definir las tarifas para sus transacciones. Estaría atada a las comisiones fijadas al momento de abrir el canal. “Nuestro ataque se hace aún más fácil ya que el protocolo Lightning permite al atacante aumentar la tarifa ofrecida por sus propias transacciones”, agregan al respecto los investigadores.
El atacante puede establecer la tarifa para sus propias transacciones como lo desee y reemplazar las transacciones de las víctimas que no se confirmaron después del vencimiento utilizando la política Reemplazar por comisión (RBF).
Agrega el informe.
Posibles formas de mitigar la vulnerabilidad
El informe de Harris y Zohar expone una lista de posibles casos de mitigación que incluye 6 opciones.
La primera es reducir el número máximo de HTLC sin resolver en cada canal. Esto forzaría a un eventual atacante a encontrar más víctimas para robar la misma cantidad de fondos. Pero un mínimo muy bajo haría más fácil un ataque de denegación de servicio congestionando muchos canales en la red, agregan los investigadores.
Otra opción es cerrar canales antes “cuando se enfrentan con mal comportamiento”, según el texto. Si un nodo tiene muchos HTLC pendientes que la otra parte no resuelve, la probabilidad de un ataque es alta. Por eso, los investigadores recomiendan que “el canal debe cerrarse antes, para evitar perder fondos”.
El informe también sugiere como posibles soluciones la publicación de las transacciones de cierre de canales sin esperar por las confirmaciones en la cadena, aplicar valores de reputación necesarios para interactuar con otros canales, implementar una propuesta denominada “salidas ancla” o hacer irreemplazables las HTLC. Este último mecanismo es delicado. Debe hacerse cuidadosamente para “no romper los mecanismos de revocación”, explica el estudio.
Por último, Harris y Zohar descartan una posible solución que “podría venir a la mente (pero no es aconsejable)”. La opción que consideran inviable los investigadores es la simplificación de HTLC entrantes. A su juicio, esta opción abre la posibilidad a otras formas de ataque.
Congestión de canales como vulnerabilidad en la red Lightning de Bitcoin
Estando todavía a prueba, la red Lightning de Bitcoin suele estar sujeta a diversas vulnerabilidades. Entre ellas, la congestión de canales ya ha sido explorada anteriormente. A finales de abril, se reportó en CriptoNoticias una modalidad que también permitía el robo de fondos utilizando RBF aprovechando las HTLC.
Anteriormente, el mismo Zohar, que coescribió este reporte, y Ayelet Mizrahi, habían determinado que LN era vulnerable a ataques por congestión de canales de pago. Según su informe, presentado en marzo, con menos de 1 BTC los atacantes podían congestionar la red Lightning o Raiden, otra red de canales de pago, con la finalidad de robar fondos de sus usuarios.