Life

Je suis un humain, M'sieur L'Ordinateur, je le jure!

Slate.com, mis à jour le 06.12.2014 à 9 h 29

Ça suffit, ces espèces de gribouillis que les sites Web utilisent pour empêcher le spam; il est temps de passer à autre chose.

Si seulement quelqu'un, en 1996, avait écouté l'informaticien Moni Naor, prouver de nos jours qu'on est bien un humain quand on surfe sur le Net serait certainement plus intéressant. Naor était l'un des premiers à suggérer que la seule façon d'empêcher les vilains bots d'infiltrer le Web c'était de proposer aux humains des tests assez simples mais qu'eux seuls pourraient résoudre. Dans un manuscrit jamais publié, Naor en présentait 9 dont un test où l'on doit donner le sexe de la personne représentée sur une image, des phrases à compléter, et un quiz où il faut identifier l'individu qui ne porte aucun vêtement.

Hélas, au lieu de jouer à «retrouve celui qui est tout nu» à chaque fois qu'on ouvre un compte email, on se coltine des séries de lettres complètement illisibles appelées CAPTCHAs. Bon, ne soyons pas de mauvaise foi : ces tests ont été terriblement efficaces pour lutter contre le spam. Mais même un pionnier du CAPTCHA comme Luis von Ahn, qui a reçu la bourse MacArthur des génies pour son travail sur ces gribouillis - même lui a reconnu que ça n'était pas la solution miracle et qu'à un moment on allait être obligés de trouver autre chose. Si ces tests de lettres à identifier sont une réussite, cela reste une méthode plutôt rudimentaire pour essayer d'éliminer les bots, et ceux-ci sont devenus tellement omniprésents sur le Net que prouver son humanité est presque devenu une obligation.

On a tous horreur du spam, mais utiliser des CAPTCHAs comme première ligne de défense revient à tuer un moustique avec un marteau. On ne devrait demander aux internautes de jouer à Pictionary qu'en cas de force majeure, sur des sites sensibles comme par exemple les services d'email gratuit qui sont utilisés pour spammer, justement. Est-ce que j'ai vraiment besoin de résoudre un CAPTCHA pour envoyer un mail à un prof d'anglais de l'Université d'Auburn?

Jouer à «devinez quelles sont ces lettres?» est LA stratégie adoptée depuis une dizaine d'années dans la lutte contre les bots. Plus les spammeurs sont devenus malins, plus les CAPTCHAs sont devenus difficiles à résoudre. De nos jours, donc, on ne s'étonne plus de voir des êtres de chair et de sang se planter complètement à ces tests, échouant ainsi à prouver leur qualité d'Homo Sapiens à leur ordinateur.

Il y a quelque chose d'extraordinairement vexant à se faire contester son humanité par une machine. Mais ne rejetez pas la faute sur l'ordinateur: alors que les humains sont tout à fait capables de repérer une machine qui essaie d'imiter un humain sur Internet - le classique test de Turing - il est plus compliqué d'exiger la même chose d'un ordinateur. Surtout que les hackers apprennent de mieux en mieux à leurs machines à lire. On peut régulièrement voir dans la presse spécialisée que tel ou tel CAPTCHA a été crackée par des spammeurs, et souvent le débat est de savoir s'ils ont pour cela utilisé la reconnaissance optique de caractères (ROC) ou simplement payé des gens en Inde pour les résoudre. (Ce site, par exemple, propose de résoudre 1.000 CAPTCHAs pour 2 dollars US). Un ingénieur chez Google m'a avoué qu'ils avaient recueilli des preuves d'attaques «ROC» sur leurs CAPTCHAs, mais qu'apparemment la majorité d'entre elles ont été lancées par des humains.

On essaie aujourd'hui de faire avancer ces «contrôles d'humanité» avec de nouveaux tests auxquels on a apporté nombre d'améliorations. Google tente les images retournées, puisque les machines ont du mal à différencier le haut du bas. Von Ahn teste un programme appelé reCAPTCHA et qui permet en plus de numériser des livres grâce aux mots ainsi identifiés par les gens (il affirme que reCAPTCHA, déjà utilisé par 100.000 sites, n'a toujours pas été cracké). Et si vous avez envie de jeter un œil à d'autres suggestions dont certaines sont complètement farfelues, lisez cet article, vous y trouverez des jeux sur les associations de mots et même des tests avec des taches d'encre.

Il ne fait aucun doute que ces avancées vont rallonger la durée de vie du système CAPTCHA de plusieurs années, mais je ne suis pas convaincu que ce soit l'objectif à atteindre. Les développeurs devraient plutôt laisser tomber ce système où les humains doivent prouver qu'ils le sont, surtout sur les sites qui n'ont que très peu de risque d'être pris pour cible par les spammeurs (ne le prenez pas mal, à l'UFR d'anglais d'Auburn). L'idéal serait un logiciel qui soit capable de distinguer tout seul s'il a à faire à un humain ou non.

Il existe déjà certaines techniques intéressantes qui vont dans ce sens, et qui réussissent à éliminer les spambots les moins sophistiqués. James Edwards est développeur, et il propose une vue d'ensemble de quelques alternatives non-interactives. Ma préférée est la défense dite du «pot de miel» : puisque les bots existent à l'intérieur même du Net et voient du code HTML à la place des jolies pages Web que nos navigateurs nous montrent, il leur est difficile de savoir ce qu'un humain peut ou ne peut pas voir. Ainsi, lorsqu'ils voient un formulaire à remplir - disons, pour poster un commentaire sur un blog - ils ont tendance à remplir absolument tous les champs et à essayer ensuite de valider. Le «pot de miel» ici, c'est un champ invisible aux humains : on ne saurait pas que ce champ existe, et même si on le savait, on n'aurait aucun moyen d'y accéder. Si le site Web reçoit des informations dans ce champ, c'est qu'un bot est probablement en action, et le site peut donc automatiquement rejeter le commentaire.

Mais les spammeurs sont, bien évidemment, des gens plutôt zélés, compétents, et surtout qui ne se laissent pas facilement avoir. Quiconque tenterait d'attaquer un site précis n'aurait pas de problème à contourner sa défense. Mais pour les sites qui sont les cibles de bots «itinérants» lançant des attaques de grande envergure, ce genre de solution est la plus judicieuse.

S'il faut une protection plus «solide», j'ai bon espoir en des systèmes tels qu'Akismet, qui utilise des algorithmes très complexes sur les commentaires d'un blog pour déterminer s'il s'agit oui ou non de spam.  Un peu comme ces filtres email anti-spam qui examinent le contenu d'un message et donnent ou non leur feu vert. Ces filtres se sont beaucoup améliorés ces dernières années - impossible de nos jours de passer incognito en épelant votre produit R0lex. Un autre de ces systèmes, Bad Behavior, se vante de n'avoir même pas à jeter un œil au contenu. Pour identifier les spammeurs, ils utilisent à la place un procédé similaire à un relevé d' «empreintes digitales» (selon leurs propres termes) basé sur des caractéristiques techniques comme l'adresse IP ou les détails d'une requête HTTP. Ils exploitent aussi une des faiblesses des spammeurs, qui sont en général des programmeurs peu soigneux, et qui laissent derrière eux moult traces numériques montrant qu'on a bien affaire à un spambot.

Là est la clé qui nous permettra de laisser les infâmes gribouillis derrière nous. Comme l'a exposé Alan Turing en 1950 dans un article présentant son fameux test, le but est de déterminer si un ordinateur peut se comporter comme un humain, pas s'il peut effectuer les mêmes tâches. La raison pour laquelle les CAPTCHAs ont une date de péremption c'est qu'ils servent à estimer une aptitude, pas un comportement. Toute l'histoire de l'informatique nous prouve qu'un jour les machines seront capables d'accomplir toutes sortes de tâches - comme identifier des mots, par exemple - qui pour l'instant nous semblent n'être qu'à la portée des humains.

Comment faire, alors, pour analyser un comportement plutôt qu'une aptitude? L'autre jour, j'écrivais un mail à une société en me servant de leur formulaire en ligne, et comme d'habitude, je tapais quelques mots, j'effaçais, je récrivais, essayant d'être le plus clair possible pour qu'ils me répondent rapidement. Et là, je me suis dit qu'il serait extrêmement compliqué pour un bot de reproduire cette façon complètement aléatoire qu'ont les gens d'interagir avec une page Web - scroller, surligner, taper, effacer, re-taper... Un système capable d'analyser le comportement des humains lorsqu'ils remplissent un formulaire et d'en tirer des algorithmes nous libérerait enfin d'avoir à prouver quoi que ce soit.

Quelle que soit la solution qui remplacera les CAPTCHAs, celle-ci devra être gratuite, facile à installer pour le blogueur ou l'administrateur lambda, et fonctionner sur tout un tas de plates-formes. Il me semble qu'une des raisons qui fait que les CAPTCHAs sont si populaires, c'est qu'il est extrêmement simple des les implémenter - parfois aussi simple qu'une case à cocher. Plus il y aura d'algorithmes en guerre contre les bots dans les méandres du Net, mieux ce sera.

En attendant, on n'a toujours pas résolu l'éternelle question : est-ce que c'est un W, ou bien un V collé à un I?

Chris Wilson

Article traduit de l'anglais par Nora Bouazzouni

Slate.com
Slate.com (483 articles)
captchacodespamtechnologieweb
En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de cookies pour réaliser des statistiques de visites, vous proposer des publicités adaptées à vos centres d’intérêt et nous suivre sur les réseaux sociaux. > Paramétrer > J'accepte