Apple a édicté un certain nombre de bonnes pratiques à destination des développeurs qui veulent distribuer leurs applications sur iOS. C’est la fameuse étape de la validation que les dévs connaissent bien, et qui provoquent parfois des crises d’urticaire quand une décision de l’équipe de validation refuse une app pour telle ou telle raison. Il arrive aussi qu’une application passe à travers les mailles du filet.
Parmi ces règles, l’App Store rejette les applications qui peuvent distribuer d’autres applications… Encore faut-il que cette app joue franc jeu, ce qui n’a pas été le cas d’Happy Daily English. Sous couvert de logiciel d’apprentissage d’anglais, cette app était en fait une boutique sur laquelle les utilisateurs pouvaient télécharger gratuitement des applications piratées.
Parmi les raisons pour lesquelles l’App Store a pu être induit en erreur, se trouve le fait qu’Happy Daily English se présente réellement comme une app pour apprendre l’anglais… en dehors des frontières chinoises. Utilisé en Chine, ce logiciel se transforme en vitrine illicite. Dr Jekyll et Mr Hyde en quelque sorte !
Palo Alto Networks, qui a découvert le pot aux roses, décrit avec force détails techniques le fonctionnement de cette app, identifiée sous le nom ZergHelper. Elle ne présente pas à proprement parler de problème de sécurité, mais les applications téléchargées par ce biais peuvent se montrer vulnérables et laisser passer des malwares.
Un incroyable écheveau de chausse-trappes pour tromper la vigilance d’Apple a été mis en place par les créateurs de ZergHelper. L’app exploite les failles des certificats d’entreprise (qui sont au cœur des principales attaques contre iOS). Par le jeu de l’ingénierie inverse, les développeurs ont également reproduit certaines fonctions d’Xcode pour générer des certificats de développement personnel (ils servent à signer les apps iOS) depuis les propres serveurs d’Apple.
Sous Windows, la vraie-fausse boutique peut demander l’installation d’un clone d’iTunes pour « authentifier » les applications piratées. Il est même possible de s’identifier au sein de cette boutique illégale avec un faux compte Apple ID, fourni par ZergHelper et dont les chercheurs ignorent la provenance.
Pour éviter qu’une mise à jour de l’application (toutes sont visées par l’équipe de l’App Store) ne dévoile le pot aux roses, les auteurs de ZergHelper ont mis au point une routine en Lua qui passe par un framework wax. Particulièrement complexe à analyser, il permet de mettre à jour dynamiquement des applications en contournant la protection de la révision.
Happy Daily English, alias ZergHelper (ou encore XY Helper une fois installé sur un iPhone), exploite toutes les possibilités disponibles pour tromper son monde. Et c’est ce qui rend cette application aussi dangereuse… Palo Alto Networs a prévenu Apple de l’existence de ZergHelper le 19 février ; l’app a été supprimée le lendemain, mais elle était disponible sur l’App Store depuis le 30 octobre 2015 (il existe également une version pour appareils déplombés qu’on se gardera évidemment d’installer).