Ingeniero informático logra hackear un monedero hardware de la firma Trezor y recupera alrededor de 2 millones de dólares estadounidenses (USD) en criptomonedas, más precisamente en Theta (THETA). Para eso, tardó 12 semanas, en un proceso que, al final, fue satisfactorio.
El especialista, Joe Grand, fue el encargado de vulnerar la seguridad del dispositivo, un Trezor One. Para él, el proceso fue una auténtica montaña rusa, en la que invirtió al menos tres meses de experimentación, fracasos, éxitos y momentos de infarto.
Me recordó que la piratería siempre es impredecible, emocionante y educativa, sin importar cuánto tiempo haya estado haciéndolo. En este caso, lo que estaba en juego era más alto de lo normal: solo tenía una oportunidad de hacerlo bien», dijo Grand en un video compartido en YouTube, donde contó la experiencia y el proceso.
En un primer momento, señaló, fue como desactivar un sistema de alarma en un museo y robar las joyas, con la excepción de que alguien hizo una copia exacta de las joyas, las puso detrás de una puerta cerrada y luego yo entré, pateé la puerta y robé las joyas, pero las originales siguieron allí.
Según Joe Grand, a lo largo del tiempo se han dado formas para romper la seguridad de un monedero hardware. Por eso, cuando fue contactado por Dan, el dueño del dispositivo, asumió la tarea de recuperar los fondos.
De acuerdo con Dan, quien viajó hasta Portland, Estados Unidos, para salvar su dinero, el problema comenzó por un amigo de él, quien olvidó las llaves privadas. El riesgo de perder sus fondos era grande, pues los dispositivos Trezor tienen un mecanismo de seguridad que borra el contenido si se introduce en varias ocasiones una contraseña equivocada.
Ensayo y error
Grand, que se comprometió desde el día uno a recuperar el dinero en el dispositivo de Dan, contó en el audiovisual que el proceso para terminar vulnerando la cartera fue de ensayo y error, en una larga historia de tres meses de esfuerzo, donde probó diferentes técnicas, hasta que lo consiguió.
Indicó que, para lograr el hackeo, tuvo que usar un montón de hardware wallets diferentes. Descubrió que, en el caso de los monederos de Trezor, éstos tienen una función de seguridad dentro del microcontrolador del dispositivo que impide leer el contenido de la memoria.
Por eso, halló una forma de derrotar la seguridad del dispositivo, algo que solo puede hacerse con el monedero encendido y conectado. En detalle, buscó el código de fuente del aparato, porque en algún momento de ese proceso de recuperación descubrí que el PIN y la semilla tenían que moverse a un área a la que podía acceder a través de mi interfaz de depuración.
Eso fue exactamente por donde realicé el ataque: la función de copia de memoria. Resulta que encontré un área en el código de fuente donde la información secreta se copia en la RAM. Cuando se ejecuta un error para vencer la seguridad del chip, los contenidos están ahí y pueden ser extraídos, explicó.
Para vencer la seguridad y acceder a la RAM, dijo que aplicaría un método llamado inyección de fallas, donde básicamente se causan errores en el chip de silicio dentro del dispositivo.
Para ello, emplearía una herramienta llamada Chip Whisperer, con la que se ejecutaría el ataque de inyección de fallas, o falla de voltaje, como también se le conoce. La intención era clara: hacer que el chip se comportara con errores en el momento justo para así derrotar la seguridad del monedero y luego continuar con nuestro hackeo.
Comenzando el hackeo
Una vez que Joe Grand explicó el proceso a realizar, inició el procedimiento. Abrió el monedero con detenimiento, hizo las conexiones necesarias y posteriormente, comenzó el ataque.
Vencer la seguridad de Trezor no fue tarea fácil, sin embargo, y tras varias horas de espera, finalmente pudo vulnerar un monedero hardware; irónicamente, una de las formas más seguras de atesorar criptomonedas.
En total, fueron 3 horas y 19 minutos las que tomó que la inyección de fallas hiciera que el chip de silicio del monedero arrojara los errores indispensables para acceder al modo de depuración, que da acceso a la memoria RAM y, finalmente, a la información necesaria para recuperar los USD 2 millones perdidos.
Este proyecto fue un ejemplo perfecto de que el hackeo de monederos hardware responde ensayos y errores; Una vez que terminamos este ataque final, donde pudimos extraer la semilla de un microcontrolador protegido; una cosa que Trezor maneja realmente bien; nos dimos cuenta de que se pueden hallar todas las vulnerabilidades de seguridad que la gente ha reportado, señaló el hacker profesional.
Este tipo de ataque ya estaba advertido
La hazaña lograda por Joe Grand, de recuperar USD 2 millones hackeando un monedero hardware es digna de resaltar. Sin embargo, este tipo de ataques y vulneraciones había sido reportado en el pasado.
Tal como lo reseñó en enero de 2020; una investigación del equipo Kraken Security Labs detectó que las carteras frías de Trezor son vulnerables (como las de su competencia, KeepKey y Ledger). Según el reporte, un atacante puede extraer las semillas con tan solo tener acceso físico al monedero por tan solo 15 minutos.
En detalle, se supo que los hackers emplean la inyección de fallas o de voltaje (como hizo Grand); mediante la cual extraen la semilla encriptada. Este ataque, como se describió; supone la manipulación de variables de hardware para causar problemas temporales en los dispositivos que guardan datos confidenciales.
Según Kraken Security Labs; con ese procedimiento se aprovechan las fallas dentro del microcontrolador utilizado en los monederos.
Desafortunadamente, esto significa que es difícil para el equipo de Trezor hacer algo sobre esta vulnerabilidad sin un rediseño de hardware; explicaron los investigadores en su momento.
Lo curioso es que las tres empresas fabricantes de monederos hardware fueron cuestionadas ese mismo año; cuando un descubrimiento puso en duda la reputación de esos dispositivos. Las compañías, al parecer; sabían sobre una vulnerabilidad en el diseño de sus monederos que permitía el robo de bitcoins; hecho que también reportamos en este periódico.