L’ampleur des cyberattaques contre les entreprises n’a jamais été aussi préoccupante. Le Rapport Hiscox déclare que 53 % des entreprises de moins de 10 salariés en France ont subi une attaque informatique (data.gouv.fr). Les conséquences sont préjudiciables, avec des pertes financières pouvant atteindre plusieurs centaines de milliers d’euros. Pour se protéger des cybercriminels et de leurs moyens de plus en plus sophistiqués, il est nécessaire de filtrer tout message de type spams grâce aux CAPTCHA. Ces solutions « traditionnelles » sont toujours utilisées, mais sont de plus en plus vulnérables face au développement de nouvelles technologies, comme l’apprentissage automatique. Existe-t-il des outils ou des moyens alternatifs capables d’apporter une plus grande sécurité ?
1. Qu’est-ce que le CAPTCHA ?
Le CAPTCHA est l’acronyme de « Completely Automated Public Turing test to tell Computers and Humans Apart ». Ce test de Turing est une mesure de sécurité pour des sites Web qui souhaitent protéger leurs abonnés des spams ou des tentatives de piratage. Pour cela, les utilisateurs répondent à une question constituée d’une série aléatoire de chiffres et/ou de lettres déformés. Ces images sont à priori indiscernables pour un robot (Google).
Google dispose de son propre système de cybersécurité nommé reCAPTCHA. Ce test en est déjà à sa troisième version à ce jour. Avant cela, les utilisateurs devaient reconnaître des mots (version 1), puis des feux de circulation ou des morceaux de véhicules dans une grille à neuf images (version 2). Ce défi s’enclenchait dès que l’activité de l’utilisateur semblait suspecte : suppression régulière des cookies, trafic important ou inhabituel, utilisation de VPN (Virtual Private Network), etc.
Avec sa troisième version, le reCAPTCHA n’interrompt plus l’utilisateur durant sa visite. Il lui attribue un score en fonction de son comportement sur le logiciel, grâce à une analyse basée sur l’Intelligence Artificielle (MailChimp). 1 signifie une interaction de bonne qualité, tandis 0 renvoie à la présence d’un bot. Entre ces deux extrêmes, le CAPTCHA attribue une note avec une ou deux décimales. Ces résultats se basent sur des actions spécifiques décidées par les administrateurs du site, comme « envoyer une demande d’ami ».
Non seulement les développeurs décident sur quelles pages Web ils souhaitent implémenter le test, mais ils peuvent décider des critères pour l’activer. Pour cela, il suffit d’inclure des fonctions particulières dans le code, comme function onSubmit (token) ou grecaptcha.execute (support Google).
2. Quelles sont les limites du reCAPTCHA ?
Malgré ses avancées, la version 3 du reCAPTCHA atteint rapidement ses limites, tout comme les autres tests CAPTCHA. Les pirates profitent des failles de sécurité, de solutions basées sur des API (interface de programmation d’application) ou des avancées liées à l’Intelligence Artificielle (IA). De manière générale, les problèmes liés aux CAPTCHA peuvent être rassemblés en trois grands points.
Les problèmes de confidentialité dus à la collecte des données
La collecte des informations personnelles, pour déterminer si le visiteur est humain ou un bot, pose des problèmes de confidentialité. Ces renseignements concernent l’adresse IP de l’utilisateur ou la capture d’écran de la fenêtre de son navigateur (Friendly Captcha). Or, Google applique une politique de confidentialité pour tous ses services, mais aucune n’est spécifique à ses tests de sécurité. Par conséquent, ce manque de transparence risque d’entrainer des sanctions en cas de non-respect du règlement général sur la protection des données (RGPD) européen.
L’adaptation constante des bots grâce à l’automatisation et l’apprentissage automatique
D’autre part, l’évolution des remèdes entraine fatalement la résistance des agents infectieux. En ce qui nous concerne, les bots se perfectionnent de plus en plus pour déjouer les tests CAPTCHA. De façon paradoxale, ces derniers deviennent de plus en plus complexes pour les humains. Les reconnaissances d’images ou les tests audiso en anglais excluent les personnes malvoyantes ou non anglophones de la visite du site. La lecture et le recopiage d’une série de lettres ou d’un mot précis s’avèrent problématiques pour des personnes dyslexiques.
De leur côté, les robots profitent des avancées en apprentissage automatique (machine learning) pour résoudre les CAPTCHA. Les réseaux de neurones convolutifs (CNN) identifient les images tandis que les outils de reconnaissance optique de caractères (OCR) résolvent les textes. Des outils d’automatisation de navigateur simulent un comportement humain, à l’image de Selenium ou de Puppeteer (Octoparse).
D’après une étude menée en 2023, les chercheurs des Universités de Californie et de Zurich montrent que les performances des machines surpassent celles des hommes. La précision des robots est supérieure à 85 %, alors que celle des humains varie entre 50 et 85 %. Le temps de résolution est également plus rapide pour les bots.
La dégradation de l’expérience utilisateur à cause de la récurrence des tests
Le propriétaire du site Web est libre d’imposer des contrôles supplémentaires sur les utilisateurs qu’il considère le plus à risque, en fonction des données reCAPTCHA. Or, cette pratique risque d’exclure arbitrairement certains visiteurs en fonction de leur comportement, jugé trop automatique, ou de multiplier les tests.
D’autant plus si l’utilisateur navigue sur le site ou sur l’application avec d’autres moyens que Google (VPN, bloqueur de suivi). En absence de données récupérées via les cookies, les défis CAPTCHA deviennent plus récurrents et entravent la fluidité de l’expérience (Friendly Captcha). La frustration est d’autant plus exacerbée que le temps de résolution de ces tests varie de 10 secondes pour les images à 30 secondes pour les audios (Datadome).
En cas d’erreur, l’utilisateur risque de renoncer à acheter son produit ou remplir son formulaire en ligne à cause d’une perte de données. Le taux de conversion de votre site Web ou de votre application subit un énorme revers.
3. Voici 4 solutions alternatives au reCAPTCHA : avantages et inconvénients
Face aux limites de reCAPTCHA, de nombreuses alternatives existent pour protéger votre site contre les bots ou les cyberattaques. Chacune de ces solutions dispose de ses avantages et de ses inconvénients, mais se distingue par sa discrétion ou l’automatisation de ses processus.
Honeypot (pot de miel)
Le pot de miel (honeypot) invite le robot à remplir un formulaire qui n’est pas visible par l’utilisateur humain. Cette dissimulation s’effectue grâce à des commandes CSS ou JavaScript (Dev to). Si les deux champs (visible et invisible) sont remplis, le bot est repéré et ne peut poursuivre son action.
Cette solution est gratuite, simple à coder et capable d’arrêter des bots simples. Cependant, les hackers comprennent rapidement le système de défense et le contournent en ajoutant quelques lignes de code. De plus, si un utilisateur passe par un logiciel de lecture d’écran ou qu’il désactive le CSS, il peut remplir le honeypot sans le savoir.
Solution avancée de protection contre les bots
Un outil comme DataDome constitue une solution plus complexe qu’un honeypot. En effet, il repose lui-même sur l’intelligence artificielle et l’apprentissage automatique pour mieux reconnaitre les bots. L’API s’installe avec le package NuGet, puis il analyse finement toutes les requêtes pour repérer celles qui s’effectuent automatiquement. Si c’est le cas, il demande à l’utilisateur en question de passer un test CAPTCHA.
Grâce à ses performances premium, cet outil est plus efficace pour différencier les robots des utilisateurs humains. Les propriétaires du site ont la possibilité de personnaliser leurs règles pour affiner davantage leur trafic. Cependant, tous ces services ont un cout non négligeable qui s’élève à plusieurs milliers de dollars par mois.
Pare-feu d’application web (WAF)
Un pare-feu d’application web (WAF) sert de filtre entre l’utilisateur et le serveur Web pour surveiller le trafic en HTTP ou HTTPS. Il assure la sécurité des API et des applications web contre les menaces suivantes (Cyber Management School) :
- les attaques par injection SQL ;
- les attaques DDoS ;
- les failles XSS ;
- la contrebande de requête HTTP ;
- etc.
De manière générale, ce pare-feu est suffisant pour vous protéger de certaines attaques, tout en se conformant au RGPD. Cependant, il se révèle impuissant face aux agissements de bots plus sophistiqués. De plus, il dépend trop des règles statiques basées sur les adresses IP.
Authentification multifactorielle (MFA)
L’authentification multifactorielle (MFA) consiste à vérifier l’identité des utilisateurs grâce à plusieurs facteurs d’identification. Ceux-ci sont séparés en trois familles (CloudFlare) :
- Ce que l’utilisateur connait : mot de passe, code PIN, numéro de sécurité sociale, réponse à une question secrète, etc.
- Ce qu’il possède : jeton USB, smartphone (envoi d’un code temporaire), carte à puce, etc.
- Les caractères qui lui sont propres : reconnaissance de la vue, de la voix, du visage, etc.
Cette solution est facile et peu couteuse à mettre en place. Néanmoins, elle nécessite le consentement des utilisateurs et ne protège pas contre certaines attaques, comme les DDoS (déni de service distribué) ou le scraping.
4. Voici 3 plugins CAPTCHA WordPress pour protéger votre site Web
Au-delà des logiciels de sécurité, il existe des plugins antispam sur le système de gestion de contenu (CMS) WordPress. Ces outils sont disponibles en version gratuite ou payante, mais représentent des solutions prêtes à l’emploi et faciles à utiliser. Les trois principaux sont :
- Akismet. Ce plugin de protection est le plus populaire, car il est installé par défaut lorsque vous créez un site sur WordPress. Il ne propose aucun CAPTCHA, mais analyse chaque commentaire pour bloquer les éventuels spams. Il est gratuit pour les blogs personnels, mais payants pour les sites e-commerces. De plus, il se révèle peu efficace contre des bots sophistiqués.
- CleanTalk. Ce plugin protège vos formulaires les plus populaires, ainsi que les espaces Login ou commentaires. Grâce à son algorithme, il fonctionne automatiquement sans qu’aucune intervention ne soit nécessaire. En analysant les interactions des utilisateurs, le plugin leur attribue un score de risque pour déterminer s’il doit les bloquer ou non. Malgré son automatisation, il n’est pas complètement personnalisable (ID Design).
- Antispam Bee. Selon les informations du Codeur, ce plugin est utilisé par plus de 400 000 sites. Les développeurs de site web l’apprécient, car son panneau de configuration est très intuitif. Ils choisissent les fonctions de sécurité qu’ils souhaitent implémenter. Néanmoins, cet outil de protection ne modère que les commentaires, et pas d’autres espaces visés par les pirates.
5. Conclusion
Avec l’émergence de l’Intelligence artificielle et la sophistication des bots, l’efficacité des CAPTCHA est de plus en plus compromise. D’autant plus que l’outil de Google se heurte à des soucis, comme le consentement pour la collecte des données ou l’impact négatif sur l’expérience utilisateur. Des méthodes alternatives existent, comme le honeypot ou le pare-feu d’application web, pour adapter sa défense aux menaces modernes. Mais, ces solutions ne sont pas infaillibles et dépendent du niveau de sécurité que vous recherchez.
C’est pourquoi la meilleure arme reste la vigilance et la surveillance de vos sites ou vos applications Web.