Hechos clave:
-
Los atacantes tienen la posibilidad de interceptar contratos HTLC en curso para robar satoshis.
-
Vulnerabilidad en el protocolo de “estandarización de transacciones” también expone a la red.
Dos vulnerabilidades críticas en la red de pagos sobre Bitcoin, Lightning (LN), expone a los usuarios de versiones anteriores a la 0.11.0 a posibles robos de fondos. Así lo documenta el equipo de Lightning Labs, quienes han publicado los detalles de estos errores que afectan los contratos inteligentes y los protocolos de seguridad de la red.
La brecha de seguridad afecta específicamente a los nodos del cliente Lightning Network Daemon (LND), los cuales, se informó a principios del mes de octubre, deben actualizarse a la última versión del software. También fueron notificados del suceso los equipos de Eclair y c-lightning como medida preventiva.
El comunicado de los desarrolladores declara que estas vulnerabilidades pueden ser aprovechadas para llevar a cabo un ataque de Denegación de Servicios (DoS), el cual tendría la capacidad de interrumpir las transacciones de LN e interceptar contratos HTLC. Asimismo, señalan que el error fue descubierto el pasado mes de abril por Antoine Riard, colaborador de Bitcoin Core y Rust-Lightning.
Riard señaló que los bugs son “vulnerabilidades graves”, ya que por medio de ellos se podría robar fácilmente fondos de los usuarios. El experto explicó que “las conexiones de canal de los nodos estaban abiertas”, por lo cual cualquiera que descubriese estas fallas podría “poner fondos en algún nodo y robarlos”. Antoine Riard además señaló que “los nodos (de Lightning) son billeteras calientes”, así que si un atacante aprovechara el error sería una pérdida segura de dinero.
Las dos fallas ya se encuentran parcheadas en la última versión del cliente LND, el 0.11.0, afirman los desarrolladores. Aunque se le dio un plazo de dos semanas a los nodos para actualizar su software, es vital recordar que las anteriores versiones de LND aún poseen el error y potenciales atacantes pueden estar buscando nodos que aún no hayan sido actualizados.
¿Cuál era el problema en los nodos de la red Lightning de Bitcoin?
Las vulnerabilidades que encontró Riard afectan dos funciones distintas de los nodos de Lightning Network, la primera es una medida de seguridad conocida como “Estandarización de las transacciones”. Se tratan de un conjunto de reglas anti-denegación de servicio (DoS) que se implementan en los nodos, adicionales a las reglas de consenso básicas de Bitcoin.
Esta medida fue creada para proteger a la red, pero lo que no se esperaba es que tuviese un error de maleabilidad. Un atacante puede utilizar el protocolo para “invalidar” una transacción indebidamente, haciendo como si la misma no hubiese sucedido. De esta manera, cualquier falla accidental o maliciosa repercute directamente en la pérdida de fondos, mientras abre vías para un ataque DoS que se supone debería contrarrestar.
Los contratos Hashed Timelock (HTLC) también estarían expuestos a ataques de terceros maliciosos. Esta función, indispensable para los canales de pagos en el protocolo de LN, permite que dos partes acuerden realizar un pago en un tiempo determinado. El dinero es bloqueado hasta que el pago sea confirmado, y cuando la operación finaliza se genera una preimagen de la factura cancelada.
El error encontrado por Riard permitiría que un usuario pudiese interrumpir una transacción y no pagar así la factura generada. El atacante recibiría la preimagen para reclamar la factura como pagada, pero en realidad el dinero no llegaba a su destino. De esta manera, terceros maliciosos podían sacarles provecho a los contratos HTLC para robar a usuarios incautos.
No es la primera vez que una falla de este tipo afecta a la red Lightning de Bitcoin, hace tan solo unos meses se detectaron dos vulnerabilidades que también ponían en peligro los fondos de los usuarios. Asimismo, investigadores también han detectado errores en la plataforma que pueden exponer información privada de los usuarios. Ahora que LN tiene la capacidad de crear canales de hasta 10 BTC, es imperativo que la seguridad de la red sea más robusta, una necesidad que sigue retando a los desarrolladores de Lightning.