Terceras partes en particular anunciantes, accidentalmente han tenido acceso a las cuentas de usuarios de Facebook, incluyendo perfiles, fotos, chat, y también tenían la capacidad de enviar mensajes y extraer información personal. Afortunadamente, estos terceros no se han dado cuenta de su capacidad para acceder a esta información. Symantec ha informado de este problema a Facebook, que ha tomado medidas correctivas para ayudar a eliminar este problema.

Las aplicaciones de Facebook son aplicaciones Web que están integradas en la plataforma de Facebook. Según Facebook, 20 millones de aplicaciones de Facebook se instalan todos los días.

Symantec ha descubierto que en ciertos casos, las aplicaciones de Facebook IFRAME inadvertidamente filtraron tokens de acceso a terceros como anunciantes ó plataformas. Symantec estima que a partir de abril de 2011, cerca de 100.000 aplicaciones permiten esta fuga. Estiman que durante años, cientos de miles de aplicaciones pueden haber inadvertidamente filtrado millones de tokens de acceso a terceros.

Tokens de acceso son como “llaves de repuesto” concedida por usted a la aplicación de Facebook. Las aplicaciones pueden utilizar estos símbolos ó claves para realizar determinadas acciones en nombre del usuario o para acceder al perfil del usuario. Cada símbolo ó “llave de repuesto” se asocia con un conjunto selecto de permisos, como la lectura de su muro, el acceso a el perfil de sus amigos, publicar en su muro, etc.

La Figura 1. ilustra algunos de estos permisos.

Figura 1

Durante el proceso de instalación de la aplicación, la aplicación solicita al usuario para conceder permisos a estas acciones. Tras la concesión de estos permisos, la aplicación obtiene un token de acceso como se ve en la Figura 2.

Figura 2

Con el uso de este token de acceso, la aplicación puede acceder a la información del usuario ó realizar acciones en nombre del usuario.

https: / / graph.Facebook.com / me / cuentas …? access_token…

De forma predeterminada, la mayoría de los tokens de acceso expiran después de un breve periodo de tiempo, sin embargo, la aplicación puede solicitar tokens de acceso en línea que les permiten utilizar estos tokens hasta que cambie su contraseña, incluso cuando usted no está logeado en el sistema.

¿Cómo se filtra el token de acceso?

De manera predeterminada, Facebook ahora utiliza OAUTH2.0 para la autenticación. Sin embargo, antiguos esquemas de autenticación son todavía soportados y utilizados por cientos de miles de aplicaciones. Cuando un usuario visita apps.Facebook.com/appname, Facebook primero envía a la aplicación una cantidad limitada de información no identificable acerca del usuario, como su país, la localidad y el grupo de edad. Con esta información, la aplicación puede personalizar la página.

A continuación, la aplicación debe redirigir al usuario a una página de permisos de diálogo, como se ve aquí.

Figura 3

La aplicación utiliza una redirección de cliente para redirigir al usuario a una familiar ventana de permisos de diálogo. Esta pérdida indirecta podría ocurrir si la aplicación utiliza una API heredada de Facebook y los siguientes parámetros, en desuso “return_session = 1” y “session_version = 3”, como parte de su código de redirección, como se ve en la figura 4.

 

Figura 4

Si estos parámetros se utilizan, Facebook posteriormente devuelve el token de acceso mediante el envío de una solicitud HTTP que contiene los token de acceso en la dirección URL de la aplicación host. La aplicación de Facebook está ahora en condiciones de fugar inadvertidamente los token de acceso a terceros potencialmente a propósito y desafortunadamente muy comúnmente por accidente. En particular, esta URL, incluyendo el token de acceso, se pasa a los anunciantes de terceros como parte del campo referente de las solicitudes HTTP. Por ejemplo, si la primera página de esta aplicación está solicitando recursos desde una dirección URL externa mediante una etiqueta iframe de un anunciante, el token de acceso se filtró en el campo de referencia.

Esto se ilustra en la figura 5.

Figura 5

Conclusión

Evidentemente, las repercusiones de esta fuga de token de acceso se ven ampliamente. Facebook fue notificado de este problema y ha confirmado esta fuga. Facebook ha notificado a Symantec de los cambios en su entorno para evitar que estos tokens se consigan filtrado.

No hay una buena manera de estimar cuántos tokens de acceso ya se han filtrado desde el lanzamiento de las aplicaciones de Facebook en 2007. Symantec teme que muchas de estos tokens aún puedan estar disponibles en los archivos de registro de servidores de terceros ó que aún estén siendo activamente utilizados por los anunciantes. Concierne a los usuarios de Facebook cambiar sus contraseñas en Facebook para invalidar los tokens filtrados. Cambiar la contraseña invalida estos tokens y es equivalente a “cambiar la cerradura” de su perfil de Facebook.

Nishant Doshi y Cándido Wueest de Symantec se acreditan con el descubrimiento de este problema.

Traduccion: Velcro

Fuente:  Symantec Blog Security Response

Anuncios