¿son-seguros-los-monederos-de-software-para-bitcoin-y-criptomonedas?Tecnología 

¿Son seguros los monederos de software para bitcoin y criptomonedas?

La función de estos monederos es almacenar los bitcoin u otras criptomonedas para que los usuarios puedan administrarlos para las transacciones

La función de los monederos de bitcoin y de criptomonedas es almacenar y administrar las llaves utilizadas para recibir y firmar las transacciones. Así, quien tenga acceso a las llaves que almacenan, tiene acceso a los bitcoins (BTC).

Recientemente, Ledger, una compañía que se dedica a la fabricación de hardware wallets, analizó los sistemas de seguridad utilizados por los diferentes monederos de software, y determinó qué tan fiables y seguros podrían ser.

El estudio se publicó en el portal oficial de DonJon Ledger, que es el nombre que denoomina al equipo de investigación en asuntos de seguridad y criptografía de Ledger.

Qué protege un monedero o wallet de bitcoin y criptomonedas

Es importante tener en cuenta que las wallets no almacenan criptomonedas. Entonces, ¿qué protegen? Los monederos guardan y aseguran las llaves privadas con las que se firman las transacciones para transferir los fondos.

Estas claves privadas, según explica el trabajo, se generan a partir de una función matemática conocida como curva elíptica. En Bitcoin y Ethereum, por ejemplo, se utilizan curvas del tipo secp256k1. Monero, en cambio, utiliza una variación denominada Ed25519, y para el caso de Ethereum 2.0, este utilizará curvas del tipo BLS12-381.

Hay dos formas en que se generan las claves privadas entre las carteras de Bitcoin: billeteras determinísticas jerárquicas (HD, por sus siglas en ingles) y no determinísticas. Las HD permiten crear las claves a partir de un único secreto, conocido como semilla de recuperación, conformada por 12, 18 o hasta 24 palabras.

En cambio, para el caso de las no determinísticas, se genera una clave por cada secreto, es decir, cada par de claves (privada y pública) se genera de un secreto individual. Es por eso que resultan mucho más difíciles de respaldar.

En base a todo lo decripto, las billeteras se encargan de proteger tanto las claves privadas como la semilla de recuperación o secretos, que permiten la generación de dichas claves, algo que aplica tanto en monederos de hardware como de software.

Las billeteras respaldan las claves privadas y las formas de recuperación

Contra qué protege una wallet de bitcoin y criptomonedas

El principal enfoque que tiene una wallet de criptomonedas en su estructura de seguridad es la protección contra agentes externos. Personas que no son su legítimo propietario o quien él autorice, si bien pueden tener acceso al dispositivo, no deberían poder tener acceso a los fondos.

Al tipo de ataques, donde el atacante tiene acceso al dispositivo, se les conoce como “sirvienta malvada”. El nombre alude al hipotético caso en el cual, al salir de la habitación del hotel, una mucama malintencionada accede a nuestro computador o teléfono dejado en el cuarto. Contra este acceso ilegítimo debe estar protegido nuestro monedero.

Esto se logra a través de sistemas de protección como la autenticación de dos factores o un PIN de seguridad. Otras protecciones se basan en crear un material criptográfico seguro. Es decir, los secretos (excluyendo la semilla) no pueden ser generados a través de sistemas predictivos (fuerza bruta). También está la creación de ecosistemas seguros dentro del software o hardware que permitan que el uso normal del monedero no signifique que las claves se encuentren expuestas.

Cómo funciona la seguridad en los monederos de software

La premisa de protección a la que están sujetas las hardware wallets de Bitcoin, es aplicable también a las wallets de software, que apuntan a ofrecer un ecosistema seguro a través de las diferentes herramientas que brindan los sistemas operativos como Windows, macOS, Android o iOS.

La seguridad de una cartera de software depende, casi en su totalidad, de los sistemas de protección con los que cuente el sistema operativo. No obstante, algunos fabricantes han desarrollado herramientas de seguridad de hardware especializado, las cuales se detallarán más adelante.

Monederos de software para computadoras

Una de las primeras secciones que destaca el estudio realizado por la compañía son las carteras de software para computadoras, puntualmente para sistemas operativos Windows y Mac. Entre ellas se encuentran Exodus, Coinomi y Electrum, que cuentan con versiones para PC.

El informe de señala que la seguridad de las carteras utilizadas en sistemas operativos de computadoras se basa en cuán segura es la contraseña y que, dentro de la ejecución del propio sistema operativo, no se encuentre en actividad algún tipo de malware (software malvado). Estos podrían ser, por ejemplo, Keyloggers, o capturadores de teclado. Son programas que guardan registro de toda la actividad que el usuario realiza en sus periféricos, como teclado y ratón.

La semilla, o secreto, en las carteras de software para PC, se almacena de forma encriptada dentro del disco duro. La encriptación del archivo está basada en la contraseña que el usuario utilice.

A raíz de este modelo de encriptación, en el cual se basan todos los sistemas operativos, los monederos de Bitcoin podrían presentar problemas de seguridad debido al tipo de contraseña utilizada.

El archivo encriptado está protegido, siempre y cuando la contraseña utilizada sea segura. De este modo, si el atacante tiene acceso al archivo no podrá desencriptarlo por un ataque de fuerza bruta, el cual consiste en probar diferentes combinaciones de contraseña hasta dar con la correcta. En cambio, con un Keylogger instalado en la computadora de la víctima, el atacante sí podría se acceder a la información que el usuario ingrese al momento de abrir su cartera.

Para demostrar cómo funciona, el equipo de investigación realizó un video en el que se puede ver de qué manera funciona un malware que roba las contraseñas de los usuarios desde la PC.

¿Son seguras las wallets de software para computadoras?

El estudio de Ledger evalúa la seguridad de un monedero según tres tipos de protecciones: en reposo, durante el uso del secreto y la seguridad del material criptográfico. Para el reposo, la seguridad de la mayoría de carteras de PC depende de la contraseña, como se explicó anteriormente. En cuanto al acceso y cuidado de los secretos y semilla de recuperación, depende de la seguridad de la computadora y quienes puedan acceder a ella, siendo por lo general inseguro para los monederos de software. Por último, el material criptográfico dependerá de la implementación. El estudio concluye que las carteras de software para PC no son muy seguras para proteger los bitcoins, ya que son bastante vulnerables ante ataques.

Hay billeteras de bitcoin para computadoras y para celulares

Monederos de software para celulares

Este tipo de monederos ofrecen mayores capas de seguridad que las carteras para computadoras, debido a la construcción misma de sus sistemas operativos (Android y iOS) que cuentan con apartados de seguridad especializados en la protección de datos de los usuarios.

En comparativa, según destaca el estudio realizado, los Keylogger pueden no ser tan efectivos en este tipo de sistemas operativos dado que una aplicación, sin los permisos necesarios, no puede leer los datos de otra aplicación. Claro está, existe la posibilidad de que el usuario pueda conceder permisos al no leer lo que está aceptando. No obstante, también existen vulnerabilidades dentro de las mismas aplicaciones de cartera que pueden ser explotadas por los atacantes.

Una aplicación de monedero también se puede atacar teniendo acceso al root o raíz del dispositivo, como se le conoce al usuario maestro, que le permite modificar y acceder a toda la información dentro del dispositivo.

El estudio demostró que, si bien los ataques son un poco más difíciles de realizar, no son imposibles. Algunos especialistas de seguridad como es el caso de Ian Beer, demostraron que es posible hackear dispositivos móviles con equipo especializado. Sin embargo, este tipo de ataques requiere hardware y conocimiento avanzado en hacking.

Al igual que ocurre en las carteras de software para computadoras, las carteras en dispositivos móviles dependen de la seguridad tanto del sistema operativo como de su propio software. En este último caso, se encuentra el ofrecer sistemas de protección mediante contraseña y verificación biométrica, entre otras.

No obstante, a pesar de estas medidas de seguridad y la protección misma que ofrece el sistema operativo, este puede ser vulnerado. Un ejemplo de ello es una aplicación maliciosa que funciona como una app dedicada a mostrar el precio del BTC. Si embargo, al momento de abrir una wallet de criptomonedas desde un dispositivo Android, como es el caso de Metamask, esta puede robar la contraseña de la cartera y, en consecuencia, tener acceso a la semilla de recuperación de forma remota. Para mostrar el ejemplo, el equipo de investigación de Ledger publicó un video de cómo sería el ataque.

Cabe recalcar que la vulnerabilidad no solo aplica a Metamask, ya que el estudio demostró también que un malware puede obtener las contraseñas de carteras como Coinbase, de las cuales los investigadores también realizaron una demostración en video.

Hay sistemas especializados de seguridad en teléfonos inteligentes

El tratamiento de los datos en un dispositivo móvil ocurre dentro de la memoria de almacenamiento. Esto quiere decir que tanto wallets (junto con las claves privadas) como softwares maliciosos, se almacenan en el mismo lugar. Si bien el sistema operativo se encarga de proteger la información, la app maliciosa, con los permisos necesarios podrá acceder a los fondos.

Para contrarrestar estas situaciones, las empresas de teléfonos han comenzado a desarrollar hardware especializado para el almacenamiento de datos sensibles, como lo son las claves privadas. Entre estos sistemas, analizados por el estudio de Ledger, se encuentran los KeyStore, desarrollados por la empresa Samsung, los cuales están integrados dentro de sus dispositivos topes de gama como lo son la serie Galaxy S y la serie Note.

Un KeyStore es un chip especial que almacena de forma distinta los datos a como lo haría el almacenamiento interno. Este tipo de almacenamiento ofrece una capa extra de seguridad, en casos tales en el que el atacante tenga privilegios de acceso al root.

Si bien el sistema da mayor seguridad a las claves privadas, el KeyStore no firma las transacciones internamente. Esto quiere decir que, para enviar bitcoins, se necesita extraer las claves privadas desde el KeyStore, para luego firmar la transacción dentro de la app de cartera, lo cual podría representar una vulnerabilidad a la seguridad.

Según concluye el estudio, este mecanismo sí ofrece mayor seguridad, pero no en su totalidad, ya que usuarios con acceso a contraseñas del dispositivo, pueden utilizarla para vaciar los fondos.

Entonces, ¿son seguras o no?

El estudio de Ledger concluye que la seguridad de las wallets depende, en gran medida, de los sistemas operativos en las que se utilicen. Dentro de los cuales, su seguridad depende de la contraseña utilizada.

Una buena contraseña que incluya una combinación de mayúsculas, minúsculas y caracteres especiales mantendrá seguros los fondos. Esto, como expresa el estudio, significa que “la cartera no puede ser más segura que el sistema operativo en el que corre”.

El problema que ocurre con este tipo de cartera se encuentra en su vulnerabilidad ante ataques de malware. Si bien los KeyStore pueden ofrecer una capa extra de seguridad, el no firmar transacciones internamente, como sí ocurre con las carteras de hardware, hace que aún presenten vulnerabilidades.

Entonces, utilizar este tipo de carteras requiere cuidado por parte del usuario. En caso de querer almacenar grandes cantidades de criptomonedas, es mejor optar por una cartera de hardware.

Esta última recomendación se debe a la forma en que se protegen las llaves privadas dentro de una hardware wallet. Estos son dispositivos especializados que almacenan y administran las llaves privadas de diferentes criptomonedas en un dispositivo especializado (hardware).

A diferencia de un KeyStore, las carteras de hardware firman internamente la transacción sin la necesidad de exponer las llaves privadas. Así, ofrecen una capa muy robusta de seguridad para la protección de bitcoin y criptomonedas.