
Un fallo de 5 años en Coldcard revela una brecha en las pruebas de billeteras de hardware, según jefe de seguridad de Kraken
El error de cinco años no fue detectado porque los auditores verificaron que el generador de números aleatorios existía, pero no que se estaba utilizando.

La falla de cinco años en la generación de frases semilla de Coldcard ha expuesto una debilidad más amplia en la forma en que se prueban de manera independiente las billeteras de hardware, según el jefe de seguridad de Kraken, Nick Percoco.
En una publicación el domingo, Percoco dijo que el incidente debería ser una "llamada de alerta" para los fabricantes de billeteras de hardware, pidiendo pruebas independientes para verificar que la fuente aprobada de aleatoriedad sea la que realmente se utiliza en el firmware de producción.
“A los consumidores se les pide que confíen en la implementación de un fabricante de la función más crítica del sistema, sin verificación independiente de que la ruta de entropía aprobada sea la que realmente se ejecuta”, dijo Percoco.
Sus comentarios siguen a un ataque en curso que se cree que explota frases semilla débiles generadas por dispositivos Coldcard afectados. A partir del domingo, más de 4.500 direcciones han sido afectadas, drenando casi 90 millones de dólares en Bitcoin.
La falla del generador de números aleatorios de Coldcard permaneció sin detectar durante cinco años
El jueves, Coinkite reveló una falla de software que ha existido desde marzo de 2021, cuando Coldcard cambió su proceso de generación de frases semilla al integrar una nueva biblioteca criptográfica.
La migración involuntariamente enrutó la creación de billeteras a un generador MicroPython más débil que existía en la base de código, en lugar del generador de números verdaderamente aleatorios (TRNG) previsto por Coldcard.
“La mayor parte de la aleatoriedad en el COLDCARD provenía de un PRNG que no sabía que estaba en la base de código”, dijo Coinkite en su análisis post mortem. “Al mismo tiempo, el código TRNG cuidadosamente elaborado que escribí se utilizaba, pero solo por casualidad, y solo para cosas menos importantes”.
La presencia del generador de números aleatorios previsto permitió que la vulnerabilidad pasara desapercibida. Las revisiones de código confirmarían la existencia y el funcionamiento del código TRNG de Coldcard, pero no había verificación para asegurarse de que este era el RNG que realmente se llamaba.
Dichas verificaciones ya son estándar en el resto de la industria de la seguridad, dijo Percoco, haciendo referencia a NIST SP 800-90.000 millones, un estándar del gobierno de EEUU que especifica los requisitos para diseñar, probar y validar generadores de números verdaderamente aleatorios físicos para la seguridad criptográfica y BSI AIS-31, un estándar similar creado por la Oficina Federal Alemana de Seguridad de la Información.
“Las billeteras de hardware no tienen un proceso equivalente. Tenemos Common Criteria para elementos seguros, algunas certificaciones CSPN y auditorías patrocinadas por los vendedores. Ninguna de ellas fuerza sistemáticamente la verificación de extremo a extremo de que la fuente de entropía validada sea lo que el firmware de producción realmente llama”, dijo.
“La industria de los pagos no permite que los dispositivos de entrada de PIN se envíen sin pruebas en laboratorios independientes. El gobierno de EEUU no acepta módulos criptográficos sin validación de la fuente de entropía. La autoguarda de activos digitales no debería ser la excepción”, dijo Percoco.
Coldcard dijo el domingo que ha detenido todos los envíos de dispositivos desde que confirmó la vulnerabilidad el jueves, y ha destruido todas las unidades restantes en sus instalaciones que contienen el firmware afectado.
Sin embargo, Coinkite ha aconsejado a los usuarios con dispositivos afectados que no se deshagan de ellos, ya que “puede ser esencial si se recuperan fondos”.
“Nuestro equipo jurídico coordinará, según sea necesario, con las fuerzas del orden en múltiples jurisdicciones para apoyar los esfuerzos para identificar a los responsables.”

