Faisant appel à différentes techniques de hack, PlayDrone a contourné la technologie de Google qui empêche l'indexation de contenu et a réussi à extraire le code source de plus de 880 000 applications gratuites. Lors de la décompilation et de l’analyse de ces applications, les chercheurs ont découvert que « les développeurs gardent souvent les clés secrètes d’authentification dans leurs applications Android sans réaliser que les informations d’identifications sont facilement compromises par la décompilation ».
Les clés d’authentification sont utilisées pour établir une connexion sécurisée entre les applications et les serveurs avec lesquels elles communiquent. Une fois ces clés obtenues, il est alors possible de déchiffrer les informations contenues dans l’application dans un serveur distant.
Pour Theodora Titonis, Vice-Présidente de Veracode, une société spécialisée dans la sécurité mobile, une fois que des criminels mettent la main sur une application avec des clés sauvegardées à l’intérieur, il leur sera assez trivial de la décompiler comme l’ont fait les chercheurs. Elle rappelle d’ailleurs que des outils sont disponibles pour effectuer cette tâche.
Jason Nieh, le co-auteur du rapport, explique que « s’il y a des données entreprise dans le Cloud et qu’une entreprise possède une application qui contient des clés secrètes, quelqu’un pourrait potentiellement subtiliser les données du Cloud ». Parmi les applications qui se connectaient à Facebook, certaines contenaient également des clés d’authentification. Une fois informé, le réseau social à tout simplement décidé d’arrêter de recevoir les clés, contraignant ainsi les développeurs à changer leur approche pour continuer de bénéficier de lui.
Jason Nieh
Alors pourquoi une telle habitude ? Selon Titonis, l’une des raisons pour lesquelles les développeurs pourraient sauvegarder un composant si important dans l’application c’est pour éviter d’avoir à écrire du code additionnel nécessaire pour sauvegarder les clés sur le serveur.
D’autres experts vont dans le même sens qu’elle en indiquant que la plupart des développeurs d’applications mobiles empruntent des raccourcis parce qu’ils sont tenus par les délais ; ils doivent rendre l’application disponible sur le marché aussi vite que possible et parfois au détriment de la meilleure protection qui soit pour leurs utilisateurs.
Source : rapport (au format PDF)
Et vous ?
Avez-vous déjà développé une application mobile ? Sauvegardez-vous également les clés d'authentification dans votre application ? Pour quelles raisons ?