Satoshi Labs, el equipo de desarrollo detrás de las wallets Trezor, ha lanzado nuevas actualizaciones para sus dispositivos hardware Trezor One y Trezor Model T. A través de estas actualizaciones se busca corregir una vulnerabilidad detectada en Bitcoin SegWit, que puede afectar los fondos gastados desde estos monederos. 

La wallet Trezor One es uno de los monederos físicos más seguros que existen en el mundo, Mientras que el Trezor Model T es una wallet de próxima generación con la cual se promete una mejora significativa a la experiencia de los usuarios. Esto por medio de una interfaz de usuario moderna e intuitiva, muy fácil de utilizar. 

No obstante, recientemente se dio a conocer una vulnerabilidad de seguridad en el protocolo de SegWit que puede comprometer y afectar las transacciones realizadas desde estos monederos. La cual puede permitirle a los atacantes intercambiar las direcciones de las transacciones al momento del usuario realizar una transferencia. Efectuando un engaño para que el usuario envíe los fondos a una dirección que no es correcta. 

La vulnerabilidad fue detectada por Saleem Rashid, un reconocido hacker y apasionado de la criptografía y los sistemas sin confianza, según informó el CEO de Trezor, Pavol Rusnak en su anuncio. Donde además explicó todos los detalles de la vulnerabilidad detectada por este usuario y las nuevas actualizaciones disponibles para las wallet Trezor. 

En este sentido, la versión 2.3.1 está disponible para actualizar las wallets Trezor One. Mientras que la versión 1.9.1 está disponible para la actualización de las wallets Trezor Model T. 

Trezor presenta nueva actualización para su monedero respondiendo a la vulnerabilidad en SegWit
Actualización disponible para las wallets Trezor One y Trezor Model T

Te puede interesar: Wasabi Wallet en la mira de la Europol y Chainalysis: otro ataque a la privacidad

Vulnerabilidad detectada en Bitcoin SegWit

El error detectado en el protocolo de Bitcoin SegWit puede comprometer los fondos gastados en las transacciones realizadas desde wallets o servicios que implementen esta solución. Una vulnerabilidad que le permite a los atacantes enviar un mensaje de error solicitando una confirmación por parte del usuario. Con la finalidad de proceder nuevamente con la operación. Pero en la cual es posible intercambiar las entradas de la transacción para gastar la mayoría de los fondos enviados como comisiones. 

Para explicar esta vulnerabilidad, los desarrolladores de Satoshi Labs citaron un ejemplo, en el cual se especifica lo siguiente:

Un usuario posee 20 BTC y desea realizar una transacción con SegWit para enviar 15 BTC. Por lo que confirma una transacción para 15 BTC y otra para 5 BTC más la tarifa de comisión. Que dejaría la segunda entrada como 5,00001 BTC. 

Ahora bien, el malware arroja un mensaje de error al usuario, donde indica que la operación no pudo ser completada. Por lo que solicita una confirmación para proceder nuevamente con la transacción. En este punto, el malware intercambia las direcciones; dejando la transacción de envío con los BTC de la comisión, y la segunda con los BTC del envío. 

Pero al reflejarse de forma idéntica en la wallet, con las mismas salidas, el usuario puede ser engañado pensando que está confirmando la transacción inicial. Por lo que al momento de confirmar nuevamente la transacción, el usuario termina cancelando una comisión de 15 BTC y enviando solamente 0,00001 BTC. Gastando la mayoría de los fondos en pagar la tarifa de comisión al minero. 

Probabilidad de éxito

Ahora bien, para que este ataque pueda ser efectuado con éxito, es necesario que el atacante maneje un minero dentro de la red Bitcoin. Además, debe ser ese minero quien esté minando el bloque donde será incluida la transacción, para poder cobrar la comisión. 

Por ello, aunque el ataque sí puede llegar a  efectuarse, las probabilidades de realizarlo son realmente muy pocas. Un aspecto por el cual los desarrolladores consideran que es una vulnerabilidad de gravedad más o menos baja. Además, resaltan que la solución a esta problemática es bastante sencilla, y que es algo que se está implementando en las nuevas actualizaciones disponibles para las wallets Trezor.

Esta solución consiste en verificar el monedero y revalidar las transacciones anteriores antes de enviar las nuevas. Como ocurre con las transacciones que no son SegWit, como lo expresó el comunicado. 

“La solución es sencilla: tenemos que lidiar con las transacciones de Segwit de la misma manera que con las transacciones que no son de Segwit. Eso significa que necesitamos exigir y validar los montos UTXO de las transacciones anteriores. Eso es exactamente lo que estamos introduciendo en las versiones de firmware 2.3.1 y 1.9.1”.

Solución para terceros

Aunque para las wallets Trezor esta solución es fácil de aplicar, no lo es para los terceros que interactúan con estos monederos físicos. Tal es el caso de la wallet de privacidad Wasabi y el servidor de pagos descentralizados BTCpay. Por lo que los desarrolladores de estas soluciones hicieron un llamado a los usuarios a no actualizar los firmware hasta tanto se hayan resuelto los problemas de compatibilidad. 

Así mismo el equipo de Satoshi Labs señaló que no habían divulgado la vulnerabilidad debido a un proceso responsable al que es sometido la compañía. Por lo que especificó que:

“Es por eso que nos llevó más tiempo de lo habitual publicar esta solución porque respetamos las reglas de divulgación coordinada”. 

Por ello, algunos de los proveedores de monederos de hardware solicitaron 90 días para implementar la solución y crear las actualizaciones correspondientes.

Mientras tanto el proveedor de servicios BTCpay está considerando deshabilitar Trezor de sus servicios. Señalando que el servicio que ofrece no almacena todos los datos de la blockchain si no que simplemente utiliza los datos necesarios de la red Bitcoin para ofrecer facilidad y  rapidez a los usuarios. Por lo que estima que no podrá integrar los esquemas de verificación de transacciones de Trezor. 

Continúa leyendo: Hablando sobre Bitcoin y su curva ascendente