-
El usuario iniciaba un pago y todas las criptos se enviaban a una dirección del atacante.
-
La falla fue solventada en enero con la actualización del firmware a la versión 1.5.5.
Una vulnerabilidad ya corregida en los monederos Ledger Nano S permitía al atacante sustraer los fondos disponibles en la cartera fría, sin que el usuario se percatara del malware. La falla fue detectada en noviembre del 2018 por el desarrollador Sergey Lappo y solventada por la empresa en enero de este año.
Luego de tres meses del hallazgo y de una nueva versión del firmware para solventar el problema, Lappo reveló la semana pasada detalles de la falla que fue catalogada por Ledger como una “vulnerabilidad crítica” en la aplicación de Bitcoin.
El programador indicó que el malware fue detectado como parte de su trabajo para la startup Mycelium, en conjunto con el desarrollador Leo Wandersleb. El error fue evidente cuando ambos intentaban habilitar SegWit a los usuarios de la cartera Android de Mycelium, lo que generó problemas en la modalidad de gasto mixto en combinación con las carteras de hardware.
La primera señal de alerta se produjo en medio de las pruebas que realizaban, con diversas carteras, para realizar pagos. La Ledger Nano S y a Ledger Blue no emitieron confirmaciones al usuario en los cambios de salidas hacia diferentes cuentas, de acuerdo a las direcciones a las que se deseaba pagar.
No preguntar al usuario por la confirmación de la misma nos sorprendió un poco y decidimos comprobar qué rutas de derivación se aceptarían sin avisar al usuario (…) pero las cosas salieron de forma mucho más interesante: ¡a la cartera no le importaba si el cambio (en la salida) iba hacia un cambio de dirección!.
Sergey Lappo
Software malicioso
El usuario en twitter, SomsenRuben, resumió el problema diciendo que la Ledger se podía engañar para enviar todos los fondos, de todas las cuentas, sin una advertencia del dispositivo. Para lograr esto, el software malicioso operaba de la siguiente forma, según el usuario en la red social.
3/4
This is how it can be exploited:
a. The user initiates a payment on malicious software
b. ALL coins get used as inputs
c. The Ledger gets fooled into accepting a malicious change address (this fault behavior is caused by simply leaving the derivation path empty)
…😶— Ruben Somsen ⚡️🇳🅾️2️⃣❎ (@SomsenRuben) 27 de febrero de 2019
Señala Rubens en el tuit la secuencia de las acciones: El usuario inicia un pago en el software malicioso, todas las monedas se usan como entradas. La Ledger se deja engañar y acepta un cambio de dirección (este comportamiento erróneo es causado simplemente dejando vacía la ruta de derivación). Seguidamente, el usuario confirma la transacción sin ninguna sospecha en la Ledger y todas las criptomonedas, menos las del pago a realizar, se envían a la nueva dirección proporcionada por el atacante.
Una vez recibida la novedad, a través de su programa de recompensas, Ledger canalizó la solución del malware con una actualización de su firmware a la versión 1.5.5.
Llama la atención que la empresa ofreciera una solución completa dos meses después del reporte del desarrollador, quien añadió que en diciembre del 2018 el problema fue atendido parcialmente con una actualización de la aplicación BTC, en vez del firmware completo.
El anuncio de Ledger, en enero, incluyó otras mejoras en el dispositivo. En cuanto a la seguridad, fueron atendidos tres aspectos como mejoras en funciones criptográficas, la vulnerabilidad de f00dbabe y la descubierta por Lappo.
Imagen destacada por Greg Walker / www.ledger.fr