Visiblement échaudée par la conduite des agences « de renseignement » et de certains acteurs du web, Apple cadenasse ses systèmes d’exploitation. La firme de Cupertino demande ainsi aux développeurs de chiffrer toutes les communications de leurs applications dans OS X El Capitan et iOS 9, et il ne fait aucun doute qu’elle finira par leur imposer. Et elle leur interdit désormais d’essayer de lister les applications installées sur un iPhone ou un iPad.
URL schemes
iOS intègre un système de « schémas d’URL » (URL schemes), qui permet aux applications de répondre à l’appel de certaines requêtes. Apple se réserve certains schémas : http://
ouvre évidemment Safari, mailto:
ouvre Mail, tel://
ouvre Téléphone ou FaceTime, maps://
ouvre Plans, et ainsi de suite. Les applications tierces peuvent « déclarer » des schémas : Twitter utilise twitter://
, Facebook répond à fb://
, omnifocus://
lance OmniFocus…
Ce système est conçu pour faciliter l’échange d’informations entre applications, et a permis l’explosion de systèmes d’automatisations rudimentaires, par exemple avec Launch Center Pro ou Workflow. Apple offre deux méthodes pour interagir avec ces URL spéciales : canOpenURL, qui demande si une application peut ouvrir telle ou telle URL et reçoit un « oui » ou un « non » en retour, et openURL, qui ouvre l’URL en question.
Des applications ont abusé de la méthode canOpenURL pour dresser la liste des applications installées par un utilisateur. Twitter testait ainsi plus de 2 500 schémas d’URL, parmi lesquels ceux de clients concurrents, d’autres réseaux sociaux, de jeux populaires, d’applications d’actualités, etc. De quoi lui donner une bonne idée des goûts de ses utilisateurs… afin de leur présenter de la publicité plus ciblée. C’est précisément contre une telle utilisation qu’Apple agit aujourd’hui.
Les applications ne pourront plus utiliser canOpenURL qu’avec 50 schémas d’URL différents. La limite est suffisamment basse pour empêcher le « scan » complet d’un appareil, la firme de Cupertino affirmant que « les applications installées par un utilisateur sont son affaire. » Et elle est suffisamment haute pour ne pas gêner l’utilisation d’applications comme Launch Center Pro, même si elle contrariera sans doute quelques utilisateurs avides d’automatisation.
Cette limite est obligatoire pour toute application ciblant iOS 9, mais sera aussi appliquée rétroactivement à toutes les autres applications. L’accès à d’autres fonctions permettant de dresser une liste des applications installées, notamment certaines valeurs de l’interface sysctl, est aussi interdit. Sur un autre terrain, Apple a aussi renforcé les protections d’iOS contre le marketing géolocalisé…
Safari ViewController
…mais dans le même temps, Apple a introduit une nouveauté qui pourrait faciliter le suivi des utilisateurs sur le web. Jusqu’ici, les développeurs devaient développer leur propre mini-navigateur web à l’intérieur de leurs apps, sans jamais pouvoir bénéficier de toutes les fonctions de Safari. Ils pourront désormais utiliser Safari ViewController, qui n’est rien d’autre qu’un mini-Safari à l’intérieur des applications.
Safari ViewController possède la plupart des fonctions de Safari, dont quelques-unes très utiles comme Auto Fill (qui permettra d’enfin utiliser le Trousseau d’accès à l’intérieur des applications) et le mode Lecteur (qui a d’ailleurs été bien amélioré dans iOS 9). Certaines sont plus gênantes : les cookies sont partagés entre Safari et toutes les instances de Safari ViewController, ce qui signifie qu’une régie publicitaire un peu curieuse pourra suivre l’utilisateur d’application en application avec ses cookies publicitaires.
Bien sûr, Apple a aussi introduit Content Blocking, une fonction qui pourrait être utilisée comme un bloqueur de publicités et de pisteurs — mais chaque bloqueur doit être activé manuellement dans une sous-sous section des Réglages. De la même manière qu’Apple avait affaibli les défenses de Safari face aux cookies dans OS X Yosemite, elle vient de créer une brèche là où il n’y en avait pas. Or plus de trois quarts de l’usage d’un smartphone est passé dans les apps, dans les nombreuses apps intégrant une forme de navigateur.