Muy buena explicación Ddmrddmd!
Acabo de ver el vídeo completo:
https://www.youtube.com/watch?time_continue=91&v=Y1OBIGslgGMA ver... como ya se sospechaba, hay más de buscar un título llamativo y alarmista que de "chicha". Ojo, la investigación está bien y como auditoría de seguridad sobre el dispositivo es bastante completa, el problema es la "calificación" que se le da los resultados.
Bueno, más bien la falta de calificación.... ya que no se menciona que ninguno de esos "fallos" puede considerarse realmente crítico en circunstancias normales y se da una impresión equivocada y alarmista.
En primer lugar todos requieren de acceso físico al dispositivo. Esto es MUY importante resaltarlo.
Por ejemplo el del bootloader del Ledger nano requiere que se programe el dispositivo de un modo especial y con un firmware modificado. Pero es que además este firmware no va a tener acceso a la semilla ya que en el caso del Ledger esta se encuentra en el elemento seguro que es el que se encarga de firmar lo que se le pida.
Vale, el firmware podría decirle al microcontrolador que firme cualquier cosa (sin necesidad de presionar ningún botón) o mostrar información falsa en el display..... muy bien, pero aquí también tendría que "colaborar" la parte software del wallet que corre en el ordenador/móvil y para ello también tendría que estar comprometido si se pretende que dicha transacción se transmita a la red.
Así que ya se va complicando la cosa, no?
Y como ya se ha dicho tendría que darse alguna de las siguientes condiciones:
- Que se tenga acceso físico al hardware wallet <- Esto no debería permitirse
- Que venga ya con ese firmware malicioso <- Casi con toda seguridad lo detectaría la parte software que corre en el ordenador... aparte de que es buena práctica actualizar el firmware antes de utilizar el dispositivo por primera vez.
Conclusión: Prácticamente imposible que se den todas las condiciones para que pueda explotarse la "vulnerabilidad" con éxito y varias de ellas las calificaría como negligencia por parte del usuario.
Ahora vamos con la del Trezor...
Esta es más "grave" aunque, por supuesto, vuelve a requerir acceso físico.
Aquí de lo que se trata es de extraer la seed de la RAM del dispositivo. Osea, con posterioridad a que el usuario ya lo tenga configurado.
A mi siempre me ha parecido mucho más segura la arquitectura del Ledger por la integración del elemento seguro, precisamente por cosas como esta.
El trezor no lo tiene y, por tanto, el microcontrolador tiene acceso a todo. Teóricamente al reescribir el firmware debería borrarse la memoria en la que se encuentra la semilla, pero consiguen saltárselo. Conclusion pueden hacer un volcado de la memoria y extraer tanto la semilla como el PIN.
- Es chula la demo?
Sí.
- Sorprende?
No mucho.
- Es grave?
Pues a ver, si alguien con los recursos suficientes te quita el Trezor y le da tiempo de volcar la semilla y vaciarte el wallet antes de que te des cuenta y lo pases todo a otro sitio, date por jodido.
- Se puede evitar?
Sí, en primer lugar no dejes que nadie tenga acceso físico a tu Trezor. O al menos nadie que no sea de confianza (esto ya es relativo).
- Pufff, no puede ser... Yo es que vivo en una comuna hippy y lo compartimos todo con todos...
Ya... pero los bitcoins no, ehh? Bueno, no te preocupes, perroflauta. Para ti tenemos también la posibilidad de utilizar, además de la semilla, una password adicional sin la cual da igual quien tenga acceso a tu wallet ni aunque se sepa el pin, ya que esta no se queda en la memoria persistente. Es un poco coñazo porque tienes que introducirla cada vez que conectas el dispositivo, pero como tú tienes tiempo de sobra no hay problema. Hala, solucionado!
Ahora vamos con la del Ledger Blue. Aquí lo que hacen es lo que se suele llamar un ataque side-channel en este caso por RF. Eso sí, a una distancia de un par de metros poco más o menos.
La mayoría de dispositivos son de un modo u otro (y con mayor o menor impacto) vulnerables a esto, que conste.
En pocas palabras, al pulsar en el teclado táctil los números del PIN se "escapa" una pequeña señal electromagnética que, convenientemente procesada y decodificada, se puede convertir a posiciones en la matriz de la pantalla y estas, a su vez, en los dígitos de la clave.
- Es chula la demo?
Meh. La parte de la integración con AI para procesar la señal... sí, mucho.
- Sorprende?
No, esto es muy viejo y difícil de evitar.
- Es grave?
Pues a ver, si tienes a alguien a pocos metros de ti que pueda recibir y capturar la señal mientras estás metiendo el PIN.... Pues posiblemente pueda sacarlo, sí.
Ah! Se me ha olvidado decirte que para no ponérselo muy difícil al colega que tienes al lado, sería conveniente que cuando introduzcas el pin intentes mantener el dispositivo en la misma posición y no acerques/muevas mucho la mano para no interferir en la señal. Si además puedes hacerlo con el dispositivo sobre una mesa y usando un puntero en vez de tu dedo mucho mejor.
... Ahora ya sólo falta que aproveche cualquier ocasión para quitarte el Blue y como se sabe el pin te lo deje vacío... si no te das cuenta antes y mueves tus coins a otra parte, claro
- Ostia, me has acojonado! No se puede evitar?!
Vamos a ver, perroflauta, ya no te acuerdas de lo que te conté antes sobre la password adicional?!
- Pero pero... y si la password adicional también se pudiera sniffar? Qué? Eh?!
Hmmmm, ahora sí que me los has tocado, amigo perroflauta. Mira, si te vas a poner así de paranoico, déjate de mariconadas complejas y con lucecitas y cómprate un jodido Ledger nano S. Keep it simple.
Creo que esos eran todos los casos que se presentaban... y en cualquier caso ya me he pasado con el ladrillaco, pero es que una cosa que me fastidia mucho es que aún hay gente que no se fía de los hardware wallet... Y hacen bien!! Pero es que luego lo que usan es un software wallet a pelo en su ordenador personal! WTF?!
O te cuentan que...: "No, yo es que de lo único que me fio es de las paperwallets..."....
Vale, y como las generas? Y luego cuando las uses como lo vas a hacer? Porque como me digas que metiéndolas directamente en un software wallet a pelo o escaneándolas con el móvil me vuelvo a cabrear, eh?
Dicho esto, que conste que nadie puede garantizar que los hardware wallets sean perfectos y, además, los hay mejores y peores.
La seguridad TOTAL es un mito. No existe. Pero hay soluciones (y procedimientos) más seguras que otras... #DYOR
P.S.: Hay otro tipo de *potenciales* vectores de ataque que no se mencionan en este estudio y que sí podrían preocuparme un poco más. Pero vamos, que tampoco pierdo el sueño.