Cómo mejorar la protección de tus cuentas en línea con 2FA

lupa
Blog Privacidad Software libre Tecnologías disruptivas

Habrás escuchado sobre el «segundo factor de autenticación» (2FA) o incluso quizás lo hayas utilizado sin saber que se llama así, por ejemplo cuando una plataforma te manda un SMS con un código que debes colocar para poder completar el acceso.

¿Por qué necesitamos el segundo factor?

Con la proliferación de servicios en línea –nube, correo, juegos, criptomonedas, etc..– el uso de contraseñas se ha vuelto muy inseguro y complicado, ¿por qué?

Veamos un ejemplo:

  1. Juliana que nació en agosto, estudia en la universidad, trabaja en una organización vulnerable (ONG, organización campesina, medio de prensa, etc..) y además es activista de un grupo ambiental en donde maneja las redes sociales. Juliana entonces tiene acceso a más de 10 cuentas en 3 identidades:
    • Personal: Drive y Gmail, Dropbox, Twitter, Facebook, Instagram, Tinder, Banco LadronesDeSiempre, Linkedin
    • Laboral: Drive y Gmail, Twitter, Facebook fanpage (desde su FB personal), Slack, Instagram, Web basada en WordPress, Mailchimp
    • Activista: Twitter, Instagram, Facebook fanpage (desde su FB personal), Nextcloud
  2. Como no tiene una memoria de robot, y tiene que recordar tantos accesos, eligió una contraseña para cada identidad:
    • Personal: juliana_juli_juju@gmail.com con contraseña julita08
    • Laboral: hola@notilibre.press con contraseña libre.noticias1234
    • Activismo: comunicacion@verdes.lat con contraseña basta de Plástico
  3. Además de repetir contraseñas, Juliana hace 6 años que no cambia su contraseña personal (salvo la del banco que le obligan a cambiarla cada 3 meses). En el trabajo sin embargo le obligan a cambiar las claves cada 6 meses.
  4. Ahora pensamos en una situación en que un atacante con conocimientos intermedios en informática, sabe el correo personal de Juliana (juliana_juli_juju@gmail.com) y pudo ver su Instagram o Facebook (ya que son públicos) y luego de una pequeña investigación obtuvo su fecha de cumpleaños, su número de identificación y el nombre de algunos familiares.
  5. El atacante utiliza la plataforma https://haveibeenpwned.com1 para descubrir que el correo y clave de Juliana, están disponibles en una filtración de la base de datos de Dropbox de 2016. Aquí un listado de todas las filtraciones conocidas por esta plataforma: https://haveibeenpwned.com/PwnedWebsites 2.
  6. Basado en la investigación que hizo en el punto anterior, el atacante paga una mensualidad en https://ghostproject.fr/ y logra obtener las credenciales de Juliana. Aquí pueden pasar 2 cosas:
    • A. que la contraseña estaba almacenada en texto plano, por lo que simplemente lee: adita08
    • B. que la contraseña estaba «hasheada» (oculta) por lo que necesita aplicar algoritmos para encontrarla, pero como la clave se puede deducir del nombre y mes de nacimiento de la víctima, no le llevaría mucho tiempo hasta obtenerla (utilizando técnicas algorítmicas de «fuerza bruta»). Si por el contrario la clave fuera de más de 10 caracteres y no deducible de sus datos, sería extremadamente difícil.
  7. Sea como fuere, en la situación del ejemplo es muy probable que logre obtener la contraseña actual de Juliana y con ello comenzar a «probar» en varias plataformas: Twitter, Facebook, Tinder y probablemente va a lograr entrar en varias de ellas (salvo en el banco que la ha venido cambiado cada 3 meses).

«Por suerte» Juliana tenía 3 contraseñas y el atacante solo logró obtener la primera de ellas, la personal. Sin embargo, el atacante podría utilizar el perfil de Juliana para operar sobre las fanpages laboral y activista. Esto demuestra cuán importante es que cada organización tenga y haga cumplir una «Política de contraseñas» y que todes quienes forman parte también hagan lo propio con sus perfiles personales.

Este ejemplo no es exagerado ni descabellado y nos arroja una conclusión: debemos actuar como si cada contraseña escrita en cada plataforma se pueda volver pública en cualquier momento.

Si te parece poco real, puedes probar si tus credenciales –o la de tus amigues u oponentes– están comprometidas. Para ello puedes utilizar alguna de estas plataformas:

En caso que encuentres que tus credenciales están comprometidas, deberías:

  • Colocar contraseñas diferentes en todos los servicios
  • Que sean largas y no deducibles, por ejemplo: basta de Plástico
  • Cambiarlas periódicamente

En caso de que no encuentres, deberías igual realizar estos pasos, pues como ya mencionamos, nada asegura que tus credenciales no hayan sido filtradas de todos modos. La base de datos filtrados que guarda «Have I been pwned» puede ser la punta del iceberg de las filtraciones que se han realizado efectivamente y es probable que estén siendo aprovechadas por actores maliciosos.

¿Complicado y engorroso? Lo mejor sería utilizar un gestor de contraseñas: para mayor detalle puedes leer nuestro artículo «El caos de las contraseñas»3 y así lidiar con toda esta situación de forma más saludable.

Después de todo, podrías ver esto como una analogía de las relaciones sexuales: todo es más placentero y sencillo sin preservativos, pero la probabilidad de contraer enfermedades o tener embarazos no deseados se vuelve muy alta. Entonces considera el gestor de contraseñas y el 2FA como los «preservativos para plataformas».

¿Qué es y cómo se activa el segundo factor?

Entonces, además de tener una buena «Política de contraseñas» y utilizar un gestor de contraseñas, puedes activar un segundo factor de autenticación. Es una forma extra de proteger tus cuentas con algo más que las contraseñas y se puede utilizar de diversas formas. En líneas generales funciona así:

  1. La plataforma te pide tu identidad y algo que «ya tu sabes» (la contraseña)
  2. Luego, te pregunta algo que tu tienes: un código o acción que se realiza en alguno de tus dispositivos (el segundo factor).

Es «tan sencillo» como eso: combinar algo que sabes (la contraseña) con algo que tienes (un dispositivo).

De las posibles formas de utilizar este sistema, te vamos a comentar estas:

  • envío de SMS o llamada
  • llave física
  • notificación al celular
  • aplicación móvil

SMS y redes celulares

El doble factor utilizando SMS o llamada –sin utilizar datos– consiste en recibir un código por las redes de celular, sea por SMS o llamada telefónica. Este método se ha demostrado vulnerable a varios ataques, hasta el punto que Google lo ha venido reemplazando4 5 6.

Por todo lo anterior, no te recomendamos este método, salvo que sea la única posibilidad de segundo factor que brinde una plataforma.

Llave física

Otra forma es utilizar una llave física, que consiste en un dispositivo pequeño con un botón que vinculamos a nuestra cuenta y debemos utilizar cada vez que ingresamos. Algunos ejemplos son: el viejo «token» del banco, YubiKey, o la OnlyKey. Aquí puedes encontrar otras llaves físicas.

En líneas generales funcionan así:

  1. Ingresas tu usuario y clave normalmente
  2. El sistema te solicita operar en tu llave, que se comunica con tu dispositivo, sea por USB u otro mecanismo. Al presionar el botón de la llave, el sistema registra que la llave vinculada se activó y permite el ingreso.

Esta forma de 2FA tiene algunos problemas:

  • Las llaves físicas tienen cierto costo y para personas y organizaciones de la periferia global no suelen ser viables
  • Además hay que tener una llave de respaldo vinculada (ante posible pérdida o robo) por lo que se duplica su costo en configuración y económico. Todo se hace por duplicado.

Notificación directo al celular

Google (o Apple) controla tu celular y es capaz de brindar la opción de utilizar sus servicios –Drive, Gmail, Calendario– y enviarte una notificación emergente en tu celular cada vez que ingresas a uno de sus servicios.

Este es un método muy bueno y su principal inconveniente es que sólo funciona con quienes controlan el sistema de tu celular (Google, Apple, Huawei, Xiaomi, etc.). Es decir, si quieres utilizar esto con Twitter no podrás.

Otro problema es que ante el extravío o robo del celular, deberás obtener un nuevo celular y realizar unos cuántos pasos de recuperación para volver a vincularlo a la cuenta de Google.

Aplicación móvil

Este es el método que te vamos a recomendar: aunque al principio no es sencillo, es el más económico y funciona en la mayoría de las plataformas. Recordá que lo importante es aumentar la protección y eso a veces requiere un esfuerzo inicial.

De las posibles aplicaciones móviles, te recomendamos Aegis (disponible para Android7) que tiene las siguientes características:

  • Es software libre -> hace que todos los algoritmos de cifrado sean visibles por la comunidad lo que reduce el riesgo de «puertas traseras»
  • Todos los accesos quedan protegidos con una contraseña maestra (almacenados de forma cifrada en el dispositivo) -> ante el acceso indebido al dispositivo y su almacenamiento, un atacante no podrá obtener los códigos de acceso
  • También permite protección con huella dactilar -> hace que sea más sencillo de utilizar, en vez de clave, se desbloquea con el dedo
  • Permite realizar respaldos cifrados de la base de accesos -> permite realizar copias para sacarlas del móvil y recuperarlas en caso de robo o extravío
  • Soporta algoritmos HTOP y TOTP -> estos estándares sirven para generar los códigos en la mayoría de las plataformas
  • Permite ordenar y filtrar por grupos, por ejemplo: Trabajo, Personal, Organización, etc.. -> permite encontrar mejor los códigos en caso de que tengas muchos accesos

Algo importante es que hay plataformas que ofrecen utilizar «Google Authenticator» y eso es exactamente equivalente a las dos aplicaciones mencionadas anteriormente. En el caso que diga «Utilizar con Google Authenticator», sigue adelante pues va todo bien.

Cómo se utiliza Aegis (o cualquier otra app similar)

Para cada plataforma hay que habilitar el 2FA, generando así un nuevo acceso en Aegis. Es una configuración que se hace una única vez para cada plataforma.

Se comienza con un Aegis vacío hasta llegar a tener varios accesos o como le llama la app, una «caja fuerte» de accesos:

Veamos con un ejemplo, cómo configurar el 2FA en Twitter:

1. Hay que ingresar a Twitter, ir a la configuración de cuenta «Configuración y privacidad» -> «Seguridad y acceso a la cuenta» -> «Seguridad» -> «Autenticación en dos fases» y marcar «App de autenticación»:

Habilitar 2FA en Twitter

2. Twitter te va a pedir la contraseña y luego mostrará un código QR:

Código QR para escanear en Aegis

3. Luego con tu teléfono en la mano y Aegis abierto, presiona el botón rojo «+» de Aegis y debes elegir «Escanear código QR» y se abrirá la cámara para que escanees el código QR. Luego de escaneado, puedes elegir un grupo (una etiqueta opcional para mejor organización) y finalmente haz clic en «guardar».

4. En Twitter, debes dar «siguiente» y confirmar la vinculación escribiendo el código generado en Aegis en Twitter. Una vez hecho ese paso, la vinculación quedó terminada y el 2FA habilitado.

5. En algunos casos las plataformas generan un «código de recuperación» que podrás guardar en tu gestor de contraseñas.

Ahora cada vez que ingreses a Twitter, te pedirá un código que deberás buscar en Aegis y que además cambia cada 30 segundos.

Algunos consejos importantes

  1. Es importante notar que tu teléfono debe tener la hora actualizada y sincronizada ya que se utiliza como método de sincronización de los códigos, que cambian cada 30 segundos.
  2. Debes saber que la base de accesos que has configurado, es decir cada uno de esos códigos generados, no está en «la nube» sino que está en tu teléfono y es importante hacer respaldos de tus accesos. Para ello puedes usar la función de «Copia de seguridad» que está en la configuración de la app. Verifica en qué parte del almacenamiento se genera la copia y asegúrate de guardarla fuera del teléfono cada vez que generas un nuevo acceso. Una opción es guardarlo en alguna nube o disco duro externo. Debe ser un lugar que puedas abrir en caso de perder el teléfono y adquirir uno nuevo.
  3. Si necesitas utilizar la cuenta en conjunto con otras personas, puedes capturar el QR y compartirlo por algún mecanismo seguro, por ejemplo por Signal y con auto-destrucción de mensajes. Otra opción es utilizar la opción de exportación del Aegis y mostrarlo a tus colegas utilizando Jisti y otro sistema de videollamdas seguras.
En la imagen se observa cómo al seleccionar un ingreso (manteniendo presionado) aparece el icono de exportación que mostrará un QR. Ese QR puede ser escaneado por otro Aegis en otro dispositivo.

¿Qué pasa si tu plataforma no tiene 2FA?

Deberías pedir al soporte técnico que lo habilite y mientras tanto, deberías reforzar tu política de contraseñas, eligiendo una contraseña fuerte, única y cambiarla cada 3 meses.

Esperemos que este artículo te sea de utilidad. Puedes hacer comentarios aquí debajo (públicos) o de forma privada en el formulario de contacto.

Notas:

  1. Este tipo de plataformas coleccionan bases de datos que han sido expuestas públicamente y se compran y venden en mercados irregulares. Gracias a ellas se ha hecho visible la problemática y personas y organizaciones han extremado las precauciones con sus contraseñas
  2. Que no haya una filtración de Facebook de 2020 de todos sus usuarios no quiere decir que no haya ocurrido y que las cuentas estén seguras: si la filtración ocurrió, aún no es conocida y puede estar siendo explotada por personas u organizaciones maliciosas. El riesgo de que una contraseña haya sido filtrada, siempre está
  3. También puedes leer las Preguntas Frecuentes
  4. Aquí aparece una comparación en % de eficiencia de SMS y otras: https://security.googleblog.com/2019/05/new-research-how-effective-is-basic.html
  5. Acceso a cuentas bancarias: https://nakedsecurity.sophos.com/2017/05/05/bank-accounts-raided-after-crooks-exploit-huge-flaw-in-mobile-networks/
  6. Usurpación de cuentas de monederos Bitcoin: https://www.criptonoticias.com/seguridad-bitcoin/adios-8-mil-dolares-criptomonedas-15-minutos-hackers-utilizan-numero-telefonico-robar-credenciales/
  7. Si utilizas iPhone te recomendamos FreOTP o 2FAS que tienen características similares