Una de las advertencias más repetidas a la hora de instalar aplicaciones en Android es revisar los permisos. Antes de instalar una aplicación, bien sea por Google Play o de forma manual, se nos advierte de qué podrá hacer esa app en nuestro dispositivo: acceder a la agenda, a la memoria de nuestro teléfono… Siempre es importante tenerlo en cuenta ya que a veces hay aplicaciones que piden más de lo que necesitan.
Hasta aquí todo bien, al fin y al cabo ¿para qué querríamos instalar un juego que requiere nuestra agenda? No tiene mucho sentido. De acuerdo, tenemos una aplicación que no pide permisos adicionales. En apariencia es inofensiva y no puede provocarnos daños. Sin embargo, esto nos lleva a la siguiente pregunta: ¿Qué pueden hacer éstas sin ningún tipo de permiso adicional?
El equipo de Leviathan Security ha desarrollado una demostración técnica para responder a esta pregunta. Para ello, ha diseñado una aplicación que, sin pedir ningún permiso en especial, sea capaz de llegar lo más lejos posible. De este modo, podéis comprobarlo por vuestra cuenta utilizando la aplicación en cuestión, se pueden realizar tres acciones sin permisos de ningún tipo.
Primero, todas las aplicaciones tienen al menos la capacidad de leer los contenidos de una memoria de almacenamiento externo. Con esta app de ejemplo podemos leer el directorio /sdcard y obtener una lista de todos los archivos que no se encuentren ocultos. De este modo podemos recoger el contenido de estos archivos sin ningún problema. Habrá quienes piensen que quizá esto no es importante ya que casi toda la información se almacena en la memoria interna, donde si que no se puede realizar esta acción, pero muchos almacenamos nuestras fotos y otros documentos ahí.
Segundo, también puede recoger los datos de /data/system/packages.list. Es decir, que puede saber qué aplicaciones están instaladas en nuestro dispositivo. Hecho esto, podemos conocer qué datos se pueden leer. De este modo, podemos leer los archivos del resto de aplicaciones que hay instaladas en nuestro Android.
Tercero y último. Podemos conseguir información del dispositivo sin el permiso PHONE_STATE. No obstante su alcance es relativo ya que no podemos leer el IMEI pero si conocer nuestro proveedor de red y la versión de la ROM. No son muchos datos pero ahí queda.
De acuerdo, quizá ahora alguien esté pensando. ¿A dónde va toda esa información que se puede recoger si la aplicación no tiene permisos para conectarse a Internet? Si bien es cierto que no tener este permiso pone las cosas difíciles existe una vía a través de URI_ACTION_VIEW. De este modo, se intenta abrir el navegador web lo cual, si hay conexión, permitiría pasar los datos a través de diferentes llamadas al navegador.
Con este post no pretendo llamar al alarmismo ni que empecemos a desconfiar de todas y cada una de las aplicaciones que hay en Google Play o en la red. La intención es informar del funcionamiento de las apps en Android y de qué se puede hacer sin permisos. Como ya he mencionado antes, podéis probar por vuestra cuenta estas opciones utilizando esta aplicación.
Vía | Leviathan Security
Ver 14 comentarios