2012-02-17

Twitter Android et vos Contacts

Mise à jour du 24/02/2012
L'application twitter a été mise à jour et ne devrait plus communiquer les informations pointées dans cet article. De plus, Twitter utilise un mécanisme de vérification des certifcats. Nouveau challenge :)

Article original :

On a pu lire sur des sites  d'informations pour le grand public (Figaro, GNT et autres FanBoyGénérations) que des App comme Path ou Twitter récupéraient des informations personnelles sur leurs serveurs. Qu'en est-il de l'application Twitter Android ?

Pour faire court, oui elle communique des informations confidentielles et s'y prend de manière sournoise.

Permissions

Aucune surprise, on le sait en téléchargeant l'application depuis l'Android Market que l'application demande la permission suivante :
Vos informations personnelles :
Accès aux données des contacts, Édition des données d'un contact.
Android est vraiment bien fait sur ce point là. Si le programmeur oublie de préciser la permission dans le Manifest.xml, l'application devra gérer une erreur (Exception) lors de l'accès à la permission. J'aime la transparence.

Remise à zéro de l'application Twitter Android.

Première étape, supprimer le compte twitter de l'application :

Vous ai-je dis à quel point je trouve cet effet onPressed jaune moche ? Là n'est pas le sujet ... je valide et je passe à la suite qui est l'écran d'accueil :
J'en ai profité pour vider le cache de l'application et les informations contenues dans /data/data. Juste histoire d'être sûr.

Inscription et Contacts

Je clique sur connexion et renseigne les champs login/password et j'attends la notification en question.

Là, on y est, la méthode sournoise! Trouvez vos amis sur Twitter.  C'est de l'accroche malhonnête car il n'est pas question de trouver vos amis, mais de donner à Twitter la liste de tous vos contacts en échange d'une liste de twittos/twittas.

Quid de la confidentialité ? Trouver un compte Twitter par le biais d'un numéro de téléphone ou d'une adresse électronique me semble un piège. Vu le faible nombre de lecteurs de l'article, je peux l'écrire : oui on peut automatiser, car oui la protection de Twitter ne tiens à quasiment rien.

J'y reviendrais.

Le contenu de l'envoi

Entre l'application et le serveur de twitter il y a pas mal de machines à traverser : téléphone, point d'accès wifi, routeur(s), modem adsl ... et Twitter. Il y a très peu de chance que l'application Twitter arrive à transmettre des informations sans que je n'en découvre le contenu :-) !

Il est de notoriété publique que l'application Twitter communique avec les serveurs de Twitter en mode sécurisé (https). On peut donc passer directement au mode je-vais-lire-le-contenu-ssl.
GET /1/users/lookup.json?email=xx%40xx.com,yy%40yy.fr&phone=33123456788,33333333
HTTP/1.1
Accept-Encoding: gzip
User-Agent: TwitterAndroid/3.0.1 (144) Galaxy Nexus/15 (samsung;maguro;google;yakju;0)
X-Client-UUID: 123-456-789-a12-b24c35d67
X-Twitter-Client: TwitterAndroid
X-Twitter-Client-Version: 3.0.1
Authorization: OAuth realm="http://api.twitter.com/", oauth_version="1.0",
   oauth_token="abcd", oauth_nonce="123", oauth_timestamp="123", 
   oauth_signature="xxx", oauth_consumer_key="blahblah",
   oauth_signature_method="HMAC-SHA1"
Host: api.twitter.com
Connection: Keep-Alive
L'application Twitter transmet les adresses électroniques et numéros de téléphone de TOUT votre carnet d'adresse. La requête lookup.json contient deux paramètres email et phone qui contiennent toutes les adresses électroniques et numéro de téléphone de vos contacts. TOUTES LES ADRESSES ÉLECTRONIQUES ET TOUS LES NUMÉROS DE TÉLÉPHONE !

Qu'en conclure

Pour ma part la démarche de Twitter est honnête.
  • La lecture des contacts est explicite dans les permissions de l'application.
  • La transmission ne se fait a priori qu'une fois.
  • Les données transmises sont en adéquation avec l'objectif : un compte Twitter est attaché à une adresse électronique et/ou un numéro de téléphone (surtout aux Etats Unis, patrie de l'application).
  • Aucune correspondance numéro de téléphone / adresse électronique n'est réalisée, les données sont mises à la queue-leu-leu (♫ ♪ ♫). Twitter ne se laisse pas la possibilité de relier un numéro et une adresse.
 Doit-on se réjouir pour autant ? Certainement pas !
  •  Les données sont transmises et nous n'avons aucune garantie sur leur conservation. 
  • Twitter est capable d'établir un chemin entre deux comptes. Comme Google sur lequel je blog.
  • "Scannez vos contacts" est un laconique et malhonnête : "Envoyez les numéros de téléphones et adresse électronique de tous vos contacts, nous les gardons indéfiniment sur nos serveurs au mépris des recommandations de la CNIL" eût été plus juste et certainement moins incitatif.

Aucun commentaire: