Doble Factor de Autenticación – Intro

  • El concepto:

Doble Factor de Autenticación es un método de seguridad que permite añadir una verificación adicional en el proceso de autenticación.

La autenticación más común y sencilla se basa únicamente en un usuario y contraseña estático.
Este es el método de autenticación habitual para acceder al correo, a diferentes páginas web …
Pregúntate que sucedería si te roban tu usuario y contraseña …

Cuando realizas operaciones bancarias, ¿usas una tarjeta de coordenadas?
Seguramente sí. Esto podemos considerarlo un factor doble de autenticación.

  • OATH ( Iniciativa Open Authentication ):

No confundir con OAUTH ( Open Authorization ) que es otra cosa.

Hace años, el fabricante RSA dominaba el sector del doble factor de autenticación cuando crearon un producto propietario de autenticación basado en tokens llamado SecureID. La verdad es que era un poco caro y sólo podían permitírselo grandes empresas.
Con el paso del tiempo algunas empresas de seguridad ( Verisign, Entrust, Symantec … ) quisieron subirse también a la ola del Two-Factor Authentication y crearon un consorcio para elaborar un estándard abierto: OATH

A partir de ahí, Google ( con Google Authenticator ), Facebook, Amazon y otros ya proveen de forma gratuita el acceso seguro a sus servicios mediante Two-Factor Authentication.
Las api’s y librerías están ahí y ya puedes usar OATH libremente para asegurar los accesos a tus aplicaciones.

  • Tipos de tokens:

Existen diferentes tipos de tokens, los más populares son los que generan contraseñas numéricas en base a algoritmos.
Los algoritmos más comunes son HOTP (HMAC-based One-time Password Algorithm ) y TOTP ( Time-based One-time Password Algorithm ).
Los tokens más comunes son los basados en hardware ( normalmente presentados como un llavero con display ) y los software tokens ( o soft tokens) que normalmente se instalan en el pc y/o en el smartphone ( Android, iphone, Blackberry, Symbian etc ).

Los tokens de hardware basados en OATH cuestan unos 10 euros mientras que los propietarios de RSA cuentan unos 40 euros.
Los soft tokens basados en OATH son gratuitos. El más popular/usado es Google Authenticator.

Feitian C200 TOTP 60″ Hard Token :

hard-token

Google Authenticator Soft Token y Facebook Code Generator.
Si queremos podemos aprovechar el token seed  de Facebook para incorporarlo al soft token de Google ya que ambos usan el mismo RFC de TOTP.

soft-token

  • Autenticador:

El software de autenticación que contiene la base de datos de usuarios y sus correspondientes seed’s ( semilla o contraseña maestra para generar los códigos) se le llama Autenticador.

Para acceder a Google, Amazon, Facebook etc no necesitas el autenticador, sólo necesitas activar el método en tu cuenta e instalar un soft token en tu smartphone.
Si deseas montar tu mismo un autenticador, para por ejemplo la VPN de tu empresa, el precio va desde cero euros a varios miles, depende de la solución que elijas.
Comparativamente el autenticador de RSA es bastante mas caro que los de OATH en sus productos de pago.
Veamos un ejemplo para 50 usuarios:

Precios de los harware tokens:
RSA SecureID 700 = 2125 USD http://www.tokenguard.com/RSA-SecurID-SID700.asp
Feitian C200 = 416 USD  http://www.usbtoken.ro/shop_en/index.php?route=product/product&path=39&product_id=52

Precios de los Autenticadores:
RSA Authentication Manager Base Edition, 30 – 100 Users = $75.65 X 50 = 3782 USD
Autenticador OATH = desde cero a miles de euros.

  • ¿ Por qué es bueno tener múltiple autenticación ?

La contraseña es algo estático que puede, en algunos casos, ser interceptado, descifrado, robado, etcétera.
Es relativamente fácil realizar un Man in the Middle ( MitM ), en una red insegura.
Algunas aplicaciones que no usan cifrado son susceptibles de ser interceptadas en el tránsito de red entre el usuario y el servidor.
Así, de forma transparente se podría robar estas credenciales sin que el usuario fuera consciente de tal acción.

En el caso de tráfico cifrado con certificados, es posible igualmente realizar un MiTM. Sin embargo, las posibilidades de éxito son menores, pero no es imposible en algunos casos.
Se puede interceptar el tráfico y responder al cliente con un certificado falso o directamente sin cifrar.
En el caso de que el atacante responda con un certificado falso, si el cliente cae en la trampa y acepta el warning del navegador o cliente de software, el tráfico se cifrará con este certificado falso.
Como el atacante tiene las claves del certificado falso, el cliente expondrá su usuario y contraseña al atacante.
En el caso de que el atacante responda sin cifrar, directamente el cliente expondrá sus credenciales al atacante.

Herramientas como sslstrip y sslsniff permiten realizar estos ataques en redes inseguras.
El éxito de sslstrip parece que está siendo menor desde que algunos navegadores no permiten acceder sin cifrado si el servidor respondió usando HTTP Strict Transport Security.

En la siguiente captura vemos la respuesta del servidor de Gmail accediendo por SSL y que forzará al cliente únicamente el acceso HTTPS. Así, si al cliente le han realizado un MiTM y le están presentando la web en texto claro, HTTP, el navegador no continuará y el ataque no prosperará. Esto es, Gmail usa HTTP Strict Transport:

google-gmail-HSTS

Además de esta contramedida, también existen otras.
Pero el desarrollo y el hacking siguen trabajando … y ante HTTP Strict Transport se podría buscar la manera de filtrar este header al cliente durante el MiTM, aunque sólo seria útil en el caso de que no exista previamente en la caché del navegador.

Esto es sólo un método de ataque, pero si has realizado un MiTM en una red, puedes usar otras estrategias como envenenamiento dns + crear un portal clonado … tan sólo necesitas creatividad, paciencia, conocimientos, habilidad, usuarios confiados, suerte …

  • Opinión:

La idea de este post no es profundizar en los métodos de ataque a la autenticación, sinó de concienciar al usuario para que use un método de autenticación múltiple.
Cabe decir que el doble factor de autenticación no es infalible. A veces las aplicaciones tienen otros bugs explotables …

Si te interesa conocer las contramedidas que se pueden aplicar en una red para evitar un Man In The Middle te recomiendo el siguiente post:
http://capa3.es/dynamic-arp-inspection-prevencion-de-ataques-mitm.html

Si deseas configurar la doble autenticación en Gmail sigue este link:

https://support.google.com/accounts/answer/185839

Para Facebook:

https://www.facebook.com/help/270942386330392

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *