La publicidad en las apps de Google Play. Más que una "molestia"

jueves, 28 de noviembre de 2013

"Google is now just an ad company". No es que sean noticias nuevas, pero ya lo afirman o cuestionan algunos abiertamente desde hace tiempo. La novedad, quizás, no es que su negocio principal sea la publicidad (no hay nada malo en eso) sino en cuestionar qué está dispuesta a sacrificar por ella. En concreto, la publicidad en Google Play puede que refleje mejor esta situación. Veamos por qué.

El modelo de Google Play y los programadores

El modelo de crecimiento de Google Play está claro: relajar todo lo posible las restricciones con el fin de que desarrollen para esta plataforma cuantos más programadores mejor. Desde la baja cuota de inscripción, pasando por la "simbólica" política de firma de aplicaciones y la facilidad para publicar de un día para otro sin acreditar nada, todos son métodos que fomentan su popularidad... pero también que a Google Play llegue más adware y malware (en comparación con los casi impolutos markets de Apple y Microsoft gracias a sus procesos de publicación).

El modelo de los programadores, por otro lado, también está claro: aplicaciones gratuitas en su mayoría que se intentan financiar con publicidad. Bajo el calor de la demanda de estos usuarios, y la permisividad de Google Play, se han potenciado numerosas (unas 50 oficiales) "redes de publicidad" especializadas en móviles. Exactamente igual que la publicidad en la web externalizada, se encargan de facilitar al programador que se suscribe (le abstraen a través de SDKs) la labor de posicionar la publicidad, gestionarla, optimizarla y por supuesto... cobrarla. Esto implica dar vía libre a que la publicidad tenga cierto poder sobre la app y, por lo visto, sobre el teléfono. Algunos nombres son: AppNext, Appenda, LeadBolt, MOcean, AppGrade, Adbuddiz....

Hasta aquí, nada que no se pueda trasladar al mundo de la web y la publicidad online. Pero sabemos que se han dado casos, en los que los anuncios externalizados en webs ha permitido que ciertas páginas relevantes sirvan malware, o incluso que se introduzcan en sus redes... ¿Se han de cometer los mismos errores en Android?

Dos redes de anuncios con vulnerabilidades y otra "insoportable"

Al margen de la molestia que la publicidad agresiva puede suponer de por sí, FireEye ya ha descubierto que dos de estas redes de anuncios sufren serias vulnerabilidades. Ya sabemos que estas librerías suponen un riesgo para la intimidad del usuario (recolectan todo tipo de información), pero algo muy diferente es que permitan controlar un teléfono... La primera la descubrieron en octubre de 2013. La llamaron Vulnaggressive (Vulnerable & Aggressive), y no quisieron decir el nombre concreto, porque ponía en peligro a los millones de usuarios que tuvieran cualquier aplicación que se sustentase con esta librería de publicidad. Un 1.8% de las apps en Google Play con más de un millón de descargas, la usaban. La propia librería permitía (de forma más o menos "oficial"):
  •  Descargar y ejecutar cualquier binario en el teléfono.
  •  Aceptar comandos de un servidor y enviar información (todo en texto claro por HTTP)
  •  Usar WebViews de Android (ventanas en la aplicación que en realidad son páginas web interpretadas... donde se muestran los anuncios) con "enlaces" de JavaScript a Java de forma insegura (gracias a addJavascriptInterface). Muy resumido, esto quiere decir que, con solo visitar una página, se podría llegar a lanzar instrucciones JavaScript (limitadas al navegador, en teoría) que a su vez llaman a Java (ejecución de código en el terminal).
En resumen, suponía una jugosa botnet de teléfonos para cualquier atacante, casi lista para ser usada. Google eliminó "algunas" de esas aplicaciones que usaban esa "desconocida" Vulnaggressive...

Otro ejemplo es más reciente. InMobi (a esta sí la nombraron). También por FireEye. Unas 2000 aplicaciones en Google Play usan esta red de anuncios. Para poner en situación, es necesario explicar que @JavascriptInterface es una notación que se introdujo en Android 4.1 para mitigar precisamente ese problema de enlaces entre JavaScript y Java. El programador debe usar esta herramienta para limitar los métodos de Java que son accesibles desde JavaScript. InMobi lo usa justo al revés, para poder hacer "de todo" a través de WebViews y JavaScript... desde enviar SMS hasta realizar llamadas sin consentimiento, pasando por la posibilidad de tomar fotografías. Si un atacante simplemente esnifara el tráfico mientras el usuario usa una app y tuviera la posibilidad de modificarlo, podría llegar a controlar el teléfono a través de los anuncios servidos.

Por último, mención aparte merece AirPush. Una red de anuncios tan agresiva y un método de publicidad tan insoportable, que la propia Google prohibió su uso en 2012. En realidad estableció por políticas (no técnicamente) la prohibición de utilizar las notificaciones AirPush para enviar spam al usuario... y AirPush era una de las redes que más abusaba de esta técnica. Aunque por supuesto, todavía se pueden encontrar aplicaciones con AirPush en el market... Google Play les dio de plazo hasta el 30 de septiembre de 2013 para ser retiradas... y ahora las va eliminando "a su ritmo".
Ejemplo de publicidad más que agresiva
en Android, suministrada por appNext

¿Qué es permisible en publicidad?

Una vez más, se tropiezan en las mismas piedras. A finales de los 90, internet se convirtió en un campo de batalla de la publicidad y el adware, que se aprovechaban del dominio de Internet Explorer (y su ineficacia) para realizar todo tipo de trucos: pop-ups, anuncios que no podían cerrarse, JavaScript, páginas directamente a favoritos, vídeos, animaciones... Pasaron varios años hasta que los navegadores mejoraron y "se protegieron" contra la publicidad insoportable. Pero no sin "negociar". A la publicidad no se puede renunciar... como mucho, se le ponen ciertos límites. El perfecto ejemplo es cómo Google eliminó de Google Play el eficaz AdBlock Plus, y actúa contra ciertas redes de anuncios "que se pasan" como AirPush. Pero no le pidas más. Su negocio es llevarse bien con todas las partes y el secreto está en mantener el equilibrio, sin molestar demasiado a los usuarios... Esto choca frontalmente con la publicidad tan bien gestionada en su producto estrella, el buscador (no agresiva, no estridente, respetuosa, diferenciada...) que le granjeó la fidelidad de muchos usuarios precisamente a principios de la década pasada. ¿Está dispuesta a perder esa percepción por parte de los usuarios a cambio de un menor control en los programas subidos a su market oficial, a cambio de hacer la vista gorda ante una publicidad "un poco más agresiva"? No lo sabemos, pero sí que según la propia Google, el "problema" del malware en Android, no es para tanto. Una "exageración de las casas antivirus". ¿Se incluye el "adware" en esa afirmación?

En definitiva, que quizás habrá que vivir una "guerra" en el campo de batalla de Android, para que probablemente, se sigan finalmente los pasos que convirtieron la publicidad en la red algo regulado y en cierta manera, sostenible, con acuerdos como  la coalición AntiSpyware, que "oficializó" en el mundo del escritorio lo que podía o no caracterizarse como publicidad y cruzaba la línea hacia el adware. En la práctica los atacantes siguen abusando en la web, pero al menos existe una especie de regularización y, desde luego, la situación es mejor que hace una década.

Sergio de los Santos
ssantos@11paths.com

No hay comentarios:

Publicar un comentario