Archive pour 31 octobre 2006

CAPTCHAs : le pourquoi du pourquoi

mardi 31 octobre 2006

Certains de mes lecteurs ont peut-être remarqué la présence de ce que les connaisseurs appellent “CAPTCHA”, en bas de chacune de mes notes, au niveau des champs de saisie des commentaires. Il s’agit de ces images affichant un mot qu’il vous est demandé de restituer afin d’authentifier votre prose et lui permettre d’être affichée sur mon site. Vous en avez sûrement vu sur d’autres blogs ou sur des sites où il faut s’inscrire. Ils ne sont pas là pour vous embêter mais bien pour empêcher l’usage de robots remplissant les formulaires de façon automatisée pour générer du spam ou des perturbations de service.

CAPTCHA, c’est l’acronyme de “Completely Automated Public Turing test to tell Computers and Humans Apart“, ou en français : test de Turing entièrement automatisé afin de distinguer les hommes des ordinateurs.

Alan Mathison Turing était un mathématicien britannique qui est à l’origine de beaucoup des principes fondamentaux de l’automatisation des calculs et de l’intelligence artificielle. Le test éponyme est, à l’origine, un protocoles de confrontation verbale entre des machines et des humains : si l’ordinateur arrive à convaincre l’humain qu’il est lui-même un humain, la machine est déclarée avoir réussi le test. Chaque année, le meilleur “chatbot” ainsi créé reçoit le “Turing Award”.

Les CAPTCHAs tels que nous les connaissons (des filtres anti-robots pour formulaires en ligne) sont donc en réalité une des multiples facettes des tests de Turing, qui ont pour base l’intelligence artificielle. En l’occurence, l’idée est d’utiliser l’intelligence instinctive chez l’homme de reconnaissance des formes. Car oui, soyez-en assurés, l’humain est fort bien doté de ce point de vue : si reconnaitre des lettres quelles que soient leur style, leur taille et leur couleur est immédiat pour nous, l’informatique même moderne n’arrive pas à un tel degré d’exactitude à une vitesse approchant la nôtre.

Ces CAPTCHAs sont-ils donc infaillibles ? Ceux qui suivent un peu l’actualité technologique ont peut-être entendu parler de “proof of concept” prometteurs dans la reconnaissance de caractères, il ne s’agit pour l’instant que de moteurs réalisés en laboratoire, c’est à dire avec des ressources quasi-infinies. Des amateurs auraient également réussi à développer des algorithmes pour déjouer les CAPTCHAs de certains grands sites commerciaux… Mais chacun ayant sa propre façon de présenter leurs textes à reproduire, il faut se ré-adapter à chaque site. Opération difficile, surtout lorsqu’on sait que modifier le style d’affichage (ajouter des déformations, des lignes ou des points un peu partout, etc.), est très facile pour le webmaster.

Or, que recherchent les spammeurs ? A abuser de ce qui ne coûte rien : le spam existe principalement à cause de la gratuité du courrier électronique. Les CAPTCHAs, de par leur côté personnalisable, touchent donc les spammeurs à l’endroit où ils sont le plus sensibles : le portefeuille. Et on peut légitimement penser qu’ils ne s’amuseront pas à s’attaquer à un blog comme le mien. Et l’histoire le confirme : depuis leur introduction en 1997 par le moteur de référencement de sites d’AltaVista jusqu’aux formulaires d’inscriptions aux grands sites modernes de Google, Yahoo ou Hotmail, l’efficacité du concept reste dissuasive.

Voilà pourquoi, après divers essais d’outils anti-spam pour WordPress aux résultats variables, j’ai décidé qu’un système de CAPTCHAs serait la meilleure solution : en échange d’un seul mot supplémentaire à saisir pour chaque commentaire, une tranquillité absolue, sans risque de faux positif et des dizaines de minutes par semaine à vérifier/trier le spam de gagnées !