anonymat garanti, aucune collecte de données, protection ad eternam des réponses

Je suis tombé sur cette pépite après qu'un ami m'ait transmis un lien pointant vers un site web proposant un sondage destiné à aider l'internaute à identifier quel est son parti politique sur la base de ses réponses.

Loin de moi l'idée de vouloir attribuer une quelconque mauvaise attention aux propriétaires du site, cet extrait est assez révélateur de l'écart souvent observé entre le discours du propriétaire d'un service en ligne et ce qu'il se passe dans la réalité.

Avant de commencer, définissons la notion d'anonymat sur Internet. Pour la suite de cet article, je la considèrerai comme suit:
Anonymat: contexte dans lequel les traces
créées par une interaction entre un internaute et
un service en ligne ne peuvent permettre d'établir
une association fiable entre son identité de citoyen
et le contenu de ladite interaction.

Dans la pratique, que se passe-t-il?

La communication entre le client et le serveur est en clair
Le sondage est accessible via un canal de communication HTTP (l'URL se présente sous la forme http://siteweb). Ce canal a la particularité bien connue de transporter les informations en clair, sans chiffrement cryptographique. On dit alors que la confidentialité de l'échange est compromise (quiconque placé entre le client et le serveur pourra lire le contenu de la conversation) tout comme son intégrité (quiconque placé entre le client et le serveur pourra modifier le contenu de la conversation). Plus "l'oreille" est proche de l'internaute, plus elle pourra facilement l'identifier.


Des tiers ont été discrètement invités dans la discussion
Un autre élément d'attention se trouve dans le code source de chaque page du sondage: les développeurs ont choisi d'importer dynamiquement une police de caractères en provenance de la bibliothèque de Google (fonts.googleapis.com), proposée bien entendu en libre service.

Plus loin dans le sondage, les concepteurs du site font également appel aux librairies Analytics, un service d'analyse de trafic web généreusement offert à l'être humain par Google.

Finalement, l'analyse du positionnement politique est représentée sous forme visuelle à l'internaute. Cette illustration est construite dynamiquement en positionnant un marqueur, à une coordonnée spécifique, sur un schéma contenant la totalité des paysages politiques.

Cette combinaison d'appels de librairies hébergées sur des sites de tiers et de requêtes contenant les coordonnées fournit une manne de données à Google, qui, après interprétation, peut leur donner différents"sens". Comme par exemple:
- qui participe au sondage?
- combien de personnes y participent?
- à quel moment y participent-elles?
- depuis où les internautes se connectent-ils?
- se connectent-ils d'une zone précise ou l'usage est-il dispersé?
- le navigateur est-il connu de nos services? si oui, est-il rattaché à un compte Google? si oui, savons-nous déjà quelle est son orientation politique? est-ce que cela entre en conflit avec les éléments d'information déjà à notre disposition sur cet utilisateur?
- est-ce que les utilisateurs participant au sondage et se connectant depuis le même emplacement géographique arrivent aux mêmes résultats? quelle est la dispersion?
- etc.


Le mot de la fin
Comme on a pu le constater assez rapidement, trois éléments techniques rendent totalement caduques les garanties d'anonymat et de non-conservation des données annoncées au début du sondage.

Pour contrer cette situation, il aurait fallu en premier lieu préférer l'usage d'un canal de type HTTPS (un HTTP amélioré, offrant un chiffrement cryptographique de la conversation).

En second lieu, la police de caractères téléchargée sur le site de Google devrait être rapatriée sur le serveur web lui-même. Le navigateur de l'internaute n'ira ainsi plus la récupérer chez un tiers.

Finalement, la présence de l'appel au système de statistiques Analytics dans la page des résultats expose l'internaute à un risque de divulgation car la page fournit un élément privé de la personnalité (positionnement politique).

En cas de doute, le standard d'évaluation de sécurité d'applications web OWASP ASVS (Application Security Verification Standard) peut être consulté. Chacun des trois points identifiés ci-dessus s'y trouve documenté et formalisé sous la forme d'un contrôle. Cela reste l'une des meilleures ressources disponibles pour éviter ce genre d'écueils!