C'est en exploitant une multitude de failles, ou plutôt de faiblesses délibérés, dans la conception des logiciels incriminés, que l'équipe en question a pu déterminer — à grande échelle — la géolocalisation et l'utilisation de BitTorrent de milliers d'internautes par jour.
Une faiblesse inhérente au peer-to-peer
Par nature, un logiciel peer-to-peer met en relation directe deux interlocuteurs, que ce soit pour du téléchargement ou toute autre activité. Leur adresse IP publique transite en clair dans l'entête des paquets qu'ils s'échangent, c'est inhérent au fondement même d'Internet. Or on a tendance à l'oublier, Skype est une solution de voix sur IP (VoIP) reposant sur le pair-à-pair.
Le fait que deux interlocuteurs consentants puissent connaitre leurs adresses IP respectives, au moyen d'un simple outil d'analyse réseau, coule de source et n'est donc aucunement un scoop.
Skype : pas farouche !
Ce que les chercheurs ont découvert et ce qui pose problème avec Skype, c'est qu'il livre votre adresse IP au premier venu. Que vous soyez connecté à votre compte ou non, à condition toutefois de l'avoir utilisé au cours des dernières 72 heures, que vous rejetiez par défaut les appels d'inconnus ou non, votre client logiciel ou les serveurs de Skype renvoient systématiquement un paquet, et donc votre adresse IP (ou à défaut la dernière connue).
L'équipe a dès lors imaginé deux parades. Puisque les paquets échangés sont chiffrés, à l'exception de leurs entêtes qui ne peuvent l'être, elle a fait appel à un lot de volontaires (dont elle connaissait les IP) pour identifier lesquels des nombreux paquets qui convergent vers un client correspondent à l'émission d'un appel et à celui envoyé en retour. Elle a en outre découvert comment solliciter le correspondant sans qu'il ne s'en aperçoive, simplement en bloquant les paquets TCP qui déclenchent la sonnerie.
Il ne lui restait alors plus qu'à piocher au hasard dans la liste des utilisateurs, qui est publique, pour obtenir à l'aide d'un script exploitant l'API de Skype un grand nombre d'adresse IP et les éléments publics des profils correspondants (potentiellement le nom, l'âge, le sexe...).
Les chercheurs ont ensuite choisi de croiser ces adresses IP, d'une part avec une base de données de géolocalisation par IP, qui permet de localiser un internaute à l'échelle d'un NRA par exemple, c'est-à-dire avec une précision de quelques pâtés de maison en ville, et d'autre part avec celles d'utilisateurs de BitTorrent, dont l'IP est délivrée par les traqueurs publics, et dont l'activité (dont le nom du fichier téléchargé) est souvent transmise en clair.
« It's not a bug, it's a feature »
Skype, contacté il y a près d'un an par l'équipe de chercheurs, n'a réagi qu'à la publication de l'étude. Adrian Asher, directeur de la sécurité de Skype, a reconnu que « les utilisateurs connectés à Skype sont en mesure de déterminer leurs adresses IP respectives, » rappelant à juste titre « comme c'est le cas avec un logiciel de communication par Internet courant ».
L'étude reconnait quant à elle que la même problématique vaut potentiellement pour toute autre solution de communication fonctionnant à un moment ou à un autre en connexion directe. On peut également imaginer de croiser les adresses IP avec d'autres données publiques.
Les chercheurs présenteront leurs travaux et leurs solutions à l'Internet Measurement Conference 2011, le 2 novembre à Berlin. Les solutions coulent de source : il suffirait pour commencer de ne mettre en relation directe les interlocuteurs qu'une fois l'appel approuvé, mais ça impliquerait de coûteuses ressources de la part de Skype. Les 13 pages de l'étude sont quoi qu'il en soit téléchargeables au format PDF à cette adresse.