Inicio / Blog / Android Advertising – Un peligro real para los usuarios

Android Advertising – Un peligro real para los usuarios

Publicado el 30/07/2014, por Asier Martínez (INCIBE) comentarios
Android Advertising – Un peligro real para los usuarios

Muchos desarrolladores incluyen publicidad en sus aplicaciones para dispositivos móviles con el fin de rentabilizarlas y así obtener beneficio económico. La monetización es algo habitual, y bien utilizada no supone una experiencia negativa para los usuarios.

Existen diferentes modelos de negocio a la hora de monetizar una aplicación, entre los que destacan los siguientes:

  • Apps de pago: es un modelo que está cayendo en desuso con el paso del tiempo ya que los usuarios tienden a preferir instalar aplicaciones gratuitas. Pese a ello, todavía genera un gran volumen de ganancias.
  • Apps gratis con publicidad: Consiste en incluir publicidad de terceros.
  • Apps freemium: son aquellas que ofrecen alguna funcionalidad adicional a cambio de dinero. Normalmente no llevan publicidad ya que se sustentan en las compras que realizan los propios usuarios. Es el modelo de negocio que genera más ganancias para los desarrolladores y está pensado para aquellas aplicaciones, normalmente juegos, con un gran volumen de usuarios.
  • Suscripción: son aquellas aplicaciones que cobran periódicamente cierta cantidad de dinero y a cambio permiten su utilización al usuario que realiza el pago.

De todos ellos, el modelo más utilizado por los desarrolladores es el de «Apps gratis con publicidad», cuyo esquema es el siguiente:

Modelo de monetización

Es importante tener presente que todas las librerías de monetización afectan en mayor o menor medida directamente a la seguridad y privacidad de los usuarios ya que solicitan habitualmente una serie de permisos, en ocasiones excesivos, con el fin de poder acceder a información personal de los mismos con el pretexto de establecer así anuncios personalizados. Así mismo, dichas librerías pueden hacer uso de cualquiera de los permisos asignados a la aplicación que las integra; no existe una división entre permisos de la aplicación y permisos de la librería de monetización lo que supone un peligro real para los usuarios. Según un estudio de Symantec el 23.8% de las aplicaciones de Google Play contiene madware (mobile + adware), es decir, publicidad especialmente agresiva que afecta a dispositivos móviles y a la privacidad de los usuarios. Este porcentaje se ve notablemente incrementado en otros markets alternativos.

Por otra parte, como ha sido demostrado por investigadores de FireEye, gran parte de este tipo de librerías de monetización están desactualizadas, son vulnerables y exponen directamente la información de los usuarios frente a ataques «Man In The Middle».

Este hecho, si bien para un usuario medio ya supone un problema, para un usuario que tenga información especialmente relevante en su dispositivo, como es el caso de gran cantidad de usuarios con dispositivos móviles de empresa, supone un riesgo aún mayor.

Tomando como muestra 9.000 de las aplicaciones más descargadas de Google Play se ha procedido a realizar un análisis estático sobre las mismas para identificar las librerías de monetización que utilizan y a partir de ellas realizar un análisis exhaustivo de las mismas con el fin de determinar cómo afectan a la privacidad de los usuarios.

Para realizar el análisis estático se ha utilizado la herramienta Androguard, la cual permite, entre otras cosas, desensamblar las aplicaciones y analizar su código. Una manera de comprobar las librerías de monetización que integra una aplicación es obteniendo el listado de sus paquetes y comparándolos con un listado predefinido de librerías de este tipo. Para ello, se ha utilizado un listado de más de 150 librerías de monetización, realizando para ello un estudio previo para la identificación de las mismas. No se han tenido en cuenta otro tipo de librerías como las de pago, los SDK para interactuar con redes sociales, etc.

Tras llevar a cabo el análisis se han identificado las siguientes librerías de monetización como las más utilizadas:

Top Librerías de Monetización

Con el fin de determinar el riesgo para la privacidad que puede suponer para los usuarios la utilización de aplicaciones que integren librerías de este tipo se ha realizado un análisis de las mismas. Para ello, se han analizado sus correspondientes SDK «Software Development Kit» para identificar qué información recopilan. De manera genérica las librerías de monetización obtienen de los dispositivos y del usuario la siguiente información:

  • Datos referentes al dispositivo móvil: número de teléfono, idioma, fabricante, modelo, número de serie del dispositivo, resolución, versión de Android, MAC, IP, IMEI o MEID, ubicación, información del GPS, tipo de conexión, operador de la red, preferencias de conexión, funcionalidades activas (NFC, Cámara, Bluetooth), listado de aplicaciones que se descargan o instalan en el dispositivo junto con su respectiva versión, cómo y cuándo se utilizan las aplicaciones instaladas, historial de navegación.

  • Datos referentes al usuario: nombre de usuario, fecha de nacimiento, género, estudios, creencias religiosas, estado civil, orientación sexual, etnia, ideología política, código postal, edad, dirección de correo electrónico, aficiones, etc. Incluso en ocasiones recopilan la lista de contactos con su respectivo nombre, número de teléfono, email y fotografía, el listado de llamadas, calendario, histórico de mensajes de texto, identificadores de otros servicios como por ejemplo redes sociales, etc.

    Muchos de estos datos son solicitados al usuario mediante algún método como una encuesta, o para poder participar en algún sorteo, etc. Sin embargo, en algunos casos, otros son accedidos directamente sin interacción ni conocimiento por parte del usuario.

Mediante esta práctica se llegan a recopilar más de 50 aspectos que permiten generar el perfil de un usuario. A continuación, se indica un ejemplo del perfil básico, con datos falsos, que se puede obtener mediante la información que recopilan este tipo de librerías:

Josines Segurola, nacido el 13/01/1981 (32 años), residente en Guardo, casado y con dos hijos, católico, email: josinessegurola@gmail.com, licenciado en matemáticas, trabaja en un instituto, le gustan los deportes en general y las películas de Chuck Norris, dispone de un Nexus 5 no rooteado, con Android 4.4.4 y su número de teléfono es 69XXXXXXX, es usuario de diferentes servicios cloud y de varias redes sociales, principalmente Facebook y su nombre de usuario es josinessegurola, tiene contratada una tarifa de datos con el proveedor XXXXX, visita de manera habitual páginas de deportes y periódicos de tirada nacional, suele llegar puntual al trabajo y recorre paseando siempre el mismo camino, su dirección es Calle XXXXX, número 5. Los fines de semana no los pasa en su domicilio habitual, sino en un pueblo a 20km de Guardo.

Toda esta información puede ser, en muchos casos, compartida con terceros por lo que el usuario pierde el control sobre la misma. Además, la información es almacenada en los servidores de las respectivas empresas (normalmente ubicados fuera de España e incluso en países sin una sólida legislación referente a la protección de datos), y en el caso de que éstos sufran algún incidente de seguridad, dicha información puede verse expuesta y utilizada por delincuentes para llevar a cabo actos delictivos como estafas o extorsión.

Es posible consultar la información que recolectan y para qué la utilizan en la política de privacidad disponible en sus respectivas páginas web, aunque es bastante común que referencien dicha información de manera superficial y que no la detallen.

En algunos casos es tal el nivel de intrusión, que las compañías de antivirus detectan automáticamente mediante detecciones genéricas todas las aplicaciones que incluyen algunas de las librerías de monetización.

Este problema se ve peligrosamente incrementado con el nuevo sistema de permisos de Google Play, mediante el cual, en el momento de la actualización se aceptan de manera automática, sin interacción por parte del usuario, permisos pertenecientes al mismo grupo que alguno que haya sido previamente aceptado y no se detallan los mismos en el momento de la instalación desde Google Play, sino que se muestra una explicación genérica referente al grupo al que pertenecen.

Esto significa que si se le concede a una aplicación el permiso com.android.alarm.permission.SET_ALARM de modo que se le permita que emita un «intent» para establecer una alarma para el usuario, en una futura actualización ésta podrá adquirir de manera silenciosa permisos como android.permission.READ_CONTACTS de modo que se le permita el acceso de lectura al listado de contactos del usuario o android.permission.READ_CALENDAR de manera que se le permita leer los datos del calendario.

Por otro lado, se deben añadir como peligro potencial aquellas aplicaciones cuya configuración o diseño no es correcto, y que pueden ser utilizadas por otras como medio para obtener información privada. Dentro de este grupo, se incluyen aquellas aplicaciones que no utilizan un protocolo seguro para sus comunicaciones, aquellas que no cifran la información que almacenan en sus respectivas bases de datos, aquellas que solicitan más permisos de los que necesitan para su correcto funcionamiento, o aquellas cuya configuración de sus respectivos componentes (activities, receivers, services o providers) no es la adecuada y que, en el caso de que tengan concedidos permisos que pueden suponer un riesgo para el usuario, pueden servir como plataforma para llevar a cabo prácticas como la exfiltración de datos, bloqueo del terminal, etc.

Contramedidas

  • Ser especialmente cuidadoso a la hora de seleccionar las aplicaciones que se van a instalar en el dispositivo, procurando incluir aquellas que soliciten el menor número de permisos posibles y que supongan de igual modo el menor riesgo posible, y preferiblemente que no integren librerías de monetización o, en el caso de que sí lo hagan, que sean de la menor manera intrusiva posible.
  • Instalar únicamente las aplicaciones que sean absolutamente imprescindibles.
  • Incluir alguna aplicación de borrado remoto de datos o restauración de fábrica para realizar el proceso en caso de pérdida o robo del terminal.
  • Tener en cuenta que ningún market es totalmente seguro, por lo que se deben instalar únicamente aplicaciones de markets razonablemente confiables como Google Play.
  • Utilizar alguna aplicación similar a App Ops para limitar los permisos potencialmente peligrosos de las aplicaciones, teniendo en cuenta que esto puede suponer que dejen de funcionar correctamente.
  • Realizar una revisión periódica del dispositivo, desinstalando aquellas aplicaciones que hayan caído en desuso.
  • No rootear el terminal y mantener actualizada la versión de Android en todo momento.
  • Desactivar las actualizaciones automáticas de las aplicaciones y actualizarlas cuando se haya contrastado su correcto funcionamiento y comprobado que no añaden permisos peligrosos o suponen un riesgo para el usuario.
  • Evitar conectarse a redes inseguras.
  • Realizar periódicamente copias de seguridad del terminal.

Finalmente, es muy importante tener presente que el reto de la seguridad debe ser un ejercicio de responsabilidad de todas las partes implicadas. En este caso, los desarrolladores deben utilizar metodologías cuya máxima sea el «security by design» y que permitan evaluar la seguridad de las aplicaciones como es el caso de OWASP u OASAM, y los clientes deben ser muy conscientes de los riesgos que implica la utilización de aplicaciones de terceros a la hora de utilizar sus dispositivos. Así mismo, Google como máximo responsable en el desarrollo de Android, debe tomar cartas en el asunto y hacer un esfuerzo para mejorar la seguridad de la plataforma que ya ha alcanzado los 1.000 millones de usuarios activos. Desafortunadamente, Sundar Pichai (uno de los máximos responsables de Android) en el evento anual para desarrolladores «Google I/O 2014» no informó de mejoras significativas en este aspecto.