Android es uno de los sistemas operativos más utilizados en dispositivos móviles, y es debido a ello que cualquier vulnerabilidad o falla en su seguridad suele repercutir en millones de usuarios. En esta ocasión queremos compartir con ustedes una brecha de seguridad que podría permitirle a un atacante robar datos de más del 99% de usuarios de la plataforma móvil de Google.
La falla de seguridad fue descubierta por investigadores de la Universidad de Ulm en Alemania, la misma remarca que al conectar un dispositivo con Android a una red no segura un atacante podría realizar un ataque de suplantación de identidad a los servicios de Google y otros reconocidos sitios web.
El motivo principal por el cual puede suceder este tipo de ataques es a causa de que la comunicación entre los dispositivos ejecutando Android y distintos sitios como Facebook, Twitter o también servicios de Google es a través de HTTP. Cuando los datos viajan a través de la red sin ningún tipo de cifrado, como el que ofrece HTTPS, estos pueden ser capturados por un atacante quien podría realizar un ataque de suplantación de identidad.
En otras ocasiones comentamos con ustedes cómo configurar HTTPS en Facebook o Twitter, y algo a tener en cuenta respecto a esta funcionalidad es que la misma se encontrará activa siempre y cuando la aplicación cliente también soporte una comunicación cifrada. En el caso de las aplicaciones para Android de dichos sitios de redes sociales los datos continúan viajando sin ser cifrados.
Google provee una API (Application Program Interface, en español Interfaz de programación de aplicaciones) denominada ClientLogin que es utilizada por las aplicaciones para solicitar un token de autenticación (authToken) de los servicios de Google enviando como parámetros el usuario y la contraseña a través de HTTPS. Sin embargo, una vez que el authToken es recibido puede ser reutilizado por un período de 2 semanas. Si durante el tiempo durante el cual el token es válido la comunicación se efectúa a través de HTTP un atacante puede capturar la información y realizar el secuestro de las credenciales de acceso.
Por lo tanto, si alguien captura esta información cuando el usuario se conecta a una red no segura podrá acceder, e incluso modificar los datos del usuario o de cualquiera de sus contactos.
Para que un atacante pueda efectuar el robo de la información es necesario que se encuentre conectado a la misma red que la víctima y este capturando el tráfico, de esta manera al contar con la información transmitida podrá capturar el token y utilizarlo para realizar el secuestro de la sesión. Este ataque presenta similitudes al que ejecutaba Firesheep, ese controversial plug-in para Firefox que realizaba el secuestro de las cookies de sesión de sitios que no se conectaban a través de HTTPS.
Android cuenta con diferentes versiones de sus sistema operativo y muchas de ellas se encuentran expuestos a esta vulnerabilidad y solo aquellos que cuenten con versiones posteriores a la 2.3.4 contarán con una comunicación cifrada al acceder a la sincronización de sus contactos o el calendario. Todas las otras versiones del sistema operativo efectúan la comunicación sin ningún tipo de seguridad lo que aumenta la posibilidad del robo de información.
En el siguiente gráfico se puede observar cómo se distribuye la utilización de Android entre sus usuarios y así entender un poco más cuantos podrían ver sus datos expuestos a causa de esta vulnerabilidad:
Es recomendable tanto para los usuarios como para los desarrolladores de aplicaciones contar con buenas prácticas para los dispositivos móviles y poder mantenerse alerta acerca de cuáles son las vulnerabilidades o tendencias en los códigos maliciosos para estas plataformas.
Pablo Ramos
Especialista en Awareness & Research