Hackear carteras de Bitcoin de hardware: extracción de la semilla criptográfica del tesoro

Marco Navarro
Marco Navarro

Durante mucho tiempo ha sido una sabiduría común que uno de los lugares más seguros para almacenar sus tenencias de criptomonedas es la billetera de un dispositivo. Estos son pequeños dispositivos portátiles que encriptan sus claves y ofrecen un poco más de tranquilidad que guardar sus monedas en una billetera blanda o en línea.

Pero claro, como sabemos, no hay nada tute a salvo.

Y Kraken Security Labs nos recordó este hecho cuando nos mostraron cómo pasaron por alto todas las cajas fuertes en una billetera popular, la Trezor, para descartar y descifrar su semilla.

Vale la pena señalar que el truco requiere acceso físico a la billetera, aunque solo vale la pena unos quince minutos. Y por “enfoque físico” nos referimos a que el hackeo deja el dispositivo completamente inutilizado. El equipo de Kraken comenzó con un soldado del corazón de la billetera, un procesador STM32. Luego lo colocaron en un zócalo en una placa de interfaz y lo pusieron en marcha.

El truco depende de un ataque conocido como problema de voltaje. Básicamente, en un momento oportuno durante la secuencia de inicio del dispositivo, la tensión de alimentación fluctúa. Esto habilita el lanzador de fábrica del chip que puede leer el contenido de su memoria incorporada. La memoria está protegida contra lectura, pero se puede acceder a 256 bytes a la vez por un segundo problema de voltaje. Ninguno de estos ataques funciona el 100% del tiempo, por lo que si el dispositivo no se inicia o la memoria permanece bloqueada, la FPGA que realiza los ataques simplemente lo intentará de nuevo. Después de suficientes repeticiones, el equipo de Kraken pudo descartar completamente la memoria flash del chip.

Hay un obstáculo más aquí: el volcado de memoria está encriptado. Entra en una cruda compulsión. Los dispositivos de tesorería permiten una longitud máxima de código pin de nueve dígitos, pero si asume que el usuario promedio tiene solo cuatro dígitos, entonces se puede adivinar mediante un script automático después de unos minutos. Un pin aún más largo se puede procesar en unos pocos días o semanas, ciertamente en el ámbito de la posibilidad. Esto da la semilla que luego podría colocarse en una nueva billetera de hardware para robar efectivamente cualquier activo de criptomoneda que residía en el dispositivo original.

Entonces, aparte de algunas técnicas geniales de piratería de dispositivos, ¿qué podemos aprender del trabajo de Kraken Security Lab? Primero, para algunos diseñadores, el STM32 no es adecuado para aplicaciones de alta seguridad. Para todos los usuarios finales, esto no significa que deba descartar su tesorería (aunque esta no es la primera billetera que hemos visto). Significa que lo mantiene alejado de otras personas y que autoriza la frase de contraseña BIP39, que Kraken dice que puede proteger contra el ataque. Quizás lo más importante es que esto sirve para recordarnos todo nada es 100% seguro.

  • gangoko dice:

    Este artículo tiene un año de retraso. ¿Usas IE o algo similar?

    • Bob T. Builder dice:

      Sabes que puedes enviar una propina si crees que algo podría ser de interés, ¿verdad?

    • Dinh Han dice:

      Chrome en Samsung S9 Plus

    • Janos dice:

      15 minutos ?? Solamente ???? 😂😂😂😂😂😂

      • Charlie Chaplin dice:

        Guy lo hizo en 10 segundos … ¡Usando una escopeta y una amenaza!
        Este es un año mejor.

  • RW versión 0.0.1 dice:

    Curiosamente, tales cosas hacen que sea más probable que yo “confíe” en uno … sobre el “¿qué sucede CUANDO se rompe?” nivel.

  • RW versión 0.0.1 dice:

    “¿Recuerdas haber bebido tu Ovaltino”?

  • Abel Malcolm dice:

    Nunca permitiría que nadie tuviera acceso físico a mi oro, a un valor de $ 2,000 por onza … del mismo modo, nunca permitiría que nadie tuviera acceso físico a mi billetera de hardware de Bitcoin. De todos modos, sería mucho más difícil para un ladrón cobrar mi Bitcoin que cobrar mi oro.

  • Noche dice:

    ¿No se supone que debe tener una función de seguridad separada en tales dispositivos? Si leí este artículo correctamente, Trezor no usa un elemento seguro (como Ledger) pero almacena las claves en el flash de un microcontrolador donde solo se puede leer la protección, desactive un fusible que se pueda desviar fácilmente por voltaje. Si es así, este dispositivo no es mucho más adecuado para almacenar criptomonedas que Arduino.

    • Ivan Stepaniuk dice:

      Sí es usted. O use una MCU diseñada para esta aplicación en lugar de un propósito general.

    • Mickey Graham dice:

      ¿Qué modelo sugieres ????

    • Martín dice:

      No es tan simple. Estos elementos “seguros” no son de código abierto e implementan la seguridad por oscuridad. Debe firmar un NDA para acceder a la información necesaria para el desarrollo.

      Los creadores de Trezor decidieron crear una billetera de código abierto, sabiendo que sigue siendo útil porque la gran mayoría de los ataques son por malware, no físicos. Además, permiten a los usuarios elegir una frase de contraseña adicional para proteger la billetera. La frase de contraseña tiene sentido independientemente del hardware, porque en última instancia, algunos hardware pueden tener errores.

      Es posible que prefiera otro modelo de seguridad, pero su modelo sigue siendo razonable.

  • rasz_pl dice:

    Básicamente, parece que ahora todos los STM32 están descifrados.
    F0 fue roto por Marc Schink y Johannes Obermaier https://www.aisec.fraunhofer.de/en/FirmwareProtection.html
    El mismo par hizo F1 el año pasado https://blog.zapb.de/stm32f1-exceptional-failure/
    Y ahora hemos confirmado un ataque funcional contra F2 y F4.

    • Conor A Stewart dice:

      Sería interesante saber si hay ataques que funcionen en los chips f7 y h7, porque si mal no recuerdo, algunos de ellos se pueden cifrar.

  • Alex Rossie dice:

    Creo que la información clave que falta involuntariamente en el resumen es, si su contraseña tiene 9 dígitos, ¿cuánto tiempo llevará descifrarla?

    Si 4 dígitos tardan 2 minutos, ¿5 dígitos tardan 20 minutos? Entonces creo que 9 minutos serían un poco menos de 14 días. (2 minutos * 10 ^ 4).

    Porque con una billetera de hardware la idea es buena, si notas que falta, sabes que tienes problemas. Probablemente, dos semanas es el período mínimo que uno puede esperar razonablemente notar que falta. Prácticamente la mayoría de la gente los tendrá fuera de control por más tiempo.

    • Mike Szczys dice:

      Creo que para la mayoría de las personas, el mayor riesgo es olvidar dónde ponen su billetera / hash / etc, u olvidar la frase de contraseña / contraseña / pin. Es una parte extraña de todo esto: el control de dinero centralizado significa que tiene profesionales en un banco u otra institución que se encargan de la seguridad final de sus cuentas. Con las criptomonedas, el usuario es responsable de sus propias opciones de seguridad.

      • Ostraco dice:

        “Con la criptomoneda, el usuario es responsable de sus propias opciones de seguridad”.

        Bueno, eso funcionará bien.

        • quien dice:

          Al menos no tenemos que pagar por los rescates.

        • Mickey Graham dice:

          Esto significa que puede utilizar los servicios de alguien que puede romper su billetera si pierde su contraseña … … ¿sí?

  • tenbaht dice:

    Trabajo interesante.
    Hace un año apareció otro artículo sobre la ruptura de la protección de lectura de las MCU STM32:
    https://la-tecnologia.com/2020/03/24/breaking-into-a-secure-facility-stm32-flash/
    ¿Funcionaría eso para las series F2 y F4 utilizadas en el Tesoro?

  • Tanner Dunbar Harrison dice:

    Guau

  • Rudeboylit dice:

    La billetera Safepal se autodestruiría si intentara esto. Me encanta hasta ahora. El único inconveniente es que no es de código abierto. Siempre una desventaja.

  • Rian Fernandis dice:

    Este vector de ataque se puede mitigar con una frase de contraseña en Trezor. Las contraseñas están separadas de la propia semilla y, por lo tanto, no se pueden omitir de esta manera.

    Esto también fue publicado hace casi un año por Kraken, ¿por qué la repulsión ahora?

  • Pepso dice:

    Cartera de papel y semilla en tu mente

    • Aguf dice:

      Nunca use una billetera de papel. ¿O confía en una billetera de papel y en su impresora?

  • Neal dice:

    Bueno, me acaban de piratear y obtuvieron $ 1.2 millones. Entonces, ¿cómo lo recupero o lo pirateo?

    • Crickett dice:

      Eso depende. ¿Lo tenía en línea o en una billetera sin conexión? ¿Sabes quién lo hackeó? Si estaba en una billetera sin conexión, ¿fue pirateado mientras estaba enchufado o no en un medio de comunicación? Los detalles ayudarán a responder.

  • Jeff Davis dice:

    Encontramos esta sección:

    “Hay un obstáculo más aquí: el volcado de memoria está encriptado. Entra en una cruda compulsión. Los dispositivos de tesorería permiten una longitud máxima de código pin de nueve dígitos, pero si asume que el usuario promedio tiene solo cuatro dígitos, entonces se puede adivinar mediante un script automático después de unos minutos. Un pin aún más largo se puede procesar en unos pocos días o semanas, ciertamente en el ámbito de la posibilidad. Esto da la semilla que luego podría colocarse en una nueva billetera de hardware para robar efectivamente cualquier activo de criptomoneda que residía en el dispositivo original. “

    Dónde encontramos esto: “Esto da la semilla que luego podría colocarse en una nueva billetera de hardware para robar efectivamente cualquier activo de criptomoneda que residía en el dispositivo original”.

    MI PREGUNTA: ¿Es “la semilla” la lista de 24 palabras necesarias para sanar? Y luego, lo siguiente es correcto:

    “,,, que luego podría insertarse en la billetera de un nuevo dispositivo” -?

    Dígalo de manera diferente, asumiendo que es una billetera de dispositivo y no algo robado, ¿se necesita la lista de palabras de recuperación y otra billetera de hardware para recuperar su criptografía? (

    • Bab dice:

      Palabras más CUALQUIER billetera (incluso software)

  • Huw Evans dice:

    ¿Cómo puedo robar mis criptocréditos después de haber sido engañado para que entregue el dinero de una billetera a una billetera de criptomonedas del Codex?
    Toda la comunicación con los estafadores se ha detenido, sin embargo, el saldo de mi cuenta parece aumentar cada día.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *