cold wallet

Un error en el sistema de generación de semillas redujo drásticamente la seguridad criptográfica de miles de dispositivos Coldcard, permitiendo que atacantes reconstruyeran las claves privadas sin acceder físicamente a las billeteras.

Las billeteras físicas o hardware wallets han sido durante años uno de los métodos más seguros para almacenar criptomonedas. Su principal promesa consiste en mantener las claves privadas completamente aisladas de Internet, evitando que puedan ser robadas por malware o ataques remotos.

Sin embargo, un reciente incidente ha demostrado que incluso estos dispositivos pueden fallar cuando el problema está en el origen de las claves criptográficas.

Un ataque ocurrido el 31 de julio permitió el robo de 1.367 bitcoins, equivalentes a aproximadamente US$89 millones, desde miles de direcciones asociadas a dispositivos Coldcard, una de las marcas más reconocidas dentro del ecosistema Bitcoin.

El ataque no rompió la billetera: adivinó las claves

Lo más llamativo del incidente es que los atacantes no necesitaron acceder físicamente a los dispositivos ni vulnerar su aislamiento.

La falla se encontraba en el proceso de creación de las llamadas “semillas” (seed phrases), la secuencia aleatoria de palabras que sirve como base para generar todas las claves privadas de una billetera.

En criptografía, la seguridad depende de que esas semillas sean completamente impredecibles.

Pero en determinados modelos de Coldcard esa condición dejó de cumplirse.

Un error de software redujo drásticamente la seguridad

Según explicó el fabricante Coinkite, el problema se originó tras una modificación realizada en 2021 durante la integración de la biblioteca libNgU.

El objetivo era utilizar el generador físico de números aleatorios incorporado en el dispositivo.

Sin embargo, un error en la implementación hizo que el sistema recurriera, en determinadas circunstancias, a un generador pseudoaleatorio de MicroPython, basado parcialmente en información como el identificador del chip y registros internos del reloj del dispositivo.

Aunque estos datos parecían aleatorios, podían ser parcialmente reconstruidos por un atacante con suficiente conocimiento del firmware.

De una seguridad prácticamente infinita a solo 32 bits

Una semilla de Bitcoin correctamente generada posee un nivel de entropía tan elevado que resulta prácticamente imposible descubrirla mediante fuerza bruta.

No obstante, investigadores de Block concluyeron que el fallo redujo ese espacio criptográfico hasta apenas 32 bits efectivos en algunos dispositivos afectados.

Eso significa que, en lugar de enfrentarse a un número astronómico de combinaciones, un atacante solo debía evaluar alrededor de 4.300 millones de posibilidades, una cifra elevada para una persona, pero perfectamente abordable con hardware moderno.

A partir de cada semilla candidata, era posible reconstruir las direcciones de Bitcoin y compararlas con la blockchain pública. Cuando alguna contenía fondos, el atacante obtenía automáticamente la clave privada necesaria para mover los activos.

El robo ocurrió en menos de una hora

La primera oleada del ataque vació aproximadamente 1.082 BTC distribuidos en 1.196 billeteras durante apenas 41 minutos.

Posteriormente se registraron nuevas transferencias que elevaron el monto robado hasta 1.367 BTC, repartidos entre 4.585 direcciones.

Investigadores de Galaxy Research consideran que probablemente un único atacante ejecutó la operación, aunque tampoco descartan que varios actores descubrieran simultáneamente la misma vulnerabilidad.

Actualizar el firmware no protege las claves antiguas

Tras conocerse el incidente, Coinkite publicó una actualización de firmware que elimina la vulnerabilidad para futuras generaciones de semillas.

Sin embargo, la empresa advirtió que instalar el parche no hace seguras las billeteras ya creadas con el software vulnerable.

La recomendación oficial consiste en:

  • Actualizar inmediatamente el firmware.
  • Crear una nueva semilla completamente aleatoria.
  • Transferir todos los fondos hacia esa nueva billetera.
  • Dejar de utilizar las semillas generadas con versiones vulnerables del software.

Un golpe para la confianza en las hardware wallets

El incidente también reabre el debate sobre la seguridad del software de código abierto.

Aunque Coldcard publica gran parte de su código y ha sido auditada durante años, la vulnerabilidad pasó desapercibida tanto para los revisores humanos como para herramientas automatizadas de análisis.

Incluso la propia empresa reconoció haber utilizado modelos avanzados de inteligencia artificial para revisar la seguridad del software sin detectar el error.

Algunos expertos especulan que la misma IA pudo haber ayudado posteriormente a descubrir la vulnerabilidad, aunque hasta ahora no existen pruebas que confirmen esa hipótesis.

Una lección para toda la industria

El caso demuestra que la seguridad de una billetera física no depende únicamente de mantener las claves fuera de Internet.

Si el proceso que genera esas claves presenta debilidades, incluso el dispositivo más aislado pierde gran parte de su protección.

Para los usuarios de criptomonedas, el incidente sirve como recordatorio de la importancia de mantener el firmware actualizado, seguir las recomendaciones de los fabricantes y, sobre todo, verificar si los dispositivos utilizados han sido afectados por vulnerabilidades conocidas antes de confiarles grandes cantidades de activos digitales.