Keep calm y mantente alerto: OpenID y OAuth son vulnerables

OpenID y OAuth son protocolos responsables para esos botones de “Inicia sesión con Facebook” y “Autorizar con Google” que se ven en casi todas las páginas web hoy en día. Por supuesto, hay un truco para hackear eso ™, pero no tienes que entrar en pánico ni cambiar tu contraseña. Sigue leyendo para conocer nuestro sencillo plan de acción.

OpenID-Vulnerabilidad

Solo unas semanas después del descubrimiento inquietante del bug Heartbleed, un ciudadano normal como tú y yo debería preocuparse con otro problema, aparentemente bastante extendido, que no tiene solución fácil. Es exactamente la descripción del bug “Covert redirection” recientemente publicado por Wand Jing, estudiante de doctorado en matemáticas en la Universidad tecnológica de Nanyang en Singapur. El problema se encontró en los protocolos populares de Internet OpenID y OAuth. El primero se usa cuando inicias una sesión en páginas web utilizando tus datos de acceso y se encuentra en Google, Facebook, LinkedIN, etc. El segundo se necesita cuando autorizas páginas web, aplicaciones o servicios con Facebook/G+/etc., sin realmente revelar tu contraseña y nombre de usuario a páginas de terceros. Estos dos normalmente se usan de manera conjunta y resulta que esto podría dirigir tu información a manos equivocadas.

La amenaza

Nuestros amigos de Threatpost tienen una explicación más teórica del problema, además de un enlace al estudio original, pero nos saltaremos los detalles innecesarios y solo describiremos la posible situación de ataque y las consecuencias. En primer lugar, el usuario visitaría una página maliciosa de phishing, que tiene esos típicos botones de “Inicia sesión con Facebook”. La página puede parecerse a alguno de los populares servicios de terceros o disfrazarse como un servicio totalmente nuevo. Entonces aparecerá una ventana real de Facebook/G+/LI, pidiendo al usuario que introduzca su nombre de usuario y contraseña para autorizar el servicio nombrado anteriormente (y que probablemente es de buena reputación) a acceder al perfil del usuario. Finalmente, la autorización para usar el perfil se envía a la página falsa (de phishing) usando la redirección incorrecta.

En primer lugar, el usuario visitaría una página de phishing y trataría de iniciar sesión con Facebook u otro OpenID

Al final del día, un cibercriminal recibe una autorización correcta  (OAuth token) para acceder al perfil de la víctima con cualquier permiso que tenga la aplicación original: en el mejor de los casos, solo es un acceso a los datos de usuario básicos y, en el peor de los casos, es la capacidad de leer contactos, enviar mensajes, etc.

¿Está solucionado? La verdad es que no

Esta amenaza probablemente no desaparecerá pronto, ya que la solución tiene que ser implementada tanto por parte del proveedor (Facebook/LinkedIn/Google, etc.) como por parte del cliente (aplicación o servicio de terceros). El protocolo OAuth todavía está en beta y varios proveedores usan implementaciones diferentes, que varían en la capacidad de contrarrestar la situación de ataque que acabamos de mencionar.  LinkedIn se posicionó mejor a la hora de implementar el arreglo y tomó medidas más estrictas, requiriendo de todos los desarrolladores de terceros una “lista de admitidos” de redirecciones adecuadas. Ahora mismo, toda aplicación que usa autorización de LinkedIn debe ser segura o no funciona. Las cosas son diferentes con Facebook que, por desgracia, tiene además de una red mucho más grande de aplicaciones de terceros, una implementación más antigua de OAuth. Es por esto que los representantes de Facebook respondieron a Jing diciendo que la realización de listas blancas “no es algo que se puede lograr a corto plazo”.

Hay muchos otros proveedores que parecen ser vulnerables (puedes verlos en la imagen), así que si inicias sesión en algunas páginas usando estos servicios, tienes que tomar medidas.

marcas

Tu plan de acción

Para los más cautelosos, la solución a prueba de balas sería dejar de usar OpenID y esos botones prácticos de “Iniciar sesión con…” durante algunos meses. Podrías beneficiarte también de más privacidad, ya que esos accesos desde las redes sociales permiten un rastreo mucho más eficiente de tus movimientos en Internet y permiten a más y más páginas leer tus datos demográficos básicos. Para evitar la traba de tener que memorizar decenas o incluso cientos de diferentes datos de acceso para varias páginas, podrías empezar a usar finalmente un gestor de contraseñas eficiente. Hoy en día, la mayoría de los servicios están equipados con clientes de plataformas múltiples y sincronización en la nube para asegurar que tengas acceso a tus contraseñas en cualquier dispositivo que tengas.

Sin embargo, si tienes pensado continuar utilizando la autorización OpenID, no hay un peligro inminente en hacerlo. Simplemente tienes que estar muy atento y evitar cualquier fraude de phishing, que típicamente empieza con un email inquietante en tu bandeja de entrada o un enlace provocativo en Facebook u otra red social. Si accedes a algún servicio usando Facebook/Google/etc., asegúrate de abrir la página del servicio manualmente introduciendo la dirección o a través de un marcador, no desde el link de tus mails o programas de mensajería. Vuelve a revisar la barra de direcciones para evitar visitar páginas poco fiables y no te inscribas a nuevos servicios con OpenID, a menos que estés al 100% seguro de que el servicio es de buena reputación y que has llegado a la página web correcta. Además, usa soluciones de navegación segura como Kaspersky Internet Security ― Multi-Device que prevendrá que tu navegador visite sitios peligrosos, incluyendo las páginas phishing.

Esto es simplemente un ejercicio ordinario de precaución, que cada usuario de Internet debería hacer a diario, ya que las amenazas phishing están muy extendidas y efectivas, llevando a todo tipo de pérdidas de propiedad digital, incluyendo números de tarjetas de crédito, datos de acceso a cuentas de email y más. El bug “Covert Redirect” en OpenID y OAuth solo es una razón más para hacerlo – no se permiten excepciones.

Consejos