Suite au hack du système d'achats in-app, Apple a rapidement réagi et mis une solution en place en attendant le déploiement d'iOS 6.
Il y a quelques jours, des hackers russes réussissait, sans tweak ni appareils jailbreaké, à contourner le système d'achats in-app des applications disponibles sur l'App Store, c'est-à-dire qu'il devenait possible d'accéder à des contenus normalement payants de manière totalement gratuite, mais aussi totalement illégale, tout cela s'apparentant à du vol.
Suite à cela, une vidéo démontrant l'exploit ainsi qu'un guide complet et détaillé de la manière dont il était possible d'y arriver ont été diffusés largement sur internet. Il semblerait même que le système ait permis de réaliser plus de 8 millions de transactions irrégulières. Bien entendu, Apple qui a pris la chose très au sérieux s'est empressé de rectifier le tir, notamment en raison de très nombreuses plaintes de la part des développeurs, qui voyaient, pour certains, leur principale source de revenus disparaître.
Dans un premier temps, c'est une ligne de code supplémentaire qui a pu être remarquée dans le système d'achats in-app, toutefois, la faille était toujours présente après cela, le champ rajoutant simplement un numéro unique pour chaque appareil, sans que cela ne soit pour autant l'identifiant de l'appareil (l'UDID).
De ce fait, depuis hier, un document détaillant des procédures à mettre en place par les développeurs pour que leurs applications ne soient plus vulnérables a été envoyé accompagné d’API spécifiques. Ce dernier, outre les modifications nécessaires à mettre en place, indique que la faille affecte toutes les versions d'iOS depuis iOS 5.1 mais qu'iOS 6, lui, ne devrait pas être touché. La solution est donc temporaire, en attendant le déploiement public de la prochaine mouture d'iOS.
Apple apporte une réponse et une solution pour les trois questions principales qui ont pu être posées :
- Mon application valide les achats in-app en se connectant à mon propre serveur. Suis-je affecté ?
- Mon application valide les achats in-app en se connectant directement aux serveurs de l’App Store. Suis-je affecté ?
- Comment puis-je valider les transactions déjà effectuées ?
En attendant l'automne et l'arrivée d'iOS 6, qui devrait être la véritable solution définitive de ce problème, n'hésitez pas à faire les modifications nécessaires si vous êtes développeurs, et à ne pas utiliser ce genre de faille si vous êtes consommateurs.