Auditando la privacidad de aplicaciones Android en el propio terminal
Hoy en día prácticamente todo el mundo dispone de un dispositivo móvil del que hace uso durante su día a día. Nuestros teléfonos conocen multitud de datos acerca de nosotros, tanto los datos correspondientes al propio dispositivo (IMEI, número de serie, dirección MAC…) como los datos del usuario (email, ubicación…) se consideran datos de carácter personal.
Al instalar una aplicación en nuestro smartphone surgen varias cuestiones como: ¿conocemos cuáles de nuestros datos están siendo utilizados por las aplicaciones? ¿Sabemos realmente que las aplicaciones que instalamos no están utilizando nuestros datos de forma maliciosa?
El estado del arte en el análisis de privacidad de aplicaciones móviles incluye herramientas para el análisis del código (análisis estático) o la inspección del comportamiento durante la ejecución (análisis dinámico). El análisis estático presenta como principal problema el número de falsos positivos que detecta, y las dificultades para realizar un análisis completo en un tiempo razonable. El análisis dinámico se basa en la ejecución de las aplicaciones, normalmente en un entorno de laboratorio o auditoría. Sin embargo, presenta limitaciones en la ejecución de las aplicaciones, ya que para automatizarse y ser escalable debería realizarse una ejecución real.
Ante estos problemas, una solución pasa por realizar auditoría de las comunicaciones de una aplicación que está ejecutando en un entorno real (el terminal del usuario), observando su comportamiento desde el punto de vista de la privacidad. Esto presenta dos ventajas significativas. La primera, es que el comportamiento observado será el real, al observar una aplicación ejecutado por su usuario. Además, al realizar el análisis en el propio terminal del usuario no hay necesidad de enviar ningún dato personal al exterior, protegiendo la privacidad del usuario colaborador.
Actualmente, existen distintas herramientas que se puden utilizar como base en el desarrollo de este tipo de soluciones para auditoría de aplicaciones Android, todas ellas aprovechando las características para establecimiento de redes privadas virtuales. Debajo, se presenta una tabla con las más importantes, y algunas de sus características.
De entre ellas, la más prometedora es AntMonitor. Se trata de una aplicación que se encuentra en fase beta y está siendo desarrollada en la Universidad de Berkeley (California). Permite al usuario controlar los datos de los que están haciendo uso las aplicaciones de su dispositivo. De esta manera, se le ofrece al usuario la posibilidad de identificar las aplicaciones que realizan filtraciones de datos de carácter personal y a qué punto están enviando estos datos, además de elegir si quiere consentir el envío del dato, bloquearlo o sustituirlo por una cadena de caracteres de la misma longitud.
El funcionamiento de AntMonitor está basado en el establecimiento de una VPN en la que el smartphone que ejecuta AntMonitor, actúa tanto de servidor VPN como de cliente VPN. De este modo, todos los paquetes de tráfico de las aplicaciones pasan por la VPN y son interceptados, capturados, analizados y finalmente se envían a su destino original, todo ello sin salir del terminal del usuario.
Generalmente las comunicaciones que las aplicaciones establecen con sus servidores se encuentran protegidas mediante cifrado asimétrico, por lo que para acceder al contenido de los paquetes será necesario romper el cifrado que los protege. Para esta operación, AntMonitor hace uso de un proxy que realiza un ataque Man In The Middle con suplantación de certificados. Una vez roto el cifrado, el contenido de los paquetes se analiza buscando las cadenas de texto que el usuario ha identificado previamente como dato de carácter personal. El contenido de los paquetes de tráfico se analiza haciendo uso del algoritmo Aho-Corasick. Adicionalmente, AntMonitor brinda la posibilidad de guardar el tráfico capturado de las aplicaciones en archivos de formato PCAPNG, para su posterior análisis.
Esta entrada ha sido escrita por Jakub Piatek, que ha desarrollado un Trabajo Fin de Grado titulado “Desarrollo de una prueba de concepto para auditoría de privacidad de aplicaciones Android mediante cliente de red privada virtual” bajo la supervisión de Jose M. del Alamo.
About Jose M. Del Alamo
I am Associate Professor at UPM, affiliated with the Departamento de Ingeniería de Sistemas Telemáticos and the Information Processing and Telecommunications R&D Center. My research work focuses on issues related to privacy, identity and trust management, and considering these aspects to advance the software and systems engineering methodologies applying technological approaches by-design and by-default.
- Web |
- More Posts(16)
Auditando la privacidad de aplicaciones Android en el propio terminal por jmdelalamo está licenciado bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivar 4.0 Internacional.