7 de noviembre de 2011

TapJacking, un juego peligroso en Android

En Android la gestión de permisos es llevada a cabo por el usuario, ya que al ser instaladas las aplicaciones somos nosotros mismos los que tenemos que decidir si otorgamos los permisos solicitados por la aplicación o si los denegamos, dando por cancelada la instalación.

Aquí un ejemplo:

De esta forma siempre vamos a ser conscientes o al menos vamos a tener una idea general, del el nivel de acceso a las funciones de nuestro terminal que puede llegar a tener cada aplicación.

Pero como el ingenio no tiene fin, se ha ideado una técnica de saltarse este paso, o mejor dicho, encubrirlo. Concretamente la técnica consiste en tener una aplicación que actúa de gancho (por ejemplo algún juego de habilidad) y que es transparente a las pulsaciones. Ya que nosotros vemos la aplicación gancho y tenemos la impresión de interaccionar con ella pero en realidad estaremos pulsando botones de una aplicación diferente que se encuentre en segundo plano.

Para poder hacer la trampa la aplicación gancho debe ser una notificación Toast modificada para que tenga apariencia de otra cosa, por ejemplo un juego. Este tipo de notificación en Android tiene la característica de dejar pasar los toques que se realizan en ella a la aplicación que este ejecutándose debajo. Por lo que teniendo la notificación constantemente en pantalla no se vería nada de lo que ocurre por detrás.

Esto permitiría al atacante todo tipo de libertad para hacer el mal, por ejemplo hacerte bajar un malware e instalarlo para obtener todas tus contraseñas, enviar SMS Premium y un sinfín de opciones más. Entre ellas, lo que comentábamos en un principio, camuflar la autorización de permisos por parte del usuario. Permitiendo que se instale cualquier cosa en su propio dispositivo sin saberlo.

Aquí podemos ver un vídeo de cómo funciona este sistema mediante una prueba de concepto:


Por suerte Google ya fue avisada del problema y ya han tomado cartas en el asunto. Por lo que a partir de la versión de Android 2.3, la GigerBread, ya no hay que preocuparse por este tema. Pero dada la disgregación de versiones que tiene Android y el poco soporte de actualizaciones que dan la mayoría de fabricantes y operadoras todavía existe un alto número de personas con este problema latente en sus terminales. ¿Eres tu uno de ellos?