Passer au contenu

Ce hack permet d’obtenir des crédits illimités dans certains jeux du Google Play Store

Dans un grand nombre de jeux vidéo, la validation des paiements est mal implémentée et facile à contourner. A condition d’avoir quelques compétences informatiques.

Sur Google Play, la plupart des jeux vidéo sont gratuits, mais ils incitent l’utilisateur, par la suite, à payer des options ou des suppléments. Ces paiements sont réalisés au travers de la plateforme de paiement Google Play Billing. Or, il s’avère que ce système peut être contourné, ouvrant la porte à des crédits illimités. C’est en effet ce que vient de montrer Guillaume Lopes, chercheur en sécurité chez Randorisec, à l’occasion de la conférence Hack in Paris 2019.

L’expert a testé plus d’une quarantaine d’applications. Il a pu obtenir un jackpot automatique pour 25 d’entre elles. Parmi elles figurent même de grands classiques comme Doodle Jump, Snoopy Pop ou Fruit Ninja. Lors d’une démonstration, le chercheur a montré qu’il pouvait s’octroyer 1000 bonbons dans Doodle Jump, ce qui lui a permis de choisir un autre habit.

GK – Démonstration à l’occasion de Hack in Paris 2018

Ce hack est possible parce que ces éditeurs ne respectent pas les bonnes pratiques au niveau de l’architecture technique. En effet, quand l’utilisateur veut acheter un bonus, la demande est transférée vers Google Play Billing qui s’occupe du processus de paiement. Une fois le transfert réalisé, le système renvoie une confirmation de paiement à l’éditeur. Google incite très fortement les développeurs à réceptionner et traiter cette confirmation côté serveur. Mais beaucoup ne s’embarrassent pas d’une telle complexité et se contentent de valider l’achat directement dans l’application du smartphone. Le problème, c’est que n’importe qui peut alors modifier le code de cette application et faire en sorte que la validation soit toujours vraie.

Pour y arriver, cela nécessite toutefois d’avoir quelques compétences techniques. Il faut décompiler l’application, détecter la fonction de validation et la modifier de telle sorte à pouvoir contourner le paiement. Puis il faut recompiler l’application et, bien sûr, activer sur Android l’option « Accepter les applications de source inconnue ». Et le tour est joué. « Sur Doodle Jump ou Snoopy Pop, c’était assez facile. Sur Fruit Ninja, c’était déjà plus compliqué car la validation s’appuie sur des librairies partagées qui sont plus compliquée à analyser. D’autres encore, comme l’éditeur King, utilisent des techniques d’obfuscation, ce qui rend l’affaire vraiment difficile », nous explique Guillaume Lopes.

Google est particulièrement permissif

Mais la majorité des éditeurs ne semblent pas être gênés plus que cela. D’ailleurs, aucun d’entre eux n’a répondu aux sollicitations du chercheur en sécurité. On peut aussi se demander pourquoi Google est tellement permissif et autorise la validation d’un paiement en local. Sur les boutiques applicatives d’Amazon et de Samsung, les développeurs sont obligés de traiter les paiements côté serveur.

A noter, enfin, que les jeux sont visiblement la seule catégorie applicative où ce hack est possible. « Les applications de journaux et de magazines nécessitent de créer un compte et de s’authentifier, ce qui leur permet d’ajouter des vérifications côté serveur. Par conséquent, cette technique de contournement ne fonctionne pas », précise Guillaume Lopes, qui a également détaillé sa technique dans une note de blog.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Gilbert KALLENBORN