Quand HTTPS se transforme en super cookie

Un consultant britannique a démontré comment une fonctionnalité de HTTPS peut se muer en outil de traçage très performant et persistant dans certains navigateurs.

Sam Greenhalgh, ingénieur logiciel anglais, s’est penché sur un aspect peu connu de HTTPS. Au fil de ces recherches sur le protocole de sécurité, il a découvert qu’une des fonctionnalités de HTTPS pouvait se transformer en super cookie. La fonction au centre de son attention est HSTS (HTTP Strict Transport Security) définie par l’IETF dans la RFC 6797. Il s’agit du mécanisme qui aide les sites à rediriger les utilisateurs d’une page HTTP vers la version HTTPS du site.

Cependant pour éviter de renvoyer à chaque fois des informations pour rediriger les utilisateurs vers une page sécurisée, les auteurs de HSTS ont créé un mécanisme pour que les navigateurs se rappellent des règles HSTS appliquées aux sites visités. C’est cette mémorisation que Sam Greenhalgh a identifié comme un super cookie. Sur sa page, le consultant démontre que la fonctionnalité attribue un code unique pour chaque site HTTPS regardé et il est consultable pour n’importe quel site dans les paramètres de certains navigateurs.

Une trace unique et exploitable

« Une fois que le numéro est enregistré, il peut être lu par d’autres sites à l’avenir. La lecture du numéro nécessite simplement d’envoyer des requêtes tests pour savoir sur les adresses web sont redirigées ou non », souligne Sam Greenhalgh. Cela signifie que votre activité peut-être dans le meilleur des cas tracer comme un simple cookie, mais ce super-cookie peut aussi être utilisé à des fins malveillantes. Car les navigateurs n’appliquent pas les mêmes règles de sécurité aux vrais cookies qu’à HSTS et donc peuvent potentiellement laisser passer des redirections vers des pages corrompues.

Dans sa démonstration, l’ingénieur ne met pas tous les navigateurs dans le même panier. Chrome, Firefox et Opera disposent de mode de surf « incognito » ou « privé » qui efface les en-têtes HSTS. Pour Internet Explorer, la question ne se pose pas car le navigateur de Microsoft ne supporte pas HSTS. Par contre, le plus exposé est Safari. « Lorsque vous l’utilisez sur un terminal Apple, il semble n’y avoir aucun moyen pour l’utilisateur d’effacer les en-têtes HSTS. Ces derniers sont mêmes synchronisés avec le service iCloud et seront donc restaurés en cas d’effacement d’un terminal. Dans ce cas, le numéro HSTS laisse une trace indélébile. »

A lire aussi :

Chrome va stigmatiser les sites non HTTPS

Des chercheurs évaluent les conséquences du « S » dans HTTPS

Chiffrement : comment échapper à la curiosité de la NSA