Investigadores han descubierto un nuevo método que permite a los delincuentes extraer claves privadas de una billetera de hardware de Bitcoin, denominado «Dark Skippy». Este método puede funcionar con solo dos transacciones firmadas.
Vulnerabilidad en dispositivos de hardware
La vulnerabilidad afecta a todos los modelos de billeteras de hardware, aunque requiere que el atacante engañe a la víctima para que descargue un firmware malicioso. Este firmware puede incrustar datos secretos en una transacción pública de Bitcoin, permitiendo al atacante extraer las palabras clave de la semilla del usuario.
Reducción de requisitos
Anteriormente, el método requería que la víctima publicara «docenas» de transacciones en la blockchain. Sin embargo, la nueva versión «Dark Skippy» puede realizarse incluso si la víctima solo publica un par de transacciones. Además, el ataque puede ejecutarse incluso si el usuario utiliza un dispositivo separado para generar las palabras semilla.
Funcionamiento del ataque
El firmware malicioso puede programarse para incrustar partes de las palabras semilla en «nonces secretos de baja entropía», que luego se utilizan para firmar transacciones. Las firmas resultantes se publican en la blockchain cuando las transacciones son confirmadas. El atacante puede escanear la blockchain para encontrar y registrar estas firmas.
Extracción de datos
Las firmas contienen solo «nonces públicos», no las partes de las palabras semilla en sí. Sin embargo, el atacante puede usar el Algoritmo del Canguro de Pollard, descubierto por John M. Pollard, para calcular los nonces secretos a partir de sus versiones públicas.
Derivación de palabras semilla
Según los investigadores, se puede derivar el conjunto completo de palabras semilla de un usuario utilizando este método, incluso si el usuario solo produce dos firmas desde su dispositivo comprometido y las palabras semilla fueron generadas en un dispositivo separado.
Vulnerabilidades anteriores
Versiones anteriores de la vulnerabilidad han sido documentadas previamente. Sin embargo, estas dependían del «nonce grinding», un proceso más lento que requería muchas transacciones publicadas en la blockchain. Los investigadores afirman que «Dark Skippy» es una nueva forma de explotar una vulnerabilidad existente.
Recomendaciones para mitigar el riesgo
El informe sugiere que los fabricantes de billeteras deben evitar que el firmware malicioso llegue a los dispositivos de los usuarios. Esto puede lograrse mediante características como arranque seguro y interfaces JTAG/SWD bloqueadas, compilaciones de firmware reproducibles y firmadas por el proveedor.
Además, se recomienda que los propietarios de billeteras empleen prácticas para mantener sus dispositivos seguros, como «lugares secretos, cajas fuertes personales o incluso bolsas a prueba de manipulaciones», aunque el informe señala que estas prácticas pueden ser engorrosas.
Otra sugerencia es que el software de la billetera utilice protocolos de firma «anti-exfiltración» que eviten que la billetera de hardware genere nonces por sí misma.
Casos anteriores de vulnerabilidades en billeteras
Vulnerabilidades en las billeteras de Bitcoin han causado pérdidas significativas a los usuarios. En agosto de 2023, Slowmist informó que más de USD 900,000 en Bitcoin fueron robados debido a una falla en la biblioteca del explorador Libbitcoin.
En noviembre, Unciphered informó que USD 2,100 millones en Bitcoin almacenado en billeteras antiguas podría estar en peligro de ser drenado por atacantes debido a una falla en el software de billeteras BitcoinJS.