
El defecto de generación de semillas de cinco años de Coldcard ha renovado los llamamientos a pruebas independientes del firmware de los monederos de hardware después de que ataques sospechosos hayan drenado casi 90 millones de dólares en Bitcoin de miles de monederos.
El director de seguridad de Kraken, Nick Percoco, dijo en una publicación en X el domingo que el incidente debería servir como una advertencia para la industria de los monederos de hardware, argumentando que los fabricantes no deberían ser las únicas partes que verifiquen cómo se generan las frases semilla de los monederos.
Dijo que el firmware de producción debería someterse a pruebas independientes para confirmar que la fuente de aleatoriedad aprobada es la que realmente se utiliza al crear los secretos del monedero.
Según el último análisis de cadena de bloques de Galaxy Research, los atacantes sospechosos han sustraído más de 1.800 BTC de más de 5.200 posibles direcciones de víctimas a través de cuatro oleadas de ataque observadas, aunque la firma ha enfatizado que esas cifras son estimaciones en cadena en lugar de pérdidas confirmadas. Coinkite no ha verificado cada monedero afectado, y los datos de la cadena de bloques por sí solos no pueden determinar si un único actor llevó a cabo todos los ataques.
Coinkite reveló el jueves que la vulnerabilidad se remonta a marzo de 2021, cuando la empresa migró parte de su firmware mientras integraba una nueva biblioteca criptográfica.
En lugar de utilizar el generador de números aleatorios verdaderos respaldado por hardware de Coldcard para crear semillas de monederos, el firmware actualizado llamó accidentalmente a un generador pseudoaleatorio determinista más débil proporcionado por MicroPython.
Según el análisis post-mortem de Coinkite, el generador de números aleatorios previsto permaneció activo en otras partes del firmware, lo que permitió que las revisiones de código verificaran su presencia sin revelar que la creación de monederos dependía de una fuente de entropía diferente.
La compañía dijo que no sabía que el generador de MicroPython existía en la ruta de código relevante hasta la investigación. Si bien el generador de números aleatorios de hardware continuó funcionando para otras funciones, ya no era responsable de generar nuevos secretos de monederos.
El equipo de ingeniería y seguridad de Bitcoin de Block llegó de forma independiente a la misma conclusión durante su revisión técnica. La compañía dijo que el firmware afectado invocó el respaldo determinista de MicroPython en lugar del generador de números aleatorios de hardware STM32 al crear las semillas del monedero. Aunque Block dijo que no había completado pruebas empíricas completas de cada dispositivo, decidió revelar sus hallazgos porque ya habían surgido informes de robos activos.
Coinkite estima que las semillas creadas en los dispositivos Mk2 y Mk3 afectados pueden contener alrededor de 40 bits de entropía efectiva, mientras que los modelos Mk4, Mk5 y Q afectados pueden contener alrededor de 72 bits en lugar de los 128 bits previstos.
Utilizando el incidente de Coldcard como ejemplo, Percoco argumentó que la certificación de monederos de hardware ha pasado por alto una de las partes más importantes de la seguridad de los monederos.
Dijo que los usuarios actualmente tienen que confiar en que los fabricantes implementen correctamente la generación de semillas porque ningún proceso independiente verifica que el firmware de producción realmente llame a la fuente de entropía aprobada. Las certificaciones existentes, incluidas las evaluaciones de Criterios Comunes para elementos seguros, las revisiones CSPN y las auditorías patrocinadas por proveedores, no validan sistemáticamente esa relación, según Percoco.
Para ilustrar la brecha, señaló el NIST SP 800-90B, el estándar de EE.UU. que rige el diseño y la validación de los generadores de números aleatorios verdaderos utilizados en sistemas criptográficos, junto con el marco BSI AIS-31 de Alemania, que establece requisitos de prueba similares. Argumentó que una verificación de extremo a extremo comparable no existe actualmente para los monederos de hardware.
Percoco también comparó el sector con la seguridad de pagos, señalando que los dispositivos de entrada de PIN no pueden enviarse sin pruebas de laboratorio independientes, mientras que los módulos criptográficos del gobierno de EE.UU. requieren la validación de la fuente de entropía antes de su aprobación.
Mientras la actividad de ataque continuaba durante el fin de semana, Coinkite dijo que había detenido todos los envíos después de confirmar la vulnerabilidad y destruyó todos los dispositivos restantes en sus instalaciones que contenían el firmware afectado.
No obstante, la compañía aconsejó a los clientes que no desechen los dispositivos afectados porque pueden ser importantes si los fondos robados se recuperan finalmente a través de procesos legales. Coinkite añadió que su equipo legal coordinaría con las agencias de aplicación de la ley en múltiples jurisdicciones cuando fuera apropiado.
Ya se han lanzado actualizaciones de firmware para cada modelo afectado, incluyendo la versión 4.2.0 para Mk2 y Mk3, la versión 5.6.0 para Mk4 y Mk5, la versión 1.5.0Q para Coldcard Q, y las versiones 6.6.0X y 6.6.0QX para los lanzamientos Edge. Según la compañía, la instalación del firmware actualizado solo soluciona la creación futura de monederos y no fortalece las frases semilla generadas antes del parche.
Por esa razón, a los usuarios cubiertos por el aviso se les indica que generen frases semilla completamente nuevas después de actualizar sus dispositivos, verifiquen una dirección de recepción, envíen una pequeña transacción de prueba y migren el saldo restante solo después de confirmar que la transferencia se realizó con éxito.
Coinkite dijo que los monederos creados usando al menos 50 tiradas de dados justas y privadas no se consideran expuestos solo por el defecto de generación de números aleatorios. La compañía añadió que una frase de contraseña BIP-39 fuerte y única proporciona otra capa de protección, pero no elimina la debilidad de una semilla ya afectada, lo que significa que la migración sigue siendo el curso de acción recomendado.
Análisis de cadena de bloques independiente de Galaxy Research indica que los ataques han continuado desde que la vulnerabilidad se hizo pública.
Alex Thorn, jefe de investigación en Galaxy, identificó una cuarta ola de ataque coordinada sospechosa el 3 de agosto, lo que eleva el total observado de la firma a aproximadamente 1.815,75 BTC en 5.294 posibles direcciones de víctimas si ninguno de los grupos de direcciones se superpone. Thorn describió los monederos como "probables víctimas de Coldcard" y enfatizó que las cifras provienen del análisis de la cadena de bloques en lugar de registros de dispositivos confirmados o hallazgos de las fuerzas del orden.
Galaxy también informó que la actividad de ataque alcanzó 13,8 vaciados de monederos por bloque durante la última oleada, en comparación con una línea base de 0,3 vaciados por bloque antes del incidente. La firma observó que la mayoría de los saldos de las víctimas fueron enviados a direcciones recién creadas en lugar de un único monedero de recolección, mientras que algunos fondos ya se habían movido a través de transacciones de segundo salto, haciendo que el Bitcoin robado fuera más difícil de rastrear.
Según Galaxy, los usuarios cuyos fondos robados permanecen en transacciones de Bitcoin no confirmadas aún pueden tener una estrecha oportunidad de transmitir una transacción de reemplazo con una tarifa más alta antes de que los mineros confirmen la transferencia original.
Citando la documentación de Bitcoin Core, la firma de investigación señaló que Replace-by-Fee solo puede intentarse mientras la transacción permanezca sin confirmar y no garantiza la recuperación incluso cuando el propietario legítimo todavía controla las claves afectadas.