Alertes de sécurité en cours Discussion Discussion
Faire un lien Lien
Assiste.com - Sécurité informatique - Décontamination - Antivirus - Protection - Protection de la Vie Privée Assiste.com - Sécurité informatique - Décontamination - Antivirus - Protection - Protection de la Vie Privée


ETag

Dernière mise à jour : 2017-02-01T00:00 - 01.02.2017 - 00h00
10.01.2013 - 00h00 - Paris - (Assiste - Pierre Pinard) - Mise à jour de notre article antérieur (versions 1997-2007)

ETag est un champ des entêtes HTTP. Ce champ est manipulé côté serveur. Il n'y a rien à faire côté client (côté poste de travail de l'utilisateur et son navigateur Internet).

Assiste.com : ETag

ETagETagETag

ETag (Entity Tag) est un champ des entêtes HTTP.

Devant l'augmentation rapide, effrayante au sens des sociétés pratiquant le tracking, du nombre d'internautes se souciant de leur vie privée, certains sites ont trouvé une parade : le champ ETag des entêtes HTTP.
  • Les internautes sont de plus en plus nombreux à effacer, bloquer, interdire, vider de leur sens les cookies de tracking et les Guid.

  • Les internautes sont de plus en plus nombreux à installer le navigateur Firefox, de préférence à tous les autres, pour son respect natif de la vie privée de ses utilisateurs et son écriture Open Source (et pour une multitude d'autres raison dont sa vitesse, son confort, son ouverture aux extensions, son respect des normes et standards, etc. ...).

  • Les internautes sont de plus en plus nombreux à installer, dans leur navigateur, quel qu'il soit, des modules additionnels de protection de leur vie privée et de leur navigation, comme NoScript, Ghostery, Do Not Track Me, AdBlock Plus augmenté de ses listes AntiSocial et EasyPrivacy, etc. ...

  • Les internautes sont de plus en plus nombreux à se baser sur le tableau de référence des règles de Protection du navigateur, de la navigation et de la vie privée.
Le champ ETag peut être utilisé pour suivre les utilisateurs en les identifiant de manière unique (au même titre que les Guid).

Les ETag sont des identificateurs uniques générés par le serveur et changés à chaque fois que la ressource change.

ETag, un truc relativement obscur aux fonctions potentielles multiples, est utilisé, entre autres, pour gérer la mise en cache, côté navigateur de l'internaute, des ressources.

ETag exprime, dans l'entête HTTP qui accompagne chaque ressource envoyée par un serveur, un identifiant unique de la ressource, si la ressource peut être mise en cache, et quelle est sa durée de validité.

L'identifiant unique de la ressource (du fichier sur le serveur) change dès que le fichier est modifié (mis à jour).

Si la ressource est à nouveau sollicitée (elle se trouve donc dans le cache du navigateur), une requête très brève est envoyée au serveur en lui donnant l'URL de la ressource et en lui disant, dans le champs ETag " j'ai cette version là ".

Le serveur répond, soit en envoyant la ressource

, il faut aller la chercher sur le serveur, pour qu'elle soit mise à jour au lieu de la prendre, certes, plus rapidement, mais probablement périmée, dans la cache du navigateur. C'est le site visité (le webmaster) qui paramètre cela sur son serveur, dans des scripts côté serveur et dans un fichier nommé htaccess. Par exemple, les ressources telles que les images peuvent être relativement stables et être mises en cache pour une durée relativement longue. Par contre, le contenu textuel des pages peut varier rapidement et il est préférable de ne pas le conserver en cache ou de ne l'y conserver que quelques heures, pas plus, après quoi il faut allez chercher une page plus " fraîche ".

En Juillet 2011, Ashkan Soltani et une équipe de chercheurs de l'Université de Berkeley, ont rapporté qu'un certain nombre de sites, y compris Hulu.com, utilisaient le champ ETag à des fins de suivi des internautes identifiés de manière unique. [3].

Hulu est une gigantesque plate-forme de streaming audio et vidéo agissant de manière autonome, sans dépendre de tiers pour ses ressources média. Ce site est classé 264ème site le plus visité au monde en avril 2013, selon Alexa. Son site est bourré de publicités délivrées par la régie publicitaire KISSmetrics. Hulu est donc un client de KISSmetrics. L'un comme l'autre ont besoin de traquer et profiler les internautes pour délivrer des publicités ciblées. L'un comme l'autre étant filtrés dans les outils de protection de la vie privée, KISSmetrics a déployé et exploité un système de tracking hors de portée des internautes. Or des législations se sont mis en place, protégeant l'internaute et lui donnant, de droit, la possibilité d'échapper (Opt Out) au tracking.

Hulu et KISSmetrics ont tous deux cessé ce " déploiement " le 29 Juillet 2011 [4], au moment où KISSmetrics et plus de 20 de ses clients sont confrontés à une poursuite en recours collectif sur l'utilisation des cookies de suivi " ineffaçables " impliquant, partiellement, l'utilisation des ETags. [5].

Les ETags sont mis en cache par le navigateur, côté utilisateur, avec les ressources mises en cache. Les ETags sont retournés aux serveurs, lors des requêtes ultérieures pour la même ressource. Un serveur de tracking peut tout simplement répéter tout ETag obtenu à partir d'un navigateur afin de s'assurer qu'un ETag attribué à un internaute persiste indéfiniment (d'une manière similaire aux cookies persistants).

Les ETags peuvent être effacés en vidant le cache du navigateur utilisé et en empêchant les mises en cache ultérieures, dans les paramètres du navigateur (mais les implémentations de la gestion du cache varient d'un navigateur à l'autre et l'implémentation de la gestion du cache n'est pas visible, sauf dans Firefox, dont le code est Open Source).

http://forum.xxxxxxxx

GET /applications/dashboard/design/images/star_sprite.png HTTP/1.1
Host: forum.xxxxxxxx
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Referer: http://xxxxxxxx
Cookie:xxxxxxxx
Connection: keep-alive
If-Modified-Since: Fri, 07 Oct 2011 19:00:10 GMT
If-None-Match: "4e8f4c3a-5cc"

HTTP/1.1 304 Not Modified
Server: nginx
Date: Sun, 26 May 2013 02:06:44 GMT
Last-Modified: Fri, 07 Oct 2011 19:00:10 GMT
Etag: "4e8f4c3a-5cc"
Expires: Sun, 26 May 2013 02:08:44 GMT
Cache-Control: max-age=120




Contre mesuresContre-mesures" Contre mesures "

Dans les navigateurs, empêcher la mise en cache (taille du cache à zéro ou désactivation du cache).

Utiliser le module additionnel SecretAgent (Firefox uniquement) qui permet de générer des eTags forgés.

RéférencesRéférences" Références "


RessourcesRessources" Ressources "

10.05.1999 - W3C - Detecting the Lost Update Problem Using Unreserved Checkout

 Requêtes similairesRequêtes similaires" Requêtes similaires "