Un programador de 15 aƱos llamado Saleem Rashid dio a conocer una falla de seguridad en las carteras frĆas de Ledger Nano S y la compaƱĆa lanzĆ³ una actualizaciĆ³n para corregirla.
La vulnerabilidad que detectĆ³ Rashid permitĆa que un atacante pudiese robar las claves privadas de los dispositivos incluso antes de que un usuario recibiera su cartera frĆa, en algĆŗn punto de la cadena de suministro, y tambiĆ©n de forma remota.
SegĆŗn explicĆ³ Saleem Rashid en su publicaciĆ³n, se tratarĆa de una vulnerabilidad arquitectĆ³nica relacionada con lasĀ limitaciones delĀ Elemento Seguro (SE) y que involucrarĆa al microcontrolador (MCU) y el firmware,Ā siendo el MCU un chip no seguro y el firmware del MCU fĆ”cil de reemplazar por los atacantes.
Rashid explicĆ³ que el SE se comunica con el MCU y verifica si el firmware que ejecuta es genuino de Ledger; con la vulnerabilidad un atacante podrĆa hacer que la SE considere genuino a un software malicioso y asĆ accederĆa a la interfaz de usuario y botones de hardware, y consecuentemente, podrĆa acceder e incluso cambiar la semilla de recuperaciĆ³n.
Rashid seƱalĆ³ que la vulnerabilidad podĆa ser explotada por tres mĆ©todos: un acceso fĆsico antes de la configuraciĆ³n de la semilla de recuperaciĆ³n, lo que llamĆ³ ataque a la cadena de suministro; un acceso fĆsico despuĆ©s de su instalaciĆ³n y en tercer lugar, a travĆ©s de un ataque de malware.
Rashid se enfocĆ³ en los ataques a la cadena de suministro, en donde existe acceso fĆsico al hardware antes de que el usuario final configure la semilla de su cartera. Por ejemplo, un distribuidor de carteras frĆas podrĆa copiar la semilla de recuperaciĆ³n de las carteras antes de venderlas al pĆŗblico, y despuĆ©s acceder a los fondos de quienes las compraron, ya que al tener la semilla de recuperaciĆ³n, podrĆa controlar las claves privadas del dispositivo.Ā
En el caso de un acceso fĆsico despuĆ©s de su instalaciĆ³n, Rashid explicĆ³ que se podrĆa generar un tipo de ataque llamado Ā«Doncella MalvadaĀ», en el que un atacante podrĆa instalar un software, especĆficamenteĀ un firmware de MCU personalizado que pueda filtrar las claves privadas sin que el usuario lo sepa.
āNo requiere malware en la computadora de destino, ni requiere que el usuario confirme ninguna transacciĆ³n. A pesar de los reclamos de lo contrario, he demostrado este ataque en un Ledger Nano S. AdemĆ”s, enviĆ© el cĆ³digo fuente a Ledger hace unos meses, para que pudieran reproducirloā, aseverĆ³ el programador.
Con respecto a la tercera forma de explotar la vulnerabilidad, Rashid indicĆ³ que solo serĆa necesario conectar el dispositivo a una computadora infectada y actualizar el firmware de MCU. Ā«El malware puede actualizar la MCU con cĆ³digo malicioso, lo que permite que el malware tome el control de la pantalla confiable y los botones de confirmaciĆ³n en el dispositivoĀ», seƱalĆ³.
Rashid explicĆ³ que no habĆa recibido ninguna recompensa por parte de la empresa por haber detectado la vulnerabilidad, lo que le hubiese imposibilitado la publicaciĆ³n de su informe.
OptĆ© por publicar este informe en lugar de recibir una recompensa de Ledger, principalmente porque Eric LarchevĆŖque, CEO de Ledger, hizo algunos comentarios sobre Reddit que estaban llenos de imprecisiĆ³n tĆ©cnica. Como resultado de esto, me preocupĆ³ que esta vulnerabilidad no se explicarĆa adecuadamente a los clientes.
Saleem Rashid
Programador
La respuesta de Ledger
La empresa publicĆ³ un reporte sobre la revisiĆ³n de las fallas, asegurando que la falla encontrada por Rashid, es real y que la verificaciĆ³n del Elemento Seguro al microcontrolador āno era lo suficientemente robustaā. SegĆŗn Ledger, con la actualizaciĆ³n 1.4.1 del firmware esta falla se soluciona completamente, toda vez que la empresa tomĆ³ varias medidas, que mostramos a continuaciĆ³n:
Nuestra actualizaciĆ³n es bastante simple, pero completamente eficiente:
– El cĆ³digo MCU se ha refactorizado para evitar la simple duplicaciĆ³n de cĆ³digos
– La verificaciĆ³n de la firma ahora se aplica utilizando dos mecanismos diferentes;
– DirecciĆ³n de aleatorizaciĆ³n de bĆŗsqueda
– Limitaciones de tiempo que evitan que la MCU Ā«descomprimaĀ» datos para enviar al SE
– Varios cĆ³digos CRC y comprobaciones se agregan llenando la memoria de la MCU y evitando la modificaciĆ³n de la memoria sin detecciĆ³n.
Saleem Rashid
Programador
Ā La empresa agradeciĆ³ al programador por el examen y el reporte de la falla, asĆ como āsu ayuda y su profesionalismo a travĆ©s del proceso de divulgaciĆ³nā, de acuerdo con la publicaciĆ³n de su blog. AdemĆ”s, instaron a los usuarios de este dispositivo a actualizar el firmware a su versiĆ³n 1.4.
We have published a full detailed analysis of the security issues patched in firmware 1.4.1. We thank the three security researchers TimothƩe Isnard, Saleem Rashid and Sergei Volokitin for their hard work https://t.co/E28JwlosGD
— Ledger (@LedgerHQ) 20 de marzo de 2018
No es primera vez que el hardware de Ledger recibe crĆticas acerca de sus caracterĆsticas y vulnerabilidades.Ā Ya en 2016 un usuario deĀ Bitcointalk.orgĀ inquiriĆ³ sobre la posibilidad de que alguien conociera las claves de recuperaciĆ³n precargadas en las carteras y cĆ³mo era posible garantizar que en el proceso de producciĆ³n alguien no hubiese tenido acceso a esta data.
MĆ”s recientemente, a principios de febrero, el CTO de Ledger, Nicolas Bacca, se negĆ³ a adoptar pĆŗblicamente unas correccionesĀ sugeridas sobre la posibilidad de que un malware modificara la direcciĆ³n de destino de los fondos, aunque posteriormente actualizaron y corrigieron dicha vulnerabilidad.
MĆ”s temprano, en octubre del aƱo pasadoĀ el director de energĆa de ConsenSys, Karl Kreder,Ā explicĆ³ que las carteras de TrezorĀ yĀ Ledger, poseen ciertos rasgos de vulnerabilidad que violan la promesa de seguridad que tienen los dispositivos frente a ataques, por lo que no es primera vez que las carteras frĆas de Ledger son puestas bajo la lupa.
5