Comment gagner à Pokémon Go (en trichant)

A peine trois jours après le lancement de Pokémon Go, les premiers cas de piratage ont été identifiés. Une situation qui est assez classique dans le monde du jeu.

Le raz-de-marée Pokémon Go n’en finit plus de conquérir le monde. Le jeu invite jeunes et moins jeunes à sortir et interagir avec le monde réel, en quête des Pokémons qui apparaissent au fur et à mesure de leurs déambulations et qu’ils doivent attraper en leur lançant des Pokéballs. Plus un joueur arpente les rues et les lieux publics, plus il a de chances d’attraper des Pokémons et plus ses Pokémons deviennent forts. La clé du jeu repose sur l’utilisation du GPS du smartphone pour suivre les mouvements du joueur et les combiner avec des données mobiles.

A peine trois jours après le lancement de Pokémon Go, des premiers cas de piratage ont été identifiés. Une situation qui est assez classique dans le monde du jeu. Dans le domaine des jeux de PC, les plus populaires sont généralement piratés le jour-même de leur lancement. Les jeux mobiles, eux, font encore l’objet d’un faux sentiment de sécurité. La plateforme PC existe depuis des décennies, et les développeurs et joueurs sont généralement bien informés des différentes failles potentielles. Sur plateforme mobile, c’est beaucoup plus flou. Les utilisateurs, pour la plupart, ne sont pas au courant de ce que les pirates peuvent faire. Mais ils apprennent vite.

Sur une plateforme mobile, les attaques les plus redoutables sont celles de type «jailbreaking» et «Rooting». C’est le saint Graal en matière de hacking de smartphone. Une fois que le pirate accède à ce dernier, il peut le contrôler. Il peut voir les fonctionnements internes secrets de n’importe quelle application et avoir accès à toutes vos données encryptées. Il peut également modifier la manière dont une application fonctionne et lancer des attaques encore plus néfastes.

C’est ce que les pirates ont fait avec Pokémon Go. Ils ont «jailbreaké» leurs smartphones et analysé l’application Pokémon Go. Son mécanisme central reposant sur l’utilisation du GPS pour suivre la localisation du joueur, c’est ce à quoi les pirates se sont attaqués en premier. Ils ont conçu une bibliothèque spéciale capable de s’injecter dans le jeu pour manipuler les données du GPS traquées par l’appli Pokémon Go. Ce qui a permis aux pirates (ou plutôt aux tricheurs) d’apparaitre à des endroits où ils n’avaient jamais été en réalité, et de tromper l’application en lui faisant croire qu’ils avaient marché dans des rues et des lieux qu’ils n’avaient, en fait, jamais fréquentés.

Les développeurs de Niantic, le concepteur de Pokémon Go, ont essayé de résoudre cette brèche. Ils ont modifié le code de l’application et ajouté des modules de détection de jailbreak. Mais le mal était déjà fait, et les pirates ont été capables d’appliquer rapidement leurs propres patchs pour désactiver les fonctions de détection des jailbreak.

En matière d’attaques de type «jailbreaking» et «Rooting», il est toujours préférable de résoudre le problème le plus tôt possible et de rester discret sur cette opération. Dans le cas de Pokémon Go, il était évident que l’application intégrait désormais un mécanisme de détection de jailbreak car les données qui étaient utilisées jusqu’alors ont cessé d’être autorisées. Pour la plupart des applications, il est préférable d’utiliser un RASP – ou Runtime Application Self Protection – qui vérifie les attaques «jailbreaking» et «Rooting» lors que chaque lancement de l’application ou de son utilisation. Si RASP détecte une attaque, il est alors facile de quitter rapidement l’application et de faire en sorte que le pirate ne se doute de rien.

Même si le pirate comprend que son attaque a été détectée et qu’il lance son propre patch sur l’application, RASP est capable de prévenir le type d’attaque subie par Pokémon Go. Un autre type d’attaque sur le jeu est l’injection de bibliothèque, qui permet au pirate de manipuler la bibliothèque du GPS pour y injecter la sienne. Grâce à la solution RASP, l’application sera capable de détecter ces bibliothèques dissimulées et pourra empêcher l’application de les charger.

Aucune solution n’est infaillible et aucune plateforme n’est totalement étanche aux attaques. Chaque jour de nouvelles attaques sont lancées, et chaque jour de nouvelles solutions sont développées. Mais des technologies telles que RASP peuvent aider les nouveaux écosystèmes d’applications mobiles à se protéger et à faciliter le travail des développeurs d’appli.