Traducción al español de Cardano Stay Safe Series: Learn about different wallet types, their attack vectors and how to keep your ada safe
Publicado en el Foro de Cardano por la Fundación Cardano, el 30 de Octubre de 2019.
Las billeteras y sus vectores de ataque
El término “billetera” ya de por sí es confuso. Porque tus ADA no están en una billetera en tu PC. No, mejor piensa que las billeteras son como los navegadores web, y tus ADA son como sitios web que puedes controlar teniendo conocimiento de las direcciones correspondientes (llaves privadas).
Creo que esto se acerca mucho más a la realidad. Entonces, no es de extrañar que se pueda instalar una billetera con las mismas palabras semilla en varios PCs, y que todas muestren el mismo contenido, porque simplemente consultan la cadena de bloques.
Existen básicamente 3 tipos de billeteras: las de software, las de papel y las de hardware. También me gustaría hablar de las billeteras web, que también son, para ser precisos, billeteras de software.
Todas las billeteras tienen sus propios vectores de ataque, pero comparten una característica en común: Si alguien se las arregla para conseguir tus palabras semilla, se acabó. Tus ADA se habrán ido. Para siempre.
Ocasionalmente encontrarás dos términos adicionales: billetera fría y billetera caliente, que me gustaría mencionar brevemente.
Una billetera fría no está conectada a internet, tal como una billetera de papel. Daedalus puede crear tales billeteras de papel.
Por otro lado, una billetera caliente está conectada a internet, es decir, cualquier billetera de software como Daedalus o Yoroi.
Las billeteras de hardware son tipos especiales de billeteras frías. La mayoría de las veces están desconectadas, pero de vez en cuando están conectadas a un ordenador. El chip seguro en el que está almacenada tu llave privada está separado del resto del sistema y siempre “offline”.
Un enfoque de seguridad válido es alojar una pequeña porción de ADA en una billetera caliente, y la mayor parte de tus ADA en una billetera fría. Podrás delegar tus ADA mediante cualquier tipo de billetera, por cierto. Incluso con una billetera de papel.
Billeteras de software
Las billeteras de software, como Daedalus o Yoroi, son el tipo más común. Cuando se crea la billetera, se genera una llave privada que se encripta utilizando la contraseña de gastos, alojada en un archivo de la billetera dentro de la computadora o el teléfono inteligente donde la billetera está instalada.
Algunas personas podrían pensar que la contraseña de gastos protegería adicionalmente las palabras clave. Sin embargo, este no es el caso. Quienquiera que tenga las palabras semilla, no necesita una contraseña para gastar. Sólo está ahí para encriptar tu llave privada en el disco duro, para protegerla en caso de que sea robada. Por esta razón, también debe introducir la contraseña de gastos cuando envías ADA, delegues a un pool o votes. La billetera tiene que acceder a la llave privada en este momento y sólo puede hacerlo si tú introduces la contraseña.
Si alguna vez olvidas tu contraseña de gastos, puedes simplemente borrar la billetera y reinstalarla usando las palabras semilla.
Vectores de Ataque
Las carteras de software suelen ser atacadas mediante malware:
Robo de la carpeta de la billetera
El archivo cifrado puede ser robado por un programa malicioso, o por alguien que tenga acceso al ordenador. Además, un atacante debe conseguir la contraseña de gastos.
La contraseña puede ser registrada inmediatamente por el programa malicioso. Una contraseña inapropiada también puede ser “adivinada” por los ordenadores si es muy corta o si aparece en un diccionario (fuerza bruta).
Billetera falsa
Otro vector de ataque es instalar una billetera falsa en el PC o teléfono inteligente de la víctima. Tan pronto como el usuario instala la billetera e introduce sus palabras semilla, la billetera falsa envía todas las ADA a una dirección almacenada por el atacante.
Estas billeteras falsas aparecen tanto en el escritorio como en las tiendas de aplicaciones. Replican el aspecto de otras billeteras e incluso el nombre del desarrollador. Los nombres de los desarrolladores son únicos en la tienda, pero una elección inteligente de caracteres podría, por ejemplo, confundir “ADAtainment” con “ADAtaInment”.
Por lo tanto, siempre debes descargar billeteras y actualizaciones desde fuentes confiables, y comprobar después el archivo descargado con un hash.
Secuestro del portapapeles
Los programas maliciosos que cambian el portapapeles, los llamados secuestradores del portapapeles, funcionan de la siguiente manera: monitorean constantemente el portapapeles y tan pronto como se copia una dirección, se reemplaza dicha dirección silenciosa y secretamente con la dirección del atacante. Si no compruebas la dirección de nuevo después de pegarla, no tendrás suerte.
Los programas maliciosos de gran “calidad” disponene de un gran número de direcciones alternativas, y seleccionan la más similar a la dirección de sustitución. Mi consejo: después de pegar la dirección, comprueba al menos los 10 primeros y los 10 últimos caracteres de una dirección.
Conclusión
Daedalus y Yoroi son generalmente recomendados sin restricciones, pero ambos tienen sus ventajas y desventajas (nodo completo vs billetera liviana)
Billeteras web
Las billeteras web también son billeteras de software, pero me gustaría tratarlas por separado aquí, ya que hay que visitar un sitio web para utilizarlas. En el sitio web puedes introducir las palabras semilla, cargar la llave privada a través de un archivo, o conectarte usando una billetera de hardware.
Vectores de ataque
Las mejores bileteras web, como AdaLite, funcionan casi completamente “localmente” en el navegador, y no transfieren datos críticos como la llave privada. El mayor peligro no consiste visitar el sitio web correcto, sino en visitar uno malicioso. Y hay muchas maneras de que esto pueda suceder:
Apropiación de los DNS
Para poder mostrar la información de un sitio web, el ordenador debe recibir primero las direcciones IP de la dirección introducida, como por ejemplo adatainment.com. Esto se entiende mejor como una guía telefónica. La dirección adatainment.com es el nombre y la dirección IP es el número. El ordenador debe buscar en una guía telefónica (servidor DNS) el número que pertenece al nombre.
Una parte muy especial de esta agenda es el archivo host en el PC. Allí puedes, por ejemplo, configurar cosas para redirigir o bloquear páginas. Si alguien con acceso a tu PC, o un programa malicioso, manipula este archivo, podría introducir un número diferente para cualquier sitio web. Como resultado, al ingresar a adatainment.com, terminarías en una página creada por el atacante. Puede parecerse 100% al sitio real, pero es distinto y puede hacer cosas maliciosas.
En aras de la integridad, debe mencionarse aquí que cambiar el archivo de host no es la única forma de realizar un secuestro de DNS. También puede, entre otras cosas, cambiar los registros en el servidor DNS, que por supuesto es más compleja.
Cambiar marcadores
Este ataque es muy fácil de llevar a cabo. Un programa malicioso o alguien con acceso al PC cambia el sitio web detrás de un marcador. Entonces, si haces clic en el marcador, te llevará a otra página. Por supuesto, también se reemplaza la dirección en la barra de direcciones. Por lo tanto, para tales ataques se utilizan a menudo direcciones que son muy similares entre sí, por ejemplo, adatainment.com se sustituye por adatalnment.com.
Correos/Mensajes de phishing
También puede ser redirigido a un sitio web falso mediante correos electrónicos de phishing o mensajes con enlaces a una “nueva versión especial de lujo”, o una “actualización muy importante”, u otras cosas tentadoras.
Otros PCs
La ventaja de las billeteras web es que no necesitas ningún otro software. Es posible que te tientes a utilizar billeteras web desde otros PCs. No lo hagas. Nunca se sabe cuál es el estado de seguridad de ese PC. Posiblemente un programa que registra todo se está ejecutando intencionadamente, o quizás el PC ya está infectado involuntariamente con malware.
Conveniencia
Dado que a menudo necesitas tu llave privada, o las palabras semilla, para una cartera web, los usuarios pueden tener la tentación de guardarlas en el PC, en un archivo de texto sin cifrado. Allí, pueden ser fácilmente robados.
Secuestro del portapapeles
Al igual que con las bileteras de software, los programas maliciosos que cambian el portapapeles también tendrían aquí un posible vector de ataque.
Conclusión
AdaLite es una buena pieza de software. Sin embargo, por las razones mencionadas, en general desaconsejo las billeteras web. Simplemente porque son páginas web, y puedes terminar fácilmente en una dirección equivocada. Si las utilizas, por favor, sólo hazlo conjuntamente con una billetera de hardware. De esta manera puedes estar seguro de que no se transferirán datos críticos.
Billeteras de papel
Las bileteras de papel, como las creadas por Daedalus, son muy seguras en cuanto a “poder ser pirateadas”. Nadie puede hackear un pedazo de papel, especialmente si está en una caja de seguridad.
La gran desventaja es que ya no puedes usar tus ADA. Para tus ADA, primero tendrías que importar la billetera de papel a Daedalus o Yoroi. Tan pronto como se importa una billetera de papel, ya no es tan segura como antes, porque la llave privada se almacena en un ordenador.
El principio: Si se importa una billetera de papel, entonces ya no es una billetera fría. Se convierte en una billetera caliente, y no deberías usar más dicha billetera de papel específica.
Vectores de ataque
Nadie puede hackear un trozo de papel, pero pueden robarlo. El propósito de una billetera de papel es, no almacenar sus palabras semilla digitalmente. Por eso no debes guardar una billetera en papel en un archivo PDF, fotografiarla o hacer una captura de pantalla de la misma. En algunas empresas, todas las impresiones se archivan digitalmente, por lo que es preferible que no imprimas tu billetera de papel en la oficina.
Robo
El robo es sin duda el vector de ataque número 1. Esto incluye fotografiar o copiar las palabras semilla.
Pérdida/Destrucción
También pueden ser fácilmente dañados o destruidos por el agua o el fuego.
Generadores maliciosos
Si utilizas un programa malicioso para crear una billetera de papel porque acabas de buscar en Google “Paper Wallet Generator”, experimentarás el sobresalto de tu vida, cuando intentes importar la billetera de nuevo. Tus ADA se habrán ido. Para siempre.
Por cierto: el hecho de que utilices un generador de billetera de papel “offline” no significa que sea seguro. Un programa malicioso puede generar muchas direcciones aparentemente correctas. Pero estos son fácilmente calculables por el programador del generador. Esto significa que incluso si utilizas un programa de este tipo en un PC, que nunca ha estado conectado a internet antes, tus ADA igualmente desaparecerán. Para siempre.
Conclusión
Las billeteras de papel son impresionantes para el almacenamiento a largo plazo de grandes cantidades de ADA, cuando buscas una manera de almacenarlas de forma segura.
Billeteras de hardware
Lo bueno de una billetera de hardware es que, a diferencia de una de papel, es que se puede utilizar aunque la llave privada esté protegida. Es un poco como una mezcla de billetera de software y billetera de papel.
En una billetera de hardware, la llave privada se almacena en un chip especial. A través de este chip la llave privada está aislada del resto del sistema y no puede ser utilizada directamente. Una vez almacenada, sólo se puede utilizar a través de una interfaz. Esta interfaz no tiene la opción de mostrar la llave privada, pero puede firmar, por ejemplo, las transacciones con ella. Este proceso se muestra en la pantalla de la billetera de hardware, y debe ser confirmado con un botón.
Tienes que pensar en ella como una caja blindada con una ranura en la parte superior e inferior. En la parte superior se introduce la transacción deseada y en la parte inferior la transacción firmada simplemente se realiza. A continuación, se envía a la red. Este diseño hace que la llave privada de una billetera de hardware sea segura, incluso si está conectada a un ordenador que ejecuta algún tipo de malware, mientras el usuario no pueda ser engañado para confirmar una transacción no deseada.
Vectores de ataque
Como muestra el equipo de Wallet.Fail, las billeteras de hardware son cualquier cosa menos libres de errores, y los vectores de ataque pueden ser bastante creativos. Al igual que con una billetera de papel, se requiere tener acceso al dispositivo en sí. Por lo tanto, primero debe ser robado o haber sido manipulado en la cadena de suministro / ruta de transporte hasta el cliente.
Dispositivo preconfigurado
Esto nos lleva al clásico vector de ataque para billeteras de hardware: la billeteras ya viene “preconfigurada”, a veces incluso con un bonito prospecto con 24 palabras predefinidas para la recuperación, y un pequeño manual. Si utilizas una billetera “preconfigurada” de este tipo, pronto te librarás de tus ADA. Por lo tanto, estos dos principios deben ser revisados:
- Compra siempre directamente del fabricante https://www.ledger.com (Nano S, Nano X) o https://trezor.io (Trezor T)
- Configura siempre una billetera de hardware por tí mismo, anotando las palabras semilla por tu cuenta. Luego de la configuración, debes transferir un número muy pequeño de ADA y probar la recuperación primero.
Robo
A diferencia de una billetera de papel robada, una billetera de hardware requiere que ingreses un pin. Si este pin se introduce 3 veces de forma incorrecta, la billetera de hardware se borrará automáticamente. Entonces, sólo puede ser restaurado con las palabras semilla.
En el peor de los casos, por supuesto, si existe una vulnerabilidad en el sistema, la llave privada o las palabras semilla podrían ser extraídas de un dispositivo robado. Mostrado en TREZOR-T en el 35º Congreso de Comunicación del Caos (35C3) en diciembre de 2018. (si tienes tiempo, deberías ver el video completo. Hay muchos más vectores de ataque explicados).
Secuestro del portapapeles
Programas maliciosos que alteran el portapapeles también tendrían lugar aquí. Pero, como la dirección también se muestra en la pantalla de la billetera de hardware, este ataque es más fácil de detectar.
PC comprometida
Una forma de atacar una billetera de hardware es mostrarle al usuario algo diferente (una dirección de destino o cantidad diferente) de lo que realmente se envía a la billetera de hardware. Si este es el caso, el ordenador ha sido comprometido de alguna manera. Esta es exactamente la razón por la que las billeteras de hardware tienen una pantalla y siempre debe coincidir con la cantidad y la dirección de destino. Sólo debes confirmar una transacción si todo está bien. Por lo tanto, una cartera de hardware también es segura, si el ordenador ha sido comprometido, siempre y cuando el usuario no sea engañado.
Manipulación del hardware
Manipular la visualización de la cartera de hardware no es imposible, pero es mucho más complejo que, por ejemplo, simplemente modificar el portapapeles del ordenador, o la visualización en la pantalla del ordenador, con un programa malicioso. La billetera tiene que ser robada y luego devuelta. Los ejemplos se muestran en el sitio web de Wallet.Fail.
Ataque de rescate (ransom)
Otra posibilidad interesante de atacar una cartera de hardware apareció en marzo de 2019. El ataque de rescate se basa en el hecho de que una billetera modificada (el PC ya tiene que estar comprometido) genera una dirección de recepción que pertenece a tu llave privada, pero elegida al azar. Para entender esto, hay que saber que las billeteras normalmente generan direcciones a partir de la llave privada a través de un índice que comienza en 0 y luego aumenta en uno: 0, 1, 2, 3… pequeños espacios como 4, 5, 15, 16… también son posibles.
La billetera manipulada elige un índice aleatorio en el rango de mil millones. La transacción a tu dirección se confirma normalmente en la cadena de bloques, pero no aparece en tu billetera. Sigue perteneciendo a la llave privada, pero sólo se puede encontrar con el índice correcto porque ningún software de billetera puede detectar o buscar un hueco tan grande en el índice de la llave.
Algunos fabricantes como Ledger y TREZOR-T ya han anunciado con actualizaciones de firmware que este ataque ha sido “solucionado”. Pero tienes que entender que no hay manera de arreglarlo. Por ejemplo, Ledger emite un aviso si el índice está fuera de un rango muy alto (más de 50.000). Para el ataque en sí, sin embargo, es suficiente si el índice de la llave sólo salta unos pocos miles. La diferencia es que si ocurre un ataque de este tipo, puedes obtener tus ADA más rápido con un rango más bajo (ya que tendrías que probar todas las posibilidades).
Conclusión
Aunque aquí se enumera una larga lista de vectores de ataque, es necesario tener acceso directo a la cartera, o al propio PC, para todos ellos. Con otras billeteras ya habrías perdido tus monedas. Si conoces los vectores de ataque, las billeteras de hardware son bastante seguras y ofrecen una gran flexibilidad.
Lo que habla en contra de una billetera de hardware es, en cualquier caso, el precio. Por ejemplo, si compras ADA por 200 dólares, no vale la pena gastar entre 60 y 120 dólares en una billetera de hardware.
Volver al menú de contenidos de la serie