Les captchas : faible sécurité pour un coût important

J’avais envie depuis quelques temps déjà d’écrire un billet sur les captchas, ces petits tests sensés nous différencier — nous, humains — des machines. L’élément qui m’a décidé à faire cet article est certainement l’annonce récente d’une création massive de comptes sur gmail et hotmail, les spammeurs ayant trouvé un moyen de contourner la vérification par captchas.
J’ai à ce propos trouvé plusieurs sites très intéressants, mais celui qui a le plus retenu mon attention est certainement l’article qu’y a consacré le W3C. Cette publication (en anglais), vraiment très complète, traite en fait des tests de Turing (pour différencier un humain d’un ordinateur), dont les captchas sont une solution.

Les captchas ne sont pas une protection contre le spam

Une chose qu’on oublie souvent, c’est que les captchas sont une protection contre la soumission automatique de formulaires. Pas contre le spam.

Certes, ça peut être considéré comme un moyen de lutter. Mais ce n’est pas le seul. Google par exemple veut éviter la soumission automatique de formulaires, le captcha est de ce fait totalement adapté. Mais les blogs — eux — veulent éviter le spam de commentaires par exemple. Il existe dans ce cas d’autres solutions moins invasives et moins discriminantes.

Mine de rien cette différence amène à se poser la question de l’utilité de la mise en place de captchas sur un site web par exemple. Car si quelqu’un trouve un moyen de contourner la protection — et on verra que c’est possible — le spam est permis et sans limite.

Les captchas seuls ne constituent pas une solution à long terme

À mon avis, un site web tel que Google ou Hotmail ne peuvent se reposer uniquement sur un système de captchas pour se protéger. Pourquoi ?

Tout simplement parce que :

  1. les images qu’on nous présente ne sont finalement pas si compliquées à déchiffrer, sauf si elles le sont vraiment trop pour un humain
  2. même si un programme se trompe 9 fois sur 10 sur un captcha, il passe tout de même 1 fois toutes les 10 tentatives ce qui est suffisant : il suffit d’itérer.

Google l’a d’ailleurs bien compris : dans l’article de 01 on apprend que les comptes frauduleux sur gmail sont détectés et supprimés assez rapidement. Le système de signalement de pourriel par les utilisateurs sert aussi à repérer les émetteurs… Astucieux.

Concernant la difficulté de déchiffrer les images, plusieurs projets de déchiffrement automatique ont vu le jour et j’en ai relevé trois particulièrement intéressants :

  • Breaking a visual Captcha, une approche permettant de résoudre plusieurs types de captchas ;
  • Captcha decoder, algorithme permettant de résoudre beaucoup de captchas ;
  • aiCaptcha, quand un prof d’IA veut tester par lui même et explique sa méthode.

La seule sécurité, pour les sites qui reposent sur des captchas, repose en fait à mon sens sur le fait que les spammeurs préfèrent utiliser des sites qui ne sont pas protégés du tout plutôt que de passer du temps à faire de l’IA. Quand tout le monde sera passé au captcha, il en sera autrement.

Les captchas sont inaccessibles par nature

C’est un fait, les captchas et d’autres solutions mises en place par des banques notamment sont inaccessibles.

  • Il est impossible de zoomer sur l’image
  • Certains captchas peuvent ne pas être lisibles par les personnes souffrant de daltonisme (8% des hommes), du fait d’un faible contraste entre les couleurs

Voici d’ailleurs un exemple d’un captcha particulièrement difficile à déchiffrer pour un humain à cause des couleurs utilisées. Et pour le coup ça doit être facile pour un ordinateur : fond uni, lettres non déformées, captcha très court. Ce captcha provient du blog d’herve kabla. J’espère que cette petite pub l’incitera à changer de système.

D’autres solutions comme les captchas auditifs sont tout autant inaccessibles (déficiences visuelles et auditives), certains sont même incompréhensibles.

Bref, tout cela pour dire qu’en utilisant des captchas, vous mettez des utilisateurs à la porte.

Les tests non interactifs

Alors, le captcha est une solution vouée à l’échec qui n’a pas de remplaçant plus satisfaisant ? Et bien si, il en existe.

Concernant la lutte contre le spam de commentaires sur des blogs par exemple, il existe des moyens peu coûteux de se protéger sans captchas. Un peu à la manière des filtres antispam dans les logiciels de messagerie. Akismet est la solution la plus connue : gratuite, la plupart des plates formes de blog ont leur plugin permettant de profiter de ce service.

Concernant la création de comptes email, il existe certainement un moyen de mettre en œuvre des méthodes heuristiques sur les comportements des utilisateurs, les adresses IP, etc. Ou encore de demander une interaction avec un téléphone par exemple (envoi d’un code d’activation par SMS).

Stop captchas

Voilà tout ce que je pense des captchas. En quelques mots pour les gens qui ont la flemme de tout lire, autant que j’ai la flemme de déchiffrer les captchas : évitez.

Utilisez les uniquement lorsque tout le reste a été mis en place.

Commentaires

11 Comments sur « Les captchas : faible sécurité pour un coût important »

  1. Spica dit :

    Tout à fait d’accord sur la conclusion : j’aime pas les captchas, et je filtre les commentaires automatiques de spam sur mon blog autrement que par un captcha. Quelques bidouilles trouvées ici ou là (même pas de filtre antispam), et pour l’instant, vu la fréquentation de mon blog, ça suffit amplement.

  2. Ghusse dit :

    Oui, j’ai vu le champ caché dans le code HTML. C’est une technique qui marche en effet, pour l’instant…
    😀

  3. La technique du champ caché existe depuis lgtps mais très peu utilisée.

  4. Tybo dit :

    Je rejoins cet avis !
    Akismet bloque 99% du spam, à quoi bon alourdir son site avec des caractères bien souvent illisibles ?

  5. Herve dit :

    Merci pour la remarque, j’avais reconnu le catchpa proposé par serendipity. Les catchpas, aussi contournables soient‐ils, restent un element essentiel sur mon blog, regulierement attaque par des campagnes de commentaires/retroliens. J’espere seulement que la version de s9y vers laquelle je migre actuellement proposera d’autres systemes plus performants…

  6. Ghusse dit :

    Tous les blogs sont attaqués par des campagnes de retroliens, le mien y compris. Ce que j’ai voulu montrer c’est que justement les captchas ne sont pas un élément indispensable pour lutter contre le spam : il en existe d’autres moins envahissants et qui laissent moins d’utilisateurs sur le carreau.
    Un système comme akismet par exemple fonctionne sans interaction avec l’utilisateur (pas de captcha illisible) avec autant d’efficacité.

    D’après ce que j’ai lu, Akismet est implémenté dans les nouvelles versions de serendipity. Akismet fonctionne comme un filtre anti spam de messagerie, sauf qu’il est alimenté par toute la communauté d’utilisateurs, ce qui le rend particulièrement performant. A la manière du filtre de gmail.

  7. Herve dit :

    Et bien on va voir ce que ca va donner, les catchpa sont disparu du KBlog depuis quelques heures…

  8. Ghusse dit :

    Merci !

    Je suis sûr que ça marche en tout cas : les 30 derniers jours ça m’a bloqué plus de 800 spams.

  9. Ghusse dit :

    Merci, j’en ai fait un article !

Laisser un commentaire