Nous vous parlions fin juillet de la mise en place par Google d’une librairie de vérification des licences d’applications. Pour rappel, elle s’appuie sur un contrôle de la validité de la licence sur les serveurs Google. Si la validation n’est pas prouvée, le reste de l’application n’est pas exécuté. L’objectif de la librairie est d’éviter de distribuer facilement une application payante que seul le premier maillon de la chaine aurait acquis. Pour les développeurs qui ont raté l’annonce de cette librairie, et son fonctionnement, ça se passe ici.
La semi-mauvaise nouvelle du jour, c’est que cette sécurité est déjà mise à mal. Je vais tenter de vous expliquer pourquoi ce n’est qu’une “semi” mauvaise nouvelle.
UPDATE : le blog des développeurs Android a utilisé son droit de réponse à ce hacking (pas à mon article directement xD), et c’est ici.
Chez FrAndroid, nous tenons à en remettre une couche sur le piratage des applications : nous y sommes opposés. D’ailleurs nous censurons tout lien de piratage sur le forum.
Tout d’abord, sans en dévoiler les détails, voilà la démarche :
- 1- récupérer l’application (jusque là logique…)
- 2- décompiler l’application
- 3- trouver la classe de validation
- 4- changer une variable (c’est de l’hexadécimal)
- 5- recompiler
Le tout doit bien évidemment se faire avec un téléphone rooté.
Autant le dire que pour un utilisateur grand public, les étapes 2, 3 et 4 ne sont pas si faciles. C’est pour ça que je parle de “demi-mauvaise nouvelle”. La librairie est toujours un frein à main serré très fort pour télécharger une application payante, la patcher et l’utiliser après s’être fait rembourser.
Par contre, là où le frein est clairement desserré, c’est pour la distribution “souterraine” des applications. Les sites de warez pourront ouvrir une section applications Android. Un forum comme le notre devra donc encore plus demander de la vigilance à ses modérateurs pour faire le ménage. Nous vous rappelons donc que l’outil “Rapporter” sur le forum n’est pas de la délation (il n’y a pas de répression de notre part), mais un support au travail de modération. Nous vous encourageons à l’utiliser.
Si on réfléchit aux améliorations de sécurité, lesquelles sont-elles ?
- bloquer l’application sur l’identifiant unique de l’appareil ?
- bloquer l’application sur le numéro de téléphone ?
- un contrôle par l’application Android Market
- un contrôle sur l’intégrité de l’apk
- des librairies tierces comme celle de Google
Une autre question qui vient, c’est à propos du contrôle des applications payantes sur les markets alternatifs, comme cela se passe-t-il ?
Question aux plus spécialistes que moi : avoir une variable “NOT_LICENSED”, ça ne vous paraît pas un peu “unsecure” pour une librairie de sécurisation ?
Petite mention finale, exceptionnellement je ne donnerai pas la source. Il vous faudra donc faire un petit effort pour trouver l’information. L’auteur de l’exploit dit le faire pour aider Google à l’améliorer, j’espère qu’il ne m’en voudra donc pas de ne pas le citer.