Análisis de aplicaciones móviles latinoamericanas más utilizadas

2024-01-30

Esta publicación es una traducción al español del proyecto de investigación: “An Analysis of Essential Latin American Mobile Apps”.

Esta investigación es resultado de la colaboración de SocialTIC con Beau Kujath, miembro del ICFP y fellow de The Citizen Lab y Open Technology Found.

El reporte completo y la publicación de la investigación de Beau Kujath lo puedes consultar en este post de Open Technology Found y aquí desde el blog de Citizen Lab.


La investigación de Beau se centra en analizar la seguridad y privacidad de tres tipos de aplicaciones móviles: aplicaciones de empresas de telecomunicaciones, aplicaciones desarrolladas por el gobierno y aplicaciones de mercado en América Latina. Esto, con el fin de determinar si millones de personas en América Latina estaban sujetas a posibles amenazas digitales por parte de actores maliciosos.

Principales hallazgos

  • Descubrimos que una aplicación de administración de planes de pago del gigante mexicano de las telecomunicaciones MiTelcel obtiene constantemente imágenes y archivos JSON para la configuración de la pantalla de bienvenida a través de HTTP en texto plano. Esta vulnerabilidad permite a potenciales atacantes espiar el tráfico en texto plano e inyectar sus propias imágenes maliciosas que se mostrarían en la página de inicio de la aplicación.
  • La aplicación MiTelcel también realiza llamadas POST a cinco servidores de terceros con información personal de la persona usuaria, incluidos su correo electrónico y número de teléfono; aunque la descripción de la tienda de aplicaciones indica que no se comparte información personal con terceros en el momento del análisis.
  • La aplicación gubernamental, SAT Móvil, utiliza HTTP en texto plano para la página "Chat", en donde se comunica información personal sensible, como números de identificación de los y las ciudadanas y contraseñas, lo que permitiría a un atacante leerlos mientras se transmiten por la red.
  • Observamos que una aplicación salvadoreña de criptomonedas, ChivoWallet, consulta los servidores de Microsoft CodePush cada vez que se abre para ver si hay una nueva actualización disponible, lo que permite a los equipos desarrolladores actualizar su funcionalidad bajo demanda al margen de los mecanismos de actualización de la tienda de aplicaciones de confianza.
  • Tres de las cuatro aplicaciones de empresas de telecomunicaciones que hemos analizado envían mensajes SMS que incluyen enlaces externos vulnerables a ataques SSL strip. Estos ataques permiten a un atacante degradar las conexiones de HTTPS a HTTP en texto plano para poder espiar la información intercambiada e inyectar potencialmente sus propias respuestas maliciosas.

Resumen del proyecto

Las aplicaciones que elegimos para evaluar se dividen en tres categorías: aplicaciones desarrolladas por empresas de telecomunicaciones, aplicaciones gubernamentales y aplicaciones de comercio. 

Seleccionamos cuatro aplicaciones de las más utilizadas que sirven para gestionar planes de pago celulares en América Latina, cuatro aplicaciones desarrolladas por los gobiernos de la región y la más grande aplicación de comercio electrónico. Se eligieron estas aplicaciones porque se confía en ellas para servicios esenciales, como la gestión de planes de celular personales, el contacto con servicios de emergencia, la transferencia de fondos y otros. Por lo tanto, las personas usuarias de la región están en muchos sentidos obligadas e incentivadas a tener estas aplicaciones instaladas en sus dispositivos, lo que podría exponerles a amenazas de seguridad o de privacidad. 

- Aplicaciones de empresas de telecomunicaciones: MiTelcel, MiClaro, MiMovistar, MiTigo

- Aplicaciones gubernamentales: IMSS Digital, SAT Móvil, MiPolicia, Chivo Wallet

- Aplicaciones de comercio: Mercado Libre

Evaluamos cada aplicación en función de tres clases principales de amenazas, que se explican a continuación, y notificamos a los equipos desarrolladores de las aplicaciones sobre los fallos de seguridad graves. También creamos un repositorio público de ingeniería inversa para que cualquier persona usuaria curiosa o persona involucrada en los derechos digitales pudiera inspeccionar cualquier APK de interés.

Resultados

Dos aplicaciones populares, cada una descargada más de un millón de veces en la Google Play Store, MiTelcel y SAT Móvil, utilizan tráfico HTTP en texto plano constantemente. Esto deja a las personas usuarias vulnerables a ataques que potencialmente pueden espiar el contenido de la conexión del usuario e inyectar elementos maliciosos. 

Hemos enviado dos informes de vulnerabilidad a los equipos desarrolladores oficiales de ambas aplicaciones detallando el problema. Hasta diciembre de 2023, tanto MiTelcel como SAT Móvil siguen teniendo el mismo problema de seguridad en las últimas versiones de las aplicaciones. Además, descubrimos que MiTelcel filtra información privada de los usuarios (número de teléfono y correo electrónico) a cinco servicios de terceros, a pesar de que en el momento de nuestro análisis, en la sección de seguridad de datos de la Google Play Store se afirma que "No se comparten datos con terceros." La información sobre la aplicación se actualizó para reflejar que la aplicación transmite información personal a terceros.

Tres de las cuatro aplicaciones de empresas de telecomunicaciones analizados envían mensajes SMS directamente al usuario una vez activada la tarjeta SIM, que incluyen enlaces externos vulnerables a ataques SSL strip en los que un actor malicioso podría degradar la totalidad de la conexión (creada al hacer clic en el enlace) de HTTPS a HTTP. 

También encontramos una aplicación desarrollada por un gobierno que incluye una funcionalidad de actualización externa que comprueba si hay una nueva versión de la aplicación disponible para su descarga a través de los servidores CodePush de Microsoft cada vez que se abre. 

En el informe completo (link al final del documento) se analizan en detalle cada uno de los problemas de seguridad y privacidad detectados durante nuestro análisis, junto con la metodología utilizada.

Tipos de amenazas y herramientas utilizadas

Mediante análisis estáticos y dinámicos, que incluyen la inspección del código fuente decompilado y de las funciones a las que llama la aplicación en tiempo real, hemos evaluado cada una de las aplicaciones de nuestra lista en función de tres tipos principales de amenazas:

  • Seguridad de red deficiente: tráfico de red en texto plano o esquemas e implementaciones de cifrado débiles;
  • Filtración de información de identificación personal: envío de información personal del usuario fuera del dispositivo sin indicarlo explícitamente en la política de privacidad o en los términos y condiciones.
  • Actualización externa: posibilidad de actualizar la funcionalidad de la aplicación fuera de los mecanismos de actualización de la tienda de aplicaciones de confianza.

Para nuestro análisis utilizamos diversas herramientas de código abierto. Utilizamos herramientas estándar de análisis estático, como apktool, jadx y Ghidra para descompilar los APK y analizar el código decompilado, y mitmproxy y Frida para el análisis dinámico. Mitmproxy nos permite descifrar el tráfico seguro de la aplicación que sale del dispositivo para inspeccionar su contenido. Frida nos permite inyectar código de forma dinámica en las aplicaciones para verificar ciertos comportamientos, como a qué archivos se accede y a qué funciones se llama en tiempo real.

Recomendaciones

Exhortamos a toda la comunidad de defensa de los derechos digitales o personas usuarias curiosas de Android con interés en analizar un APK específico a que utilicen nuestro repositorio de Github que cuenta con instrucciones que detallan las herramientas y los pasos utilizados para configurar nuestro entorno de análisis dinámico. El uso de estas herramientas y pasos les permitirá ver activamente el tráfico de red descifrado enviado por la aplicación en tiempo real, los archivos a los que accede la aplicación y mucho más utilizando herramientas de código abierto. También hay scripts incluidos en el repositorio para facilitar el análisis estático y analizar el manifiesto de las aplicaciones para recopilar información sobre los permisos, los servicios en segundo plano y la configuración de red que utilizan. Un obstáculo para configurar el entorno de análisis dinámico es la necesidad de un dispositivo Android rooteado con el que probar e instalar los certificados del sistema. El repositorio incluye instrucciones sobre cómo rootear un dispositivo Pixel 5 físico, pero alternativamente el analista puede utilizar una herramienta de emulación como Genymotion para obtener un dispositivo virtual rooteado con el que hacer pruebas.

Este proyecto demostró que incluso las principales aplicaciones comerciales de América Latina, como las aplicaciones de gestión de planes de pago celulares y las aplicaciones desarrolladas por el gobierno -con millones de descargas cada una- todavía tienen el potencial de poner en riesgo a personas usuarias con problemas de seguridad y privacidad. 

Además, dado que las aplicaciones probadas están instaladas en millones de dispositivos, las vulnerabilidades crean una enorme superficie de ataque para potencias ciberatacantes con recursos o para una agencia de seguridad nacional que lleve a cabo vigilancia de la red. 

A todas las personas usuarias de aplicaciones les debería interesar que más personas lleven a cabo análisis dinámicos y estáticos de estas aplicaciones para garantizar que su uso sea seguro. 

El informe técnico completo incluye más información sobre los problemas de seguridad y privacidad que encontramos en el conjunto de estas aplicaciones, cómo los detectamos y nuestra motivación para realizar este proyecto.

Repositorio de Github: https://github.com/beaukuj15/relab

Reporte completo: https://datavoros.org/analisis-aplicaciones-telecomunicaciones/


Datávoros es un proyecto de investigación de SocialTIC sobre la recolección voraz de datos en aplicaciones desarrolladas por gobiernos y empresas.

Puedes consultar otros análisis técnicos en: https://datavoros.org/

Comentarios