Cómo los desarrolladores engañan a la App Store para aprobar aplicaciones maliciosas

Recientemente informamos sobre cómo varias aplicaciones de streaming pirata para iOS lograron ser aprobadas en la App Store engañando al proceso de revisión. Aunque mencionamos brevemente algunas de las técnicas utilizadas por estos desarrolladores, 9to5Mac ha profundizado en cómo estas aplicaciones están diseñadas para engañar a Apple.

El mes pasado, una aplicación llamada “Collect Cards” alcanzó el primer lugar en la clasificación de las aplicaciones gratuitas más descargadas en algunos países. Después de nuestro informe, Apple eliminó la aplicación, pero muchas otras versiones de la misma aplicación fueron lanzadas posteriormente en la App Store. Pero, ¿cómo exactamente logran los desarrolladores engañar al equipo de revisión de la App Store?

En nuestro informe original, explicamos que estas aplicaciones utilizan geofencing para evitar que alguien en Apple vea realmente de qué es capaz la aplicación. Pero al analizar el código de estas aplicaciones, ahora tenemos una mejor idea de cómo esto sucede.

Como sospechábamos, estas aplicaciones comparten la misma base de código, incluso si son distribuidas por diferentes cuentas de desarrollador. Están construidas en React Native, un marco de trabajo multiplataforma basado en JavaScript, y utilizan el SDK CodePush de Microsoft que permite a los desarrolladores actualizar partes de la aplicación sin tener que enviar una nueva compilación a la App Store.

Crear aplicaciones con React Native y usar CodePush no va en contra de las reglas de la App Store. De hecho, hay muchas aplicaciones populares que lo hacen. Sin embargo, los desarrolladores maliciosos aprovechan estas tecnologías para evadir la revisión de la App Store.

Una de las aplicaciones analizadas por 9to5Mac apunta a un repositorio de GitHub que parece proporcionar archivos para múltiples aplicaciones de streaming pirata. Esta aplicación también utiliza una API específica para verificar la ubicación del dispositivo basándose en la dirección IP. Devuelve datos como el país, región, ciudad e incluso la longitud y latitud estimadas.

LEAR  La UE reduce la previsión de inflación para 2024 a pesar de la incertidumbre.

Cuando la aplicación se abre por primera vez, espera unos segundos para llamar a la API de geolocalización. De esta manera, el proceso de revisión automatizado de la App Store no ve nada inusual en el código de la aplicación. También comprobamos el comportamiento de la aplicación ejecutándola a través de un proxy para simular nuestra ubicación en San José, California. Para esta ubicación, la aplicación nunca revela su interfaz oculta.

Después de que Apple aprueba la aplicación con sus funcionalidades básicas, los desarrolladores utilizan CodePush para actualizarla con lo que deseen. La aplicación luego revela su interfaz real en “ubicaciones seguras”.

Por supuesto, Apple no es inmune a las aplicaciones que intentan engañar a su sistema de revisión. Sin embargo, la empresa podría mejorarlo implementando pruebas adicionales para verificar el comportamiento de la aplicación en otras ubicaciones. Al mismo tiempo, Apple debería encontrar y eliminar de manera más proactiva las aplicaciones fraudulentas de la App Store.

En 2017, Uber fue acusado de trabajar en un “geofence” para la sede de Apple en Cupertino. Cuando la aplicación se ejecutaba dentro de este geofence, automáticamente desactivaba los códigos utilizados para hacer seguimiento y rastrear al usuario en la web. Aun así, parece que Apple no ha hecho mucho para evitar otras situaciones como esta.

En 2021, documentos revelaron que el equipo de revisión de la App Store cuenta con más de 500 expertos humanos para revisar más de 100,000 aplicaciones cada semana. Aun así, la gran mayoría de las aplicaciones pasan por procesos de revisión automatizados para verificar si violan las pautas de la App Store antes de someterse al proceso de revisión manual.

LEAR  Las funciones de permisos de Apple están desequilibradas - Seis Colores

Tras la publicación de nuestros artículos, un portavoz de Apple le dijo a 9to5Mac que las aplicaciones han sido eliminadas de la App Store, pero no se han proporcionado detalles sobre las medidas de la compañía para evitar que otras aplicaciones como esta sean aprobadas.