Un fallo de siete años en la app Ledger de Zilliqa expuso claves privadas

iEXExchanger
Un fallo de siete años en la app Ledger de Zilliqa expuso claves privadas

Durante siete años, la app de Ledger para Zilliqa generó firmas predecibles: la clave privada se podía calcular solo con datos públicos. Zilliqa detuvo las transferencias nativas y el token cayó casi un 20%.

Un monedero de hardware debería ser el lugar más seguro para guardar una clave privada. Durante siete años, una aplicación muy usada sobre los dispositivos Ledger socavó esa promesa sin que nadie se diera cuenta.

El fallo vivía en la app de Ledger para Zilliqa, disponible desde 2019 para firmar transacciones nativas, no compatibles con EVM. Cada vez que la aplicación generaba una firma, tomaba los 32 bytes equivocados de datos: conservaba ocho bytes de relleno técnico en lugar de ocho bytes de aleatoriedad real. Ese valor aleatorio se llama nonce, y su función es ser impredecible cada vez. Cuando no lo es, basta comparar varias firmas de la misma cuenta para reconstruir matemáticamente la clave privada — sin malware, sin tocar el dispositivo, solo con datos públicos que ya están en la blockchain. Según Zilliqa, unas cinco firmas afectadas bastan, y el cálculo tarda segundos en un ordenador normal.

El 19 de julio, el exchange KuCoin detectó actividad sospechosa en la red y empezó a investigar. Dos días después se confirmó la causa, y el 22 de julio Zilliqa hizo pública la falla. En medio, una billetera fría de un exchange asociado fue vaciada de una cantidad no revelada de ZIL. Zilliqa suspendió de inmediato todas las transacciones nativas en toda la red — las transferencias compatibles con EVM nunca se vieron afectadas — y Upbit congeló los depósitos y retiros de ZIL. El token cayó entre un 17% y un 19% en la semana, cotizando cerca de 0,0024 dólares.

Los dispositivos Ledger en sí nunca estuvieron comprometidos: el error vivía en el código de una aplicación de terceros, no en el chip seguro. Es un consuelo pequeño para quien firmó transferencias nativas de ZIL con Ledger desde 2019: una vez que una firma queda en la blockchain, queda ahí para siempre, y una app corregida no puede deshacer una clave ya expuesta. La única solución real, según Zilliqa, es mover los fondos a una dirección nueva.

El caso deja una lección simple: un monedero de hardware solo protege lo que el software que corre sobre él hace bien, y si ese software falla, el chip perfecto no sirve de mucho.

Preguntas y respuestas

Preguntas frecuentes sobre este artículo

¿Cuál es exactamente el fallo de Ledger y Zilliqa?

Desde 2019, la app que firma transacciones nativas de Zilliqa en Ledger generaba un número aleatorio (nonce) predecible. Comparar unas pocas firmas de una misma cuenta basta para reconstruir la clave privada.

¿Están comprometidos los dispositivos Ledger en sí?

No. El fallo estaba en la app de terceros para Zilliqa, no en el chip seguro de Ledger. Los dispositivos nunca se vieron comprometidos.

¿Qué deben hacer los titulares de ZIL que usaron Ledger?

Quien firmó cinco o más transacciones nativas de ZIL con Ledger desde 2019 debe considerar esa clave comprometida y mover los fondos a una dirección nueva; la app corregida no anula firmas ya publicadas.

¿Cómo se descubrió el fallo?

El 19 de julio, KuCoin detectó actividad sospechosa, confirmó la causa junto a Zilliqa el 21 y Zilliqa reveló los detalles el 22 de julio.

¿Qué pasa ahora con la red Zilliqa?

Las transacciones nativas siguen suspendidas mientras las transferencias compatibles con EVM funcionan con normalidad. Zilliqa ultima una app corregida junto con Ledger.