Actualité

iPhone

Avant iOS 11, une app pouvait facilement connaitre la liste des programmes installés

Par Didier Pulicani - Publié le

Avant iOS 11, une app pouvait facilement connaitre la liste des programmes installés
Malgré toutes les précautions prises par Apple pour protéger ses utilisateurs, iOS regorge de faille de sécurité en tout genre, même si l'on peut parfois plutôt parler de laisser-aller dans l'utilisation des API.

Déjà en 2009, on se souvient de la conférence données par Nicolas Seriot, un suisse expert en sécurité informatique, et qui mettait en garde contre les libertés offertes par iOS au sein même de la Sandbox -le bac à sable, dans lequel l'application peut jouer librement.

Cette fois, c'est le développeur Pierre Blazquez qui a découvert un moyen pour n'importe quelle application, de lister l'intégralité des apps installées par l'utilisateurs. En soi, rien de bien grave, mais l'information est assez importante pour les développeurs et les publicitaires : il est possible alors d'étudier votre comportement, de savoir quels programmes vous avez installé récemment, ou si l'app de votre concurrent est également présente sur l'iPhone de votre utilisateur.

Pour y parvenir, Pierre utilise une API privée (Launch Services) qui fait partie du MobileCoreServices.framework, des appels relativement faciles si l'on sait quoi faire. Les listings obtenus ne se limitent pas aux apps, mais aussi aux extensions, aux widgets, aux VPN... Bref, c'est assez fou de pouvoir obtenir ces informations sans que l'utilisateur n'ait son mot à dire.

Pour démontrer son propos, notre développeur a donc créé AppBleed, un projet ouvert sur Github qui explique en détail comment il s'y est pris. Il note également que l'utilisation d'API privées peut être rendu indétectable pour différente techniques d'obfuscation de code, comme avec les bibliothèques dynamiques qui permetttent de faire évoluer le code à distance, une fois la validation passée.

Précisons que la faille est corrigée depuis iOS 11... jusqu'à ce qu'un développeur en trouve une autre :-)

https://github.com/PierreBlazquez/appbleed-ios