Free a donc décidé de lancer la guerre aux régies publicitaires. Alors que pour le moment les raisons de cette fonctionnalité sont encore obscures, revenons sur la technique utilisée par Free.
Le principe
Dans les différentes réactions des internautes, on a pu voir fleurir un certain nombre de termes alarmistes (atteinte à la neutralité, Deep Packet Inspection, etc.) qui pouvait laisser croire que Free inspectait tout le trafic de l'utilisateur pour épurer les requêtes HTTP. La réalité est toute autre puisque ce blocage se base sur le système DNS. Pour rappel, le DNS permet d'associer une adresse lisible par un humain (comme www.toutsurtout.biz) a une adresse IP (bien moi lisible par un humain, comme par exemple 213.186.33.19).
Habituellement, c'est le fournisseur d'accès qui propose un service de DNS sur ses serveurs. Or, depuis la Freebox Révolution, c'est elle même qui fait office de serveur DNS. Free a donc décidé d'utiliser ceci pour bloquer la pub.
Exemple :
L'utilisateur demande au navigateur l'accueil de toutsurtout.biz
Le navigateur demande au système d'exploitation de le mettre en relation avec toutsurtout.biz
Le système d'exploitation effectue la requête DNS auprès de son serveur DNS pour récupérer l'IP
Une fois l'IP récupérée, la requête HTTP peut être envoyée directement au serveur HTTP qui renvoie la page
Le navigateur reçoit la page HTML et interprète celle-ci. Il tombe sur une ressource externe qui est un script javascript de la régie publicitaire (exemple fausseregiepub.net/scriptpub.js)
Le navigateur essaie de télécharger cette ressource par le même principe
Le système d'exploitation va à nouveau faire une requête DNS pour trouver l'IP de la régie pub, c'est à ce moment que le serveur DNS répond une IP erronée
On le voit, à aucun moment les serveurs de Free (que ca soit la Freebox, ou un quelconque Proxy, ou autre dispositif) n'analyse et ne réécrit le contenu HTML.
Mais vers où suis-je redirigé ?
Comme expliqué ci dessus, la Freebox se permet de renvoyer vers une IP erronée, voyons où ceci abouti. Nous allons essayer d'appeler doubleclick.net (une régie pub rachetée par Google) tout d'abord avec les DNS de la Freebox puis avec les DNS de Google.
Appel avec les DNS de la Freebox :
C:\Windows\system32>nslookup doubleclick.net
Serveur : UnKnown
Address: 192.168.0.254
Nom : doubleclick.net
Address: 212.27.40.246
Appel avec les DNS de Google (8.8.8.8):
C:\Windows\system32>nslookup doubleclick.net 8.8.8.8
Serveur : google-public-dns-a.google.com
Address: 8.8.8.8
Réponse ne faisant pas autorité :
Nom : doubleclick.net
Address: 70.32.146.212
On remarque qu'on est redirigé vers une IP Free (qui possède les IP 212.27.40.*)
Qu'y a-t-il derrière ? La régie pub de Free ?
C:\Windows\system32>tracert 212.27.40.246
Détermination de l'itinéraire vers FREEBOX [212.27.40.246]
avec un maximum de 30 sauts*:
1 <1 ms <1 ms <1 ms FREEBOX [212.27.40.246]
Itinéraire déterminé.
Tout simplement la Freebox ! Pour s'en convaincre, on peut même envoyer une requête HTTP, en retour on obtiendra un serveur embarqué sur la Freebox :
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 04 Jan 2013 21:04:20 GMT
Content-Type: text/plain
Content-Length: 0
connexion: keep-alive
Ce procédé est il nouveau ?
Pas spécialement. Le système DNS ne sert pas que sur internet, il sert aussi aux intranet et il peut être parfois nécessaire de ne pas avoir la même résolution de nom (exemple dans l'installation de Active Directory).
Une "sorte d'intranet" est aussi utilisé, depuis longtemps, par Free puisque les adresses mafreebox.freebox.fr pointe sur la Freebox de chacun (du moins vu de l'intérieur du réseau local), bien que l'adresse semble être publique.
Qui est impacté ?
Dur à dire! Pour le moment, il semblerait qu'uniquement les régies Google Ads et Doubleclick soient touchées. On pourrait cependant penser que le système pourrait s'élargir pour également éradiquer le piratage, la pédopornographie, etc. Cependant, et nous le verrons au point suivant, ca n'est pas un système complexe à déjouer.
Comment passer outre ?
La première solution, et la plus simple, reste de désactiver la fonctionnalité dans l'interface d'administration de la Freebox. Il est également possible de configurer le serveur DHCP de la Freebox pour utiliser des serveurs DNS alternatifs et enfin il est possible de forcer son serveur DNS dans la configuration se son système d'exploitation.
Quelles sont les conséquences ? Free peut il remplacer les pubs des autres par les siennes ?
Techniquement, oui ! Free pourrait remplacer les pubs des régies par celles de sa propre régie. Cependant, dans les faits c'est assez compliqué.
Généralement, quand un site passe un contrat avec une régie, il récupère un identifiant pour son site ainsi qu'un identifiant pour la campagne (et cet identifiant détermine le format de la pub). Free pourrait remplacer le contenu mais aurait beaucoup de mal à envoyer un contenu au bon format !
D'un point de vue économique, c'est tout le modèle de contenu gratuit avec publicité qui pourrait être remis en question. Si il est beaucoup question actuellement de la presse française, il ne faut pas oublier non plus que des mastodontes comme Facebook et Google sont basés sur la publicité.
Alors certes, pour le moment c'est une petite partie des abonnés (tout le monde n'a pas la Freebox Revolution) d'un FAI qui possède autour de 25% des parts de marché du 8è pays connecté, donc un chiffre pas forcément significatif. Mais qui sait si ceci peut faire un effet boule de neige ?