Acerca de Unlukey
Unlukey es un proyecto de investigación colaborativo sobre vulnerabilidades de generación débil en carteras de criptomonedas.
Motivación
A partir de nuestra investigación sobre Ill Bloom, Coldcard y otras vulnerabilidades de generación débil de semillas, aprendimos que todavía hay margen para hacer más para proteger a los usuarios de este tipo de ataques. Decidimos intentar abordar este problema no solo porque es muy probable que en el futuro se exploten nuevas vulnerabilidades de este tipo, sino también porque todavía hay víctimas en riesgo por las ya descubiertas.
Alertar a los usuarios afectados
Advertir a los usuarios de carteras generadas a partir de frases de recuperación débiles es difícil. Si un único producto está afectado, los canales oficiales del proveedor pueden usarse para llegar a los usuarios. Sin embargo, en casos como Ill Bloom, muchas carteras afectadas habían sido generadas por aplicaciones discontinuadas, pero sus usuarios habían importado los mnemónicos vulnerables a otras aplicaciones. Con el tiempo, los usuarios pueden dejar de saber qué software generó originalmente su frase de recuperación.
Esto hace que la divulgación por parte del proveedor original sea insuficiente. Una frase de recuperación puede seguir en uso mucho después de que la cartera que la generó haya desaparecido. Dado que la misma frase puede terminar en otra cartera, la detección y la alerta deben funcionar donde sea que la frase esté siendo usada actualmente, no solo donde fue creada originalmente.
Un mecanismo de detección compartido permite que varios sistemas adviertan a los usuarios afectados tan pronto como se conozca una vulnerabilidad.
Ventaja de los defensores
También existe una ventaja de tiempo para los defensores. Observamos casos en los que los atacantes vaciaron fondos derivados de una frase de recuperación vulnerable en una blockchain, mientras que los fondos asociados a la misma frase permanecían intactos en otra. Explotar semillas vulnerables a gran escala requiere que los atacantes generen semillas candidatas, deriven cuentas y busquen fondos en múltiples blockchains. Este proceso es computacionalmente costoso y toma tiempo, lo que crea una oportunidad para que los defensores identifiquen a los usuarios afectados y los adviertan antes de que los atacantes descubran todos los fondos asociados.
Protección a largo plazo
Una vez que una frase de recuperación se crea con entropía insuficiente, el riesgo puede persistir y afectar depósitos futuros. Los usuarios afectados que no son víctimas de un ataque de vaciado coordinado inicial pueden seguir usando carteras vulnerables durante años, hasta que sus saldos superen el umbral mínimo de un atacante o nuevos atacantes exploten la misma vulnerabilidad con una estrategia distinta. Ciertos errores, como usar directamente el generador de números aleatorios inseguro de una plataforma para derivar entropía, pueden volver a ocurrir en nuevas aplicaciones o introducirse al actualizar una dependencia. Un sistema de detección integrado en las carteras y actualizado con cada variante conocida de generación insegura de entropía puede detectar nuevos casos a tiempo y evitar daños mayores.
Cobertura
-
Una vulnerabilidad de aleatoriedad débil en el firmware de Coldcard hizo que las frases de recuperación se generaran con un PRNG de software en lugar del RNG de hardware, reduciendo su entropía efectiva y permitiendo a los atacantes descubrir frases de recuperación vulnerables y vaciar los fondos.
Leer más -
Una vulnerabilidad de aleatoriedad débil en CryptoJS hizo que las aplicaciones de billetera afectadas generaran frases de recuperación BIP39 con una entropía significativamente reducida, permitiendo a los atacantes descubrir frases de recuperación vulnerables y vaciar los fondos.
Leer más