IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

De nombreuses applications sur Google Play contiennent des clés d'authentification
Qui peuvent aider à subtiliser des données, d'après un rapport

Le , par Stéphane le calme

0PARTAGES

2  0 
Une étude menée par des chercheurs de la Columbia University s’est intéressée aux applications présentes sur la vitrine Play Store afin d’en apprendre un peu plus au public sur leur niveau d’agrégation. Ils ont développé un outil qu’ils ont baptisé PlayDrone, pour indexer et parcourir chaque jour plus d’1,1 millions d’applications sur la vitrine en ligne officielle des applications Android.

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 ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de grunk
Modérateur https://www.developpez.com
Le 24/06/2014 à 16:24
Les solutions idéales sont en effet d'aller chercher la clé ailleurs ou de demander à l'utilisateurs de la saisir.
Mais dans le premier cas ça demande un développement supplémentaire pas négligeable et de mettre en place une communication sécurisé (sinon autant tout laissé dans l'app) , bref pas mal de temps (sans compter que ça impose une connectivité pas forcément nécessaire autrement).
Dans le deuxième cas c'est bien souvent une étape que l'utilisateur ne comprend pas ou ne veux pas avoir à faire et du coup on ne choisi pas cette solution.

Si vraiment on à pas la choix , il faut au possible essayer de rendre le travail difficile pour celui qui relira le code....
0  0