Apple a procédé récemment au retrait de plus de 250 applications de son App Store. Il a été découvert qu’elles se servaient d’un kit de développement non conforme, faisant appel à des API privées et réservées à la firme, et volaient des informations personnelles. La question de la validation sur le Store se pose une nouvelle fois.
Il existe de nombreuses règles à respecter pour qu’une application soit publiée sur l’App Store. Le développeur ou l’entreprise doit avant tout utiliser le SDK (Software Development Kit) officiel, fourni par Apple avec Xcode. Le kit de développement donne accès à un grand nombre d’API (Application Programming Interface), mais d’autres existent, à l’usage exclusif d’Apple. Ces API sont considérées comme privées. Elles sont techniquement accessibles (quand on les trouve), mais la firme n’en autorise pas l’exploitation.
Un SDK utilisant des API privées
SourceDNA, une société indépendante qui analyse le code des applications, en a pourtant trouvé plusieurs centaines dont le comportement sortait largement des sentiers battus. Les employés de cette société ont repéré qu’elles utilisaient un SDK non officiel et considéré visiblement comme malveillant. Un kit de développement dont la mission « officielle » est d’aider les entreprises à mieux gérer les publicités. Dans la pratique, il fait appel à des API privées d’iOS et a une mission nettement plus sombre.
L’examen attentif du SDK a montré qu’il provenait de la société Youmi, spécialisée dans la publicité. Au total selon SourceDNA, 256 applications l’utilisaient, sans savoir a priori que l’infrastructure publicitaire utilisée permettait de collecter des données qui sont normalement hors d’atteinte des éditeurs, à moins de les demander directement aux utilisateurs : les adresses email, identifiants uniques de téléphones, liste complète des applications déjà téléchargées et autres informations personnelles.
Apple fait le ménage et prévient les développeurs
Les applications trouvées n’ont pas été nommées, mais tous leurs développeurs sont en Chine et leur nombre cumulé de téléchargements dépasse le million. L’information a été remontée rapidement à Apple, qui a procédé à la suppression des applications, provoquant leur disparition immédiate des smartphones et tablettes connectés. L’App Store dispose en effet d’un « kill switch », permettant de provoquer la désinstallation à distance de ce type d’applications non autorisées, voire dangereuses.
Apple a d’ailleurs confirmé le processus par un communiqué : « Nous avons identifié un groupe d’applications qui utilisaient un SDK publicitaire de tierce partie, développé par Youmi, et qui utilise des API privées pour récolter des informations personnelles [...], avant de les router vers ses serveurs. C’est une violation de notre code de conduite sur la sécurité et la vie privée. Les applications utilisant le SDK de Youmi sont retirées de l’App Store et toute nouvelle application utilisant ce SDK et soumise pour validation à l’App Store sera rejetée. Nous travaillons en étroite collaboration avec les développeurs pour les aider à publier de nouvelles versions sûres pour les clients et en accord avec notre code de conduite ».
Plusieurs problèmes de validation et en Chine en peu de temps
On peut s’étonner en fait que de telles applications aient en premier lieu réussi à passer la validation de l’App Store, car les appels aux API privées font partie des raisons principales de rejets. Apple est maintenant au courant de ce que fait ce SDK, mais rien ne permet d’affirmer qu’il s’agissait du seul à utiliser ainsi des API privées. Le problème est que ce n’est pas la première fois que le processus de validation est remis en question et qu’Apple ne peut plus affirmer que les applications disponibles dans sa boutique sont nécessairement « propres », donc garanties sans menace particulière.
En outre, c’est la seconde fois en peu de temps qu’Apple est confronté à un problème de sécurité trouvant son origine en Chine. On se rappelle en effet que des développeurs, pour installer plus rapidement l’environnement Xcode, le récupéraient sur des sites tiers. Problème, il s’agissait d’une version vérolée incorporant systématiquement un malware dans l’application lors de sa compilation. Un malware qui n’était pas non plus détecté durant la validation de l’App Store. Apple avait fait le ménage et indiqué aux développeurs que des serveurs locaux seraient mis en place pour que les développeurs bénéficient de vitesses de téléchargement supérieures.