02
Nov
2011

Table des matières

J'aime bien quand certains imaginent ce qu'on peut faire avec un technologie, surtout quand il s'agit d'un cas absolument pas prévu par ses créateurs. Sur ce sujet, deux exemples me viennent en tête : Les cookies "permanents" de KISSmetrics, & Telex.

Perma-cookies

Les ETags font partie du protocole HTTP, qui vous permet d'accèder au web. Quand vous demandez un site internet, votre navigateur demande au serveur le contenu du fichier HTML, puis demande toutes les ressources (images, feuilles de style, etc.) indiquées dans ce fichier.

Le serveur renvoie, en plus des ressources, des entités ETag, sortes d'empreintes digitales des fichiers demandés. Lors d'une seconde visite sur le même site, le navigateur indiquera cet ETag en demandant chaque ressource; ce code sera analysé par le serveur, pour qu'il sache si le fichier en question a été modifié depuis la première visite.

Grâce aux ETags donc, le serveur n'envoie au client que les fichiers qui ont été modifiés, ce qui economise du temps et de la bande passante.

La société KISSmetrics à trouvé un moyen d'utiliser ces codes dans un autre but, celui de tracker les visiteurs, même s'ils avaient interdit l'utilisation de cookies (Cette technique a été détaillée par Steve Gibson dans le netcast "Security Now!" N°312 (english transcript)).

En effet, plutôt que d'envoyer un ETag representant le fichier demandé, le service de KISSmetrics envoie un code aléatoire qu'il stocke quelque part. Quand le visiteur revient sur un site tracké par la société, il va renvoyer cet ETag au serveur, qui sait alors qu'il a déjà rencontré cet utilisateur !

Telex

Telex est un peu plus complexe, et modifie la façon dont les internautes se connectent en SSL, ou connexion sécurisée. Afin de pouvoir établir un dialogue crypté entre le client et le serveur, ces derniers doivent échanger une clé de cryptage, qui normalement est aléatoire.

Avec Telex, quelqu'un peut accèder à un site qui serait normalement bloqué dans son pays, en prétendant vouloir se connecter de façon sécurisée à un site A, qui lui n'est pas bloqué. Le client envoie alors une clé, mais celle-ci est particulière : toujours aléatoire, elle correspond à certains paramètres que l'on peut détecter si on sait ce que l'on cherche (la documentation de Telex parle de "clé stéganographique").

Installé chez un FAI complice, Telex détecte alors qu'il s'agit d'une demande de connection particulière, et renvoie au client le contenu du site B, qui normalement est bloqué pour cet utilisateur.

Dites-moi si c'est plus clair avec un schéma :

fonctionnement de Telex

Manu