Technologie
Récemment, nous avons mis en lumière comment plusieurs applications de streaming illégales pour iOS ont réussi à obtenir l’approbation sur l’App Store en trompant le processus de révision. Bien que nous ayons brièvement évoqué certaines des techniques utilisées par ces développeurs, une analyse approfondie révèle comment ces applications sont conçues pour duper Apple.
Techniques utilisées par les développeurs pour contourner la révision de l’App Store
Le mois dernier, une application nommée « Collect Cards » a atteint le sommet du classement des applications gratuites les plus téléchargées dans plusieurs pays. Suite à notre rapport, Apple a retiré l’application, mais de nombreuses autres versions similaires ont ensuite été publiées sur l’App Store. Mais comment les développeurs parviennent-ils à tromper l’équipe de révision de l’App Store ?
Dans notre rapport initial, nous avons expliqué que ces applications utilisent des géofences pour empêcher quiconque chez Apple de voir les véritables fonctionnalités de l’application. En analysant le code de ces applications, nous avons maintenant une meilleure compréhension de ce processus.
Comme nous l’avions supposé, ces applications partagent la même base de code, même si elles sont distribuées par différents comptes de développeurs. Elles sont construites sur React Native, un cadre multiplateforme basé sur JavaScript, et utilisent le SDK CodePush de Microsoft, qui permet aux développeurs de mettre à jour des parties de l’application sans avoir à soumettre une nouvelle version à l’App Store.
Créer des applications avec React Native et utiliser CodePush n’est pas contraire aux règles de l’App Store. En fait, de nombreuses applications populaires utilisent ces technologies. Cependant, des développeurs malveillants exploitent ces outils pour contourner la révision de l’App Store.
Une des applications analysées pointe vers un dépôt GitHub qui semble fournir des fichiers pour plusieurs applications de streaming illégales. Cette application utilise également une API spécifique pour vérifier la localisation de l’appareil en fonction de l’adresse IP, retournant des données telles que le pays, la région, la ville, et même la longitude et la latitude estimées.
Lors de la première ouverture de l’application, elle attend quelques secondes avant d’appeler l’API de géolocalisation. De cette manière, le processus de révision automatisé de l’App Store ne détecte rien d’anormal dans le code de l’application. Nous avons également testé le comportement de l’application en utilisant un proxy pour simuler notre localisation à San José, Californie. Pour cet emplacement, l’application ne révèle jamais son interface cachée.
Une fois que l’application est approuvée par Apple avec ses fonctionnalités de base, les développeurs utilisent CodePush pour la mettre à jour avec tout ce qu’ils souhaitent. L’application révèle alors sa véritable interface dans des emplacements jugés « sûrs ».
Que peut faire Apple à ce sujet ?
Il est évident qu’Apple n’est pas à l’abri des applications tentant de tromper son système de révision. Cependant, la société pourrait améliorer ce processus en mettant en place des tests supplémentaires pour vérifier le comportement des applications dans d’autres localisations. Parallèlement, Apple devrait être plus proactif dans la recherche et la suppression des applications frauduleuses de l’App Store.
En 2017, Uber a été accusé de travailler sur un « géofence » pour le siège d’Apple à Cupertino. Lorsque l’application était exécutée à l’intérieur de ce géofence, elle désactivait automatiquement les codes utilisés pour identifier et suivre l’utilisateur sur le web. Pourtant, il semble qu’Apple n’ait pas pris de mesures significatives pour prévenir d’autres situations similaires.
En 2021, des documents ont révélé que l’équipe de révision de l’App Store comptait plus de 500 experts humains pour examiner plus de 100 000 applications chaque semaine. Malgré cela, la grande majorité des applications passent par des processus de révision automatisés pour vérifier leur conformité aux directives de l’App Store avant d’être soumises à une révision manuelle.
Suite à la publication de nos articles, un porte-parole d’Apple a déclaré que les applications avaient été retirées de l’App Store, mais aucun détail n’a été fourni concernant les mesures prises par la société pour empêcher d’autres applications similaires d’obtenir l’approbation.