Il est inutile de le répéter, les CAPTCHA sont terriblement préjudiciables à l'expérience utilisateur. Nous l'avons déjà évoqué en détail dans ce blog et en avons maintes fois parlé dans d'autres publications. Un des créateurs du CAPTCHA a même déclaré publiquement qu'il regrettait d'avoir « involontairement créé un système qui gaspillait, par épisodes de dix secondes, des millions d'heures d'une ressource des plus précieuses : les cycles du cerveau humain ». Nous n'aimons pas les CAPTCHA, et vous ne les aimez pas non plus.
Nous avons donc décidé de ne plus utiliser les CAPTCHA. En adoptant une approche itérative basée sur une plateforme, nous avons déjà réduit de 91 % le nombre de CAPTCHA que nous choisissons d'afficher au cours de l'année passée.
Avant d'examiner comment nous y sommes parvenus et comment vous pouvez nous aider, commençons par une question simple.
Pourquoi diable utilise-t-on encore les CAPTCHA ?
Si tout le monde s'accorde à dire que les CAPTCHA sont une calamité, si d'aucuns lancent des appels pour y mettre un terme depuis 15 ans et si même leur créateur regrette de les avoir créés, pourquoi sont-ils encore largement utilisés ?
La vérité est frustrante : les CAPTCHA restent un outil efficace pour différencier les utilisateurs humains des bots, malgré l'existence de services de résolution de CAPTCHA. Bien sûr, cette approche implique un énorme compromis en termes de convivialité, mais en règle générale, les alternatives aux CAPTCHA consistent à bloquer ou à autoriser le trafic, ce qui augmente intrinsèquement les faux positifs ou les faux négatifs. Confrontés à la nécessité de choisir entre une augmentation du nombre d'erreurs et une expérience utilisateur satisfaisante, c'est-à-dire l'utilisation de CAPTCHA, de nombreux sites optent pour ces derniers.
Les CAPTCHA constituent également un choix sûr, car ils sont utilisés par de nombreux autres sites. Ils permettent de déléguer à un tiers la réponse aux abus et d'éliminer, par le biais d'une intégration simple, le risque du site web. L'utilisation de la solution la plus répandue vous mettra rarement dans l'embarras. Connectez, exécutez, oubliez.
Enfin, les CAPTCHA sont utiles parce qu'ils possèdent une longue histoire, avec une base de référence connue et stable. Nous suivons depuis de nombreuses années un indicateur appelé « taux de résolution des CAPTCHA » (ou des tests). Le taux de résolution des CAPTCHA est le nombre de CAPTCHA résolus divisé par le nombre de chargements de pages. À cette fin, l'incapacité de résoudre un CAPTCHA ou l'absence de tentative de résolution de celui-ci est considérée comme un échec, puisque dans les deux cas, l'utilisateur ne peut accéder au contenu désiré. Nous constatons que cet indicateur métrique est habituellement stable pour un site web donné. En d'autres termes, si le taux de résolution est de 1 %, il a tendance à rester de 1 % dans le temps. Nous constatons également que toute fluctuation du taux de résolution, à la hausse ou à la baisse, est un indicateur fort d'une attaque en cours. Les clients peuvent analyser leurs journaux afin de surveiller les fluctuations du taux de résolution et d'enquêter sur d'éventuels incidents en cours.
De nombreuses alternatives aux CAPTCHA ont été testées, parmi lesquelles notre solution d'attestation cryptographique. À ce jour, toutefois, aucune n'a bénéficié de l'adoption généralisée des CAPTCHA, et nous pensons que la tentative de remplacer les CAPTCHA par une alternative unique en est la principale raison. Lorsque vous remplacez les CAPTCHA, vous perdez le bénéfice de l'historique stable du taux de résolution, et la prise de décisions devient plus difficile. Si vous délaissez le déchiffrage de texte pour la sélection d'images, vous obtiendrez des résultats très différents. Comment savoir si ces résultats sont bons ou mauvais ? C'est pourquoi nous avons opté pour une approche différente.
De nombreuses solutions, plutôt qu'une solution unique
Plutôt que d'essayer de rendre obsolète et de remplacer unilatéralement les CAPTCHA par une alternative unique, nous avons créé une plateforme permettant de tester de nombreuses solutions, afin de déterminer laquelle est la plus propice pour remplacer les CAPTCHA. Nous l'appelons Cloudflare Managed Challenge.
Managed Challenge est une solution plus intelligente que les CAPTCHA. Elle reporte la décision d'afficher ou non une énigme visuelle à un moment ultérieur du flux, après que le navigateur ait fourni plus d'informations. Auparavant, les seules actions associées à une règle de sécurité ou de pare-feu que pouvait choisir un client de Cloudflare étaient un CAPTCHA ou une vérification JavaScript. Désormais, l'option Managed Challenge décidera de soumettre aux visiteurs une énigme visuelle ou un autre moyen de prouver leur caractère humain en fonction du comportement présenté par le client pendant un test et des informations télémétriques que nous recevons du visiteur. Un client nous dit simplement : « Je veux que vous (Cloudflare) preniez les mesures appropriées pour tester ce type de trafic si vous le jugez nécessaire ».
Avec Managed Challenge, nous adaptons le résultat réel du test à chaque visiteur ou navigateur. Ainsi, nous pouvons ajuster la difficulté du test et éviter de soumettre des énigmes visuelles à plus de 90 % des requêtes d'humains, tout en présentant des tests plus difficiles aux visiteurs présentant des comportements non humains.
Lorsqu'un visiteur se voit présenter un test de Managed Challenge, nous exécutons d'abord une série de vérifications JavaScript sans interaction, afin de réunir davantage de signaux concernant l'environnement du visiteur et du navigateur. Cela signifie que nous déployons des détections et des vérifications intégrées au navigateur au moment où la requête est transmise. Les vérifications sont sélectionnées en fonction des caractéristiques présentées par le visiteur et des informations initiales dont nous disposons sur lui. Ces vérifications comportent, sans s'y limiter, des preuves de travail, des preuves de capacité, des recherches d'API web et différentes autres vérifications permettant de détecter des singularités du navigateur ou des comportements humains.
Elles incluent également des modèles d'apprentissage automatisé permettant de détecter les caractéristiques communes aux utilisateurs finaux ayant précédemment été capables de résoudre un CAPTCHA. La complexité des calculs liés à ces vérifications initiales peut varier selon les visiteurs, mais elle est conçue pour assurer une exécution rapide. Managed Challenge est également intégré aux solutions de gestion des bots de Cloudflare et Super lutte contre les bots, en consommant des signaux et des données issus des détections de bots.
Après l'exécution de nos vérifications sans interaction, nous évaluons les signaux recueillis. Si, en associant ces signaux, nous sommes convaincus que le visiteur est probablement humain, aucune autre action n'est effectuée et le visiteur est redirigé vers la page de destination sans qu'aucune interaction ne soit nécessaire. Cependant, dans certains cas, si le signal est faible, nous présentons une énigme visuelle au visiteur, afin qu'il fournisse la preuve de son humanité. Dans le contexte de Managed Challenge, nous expérimentons également d'autres solutions priorisant la confidentialité et permettant d'attester le caractère humain des visiteurs, afin de continuer à réduire les occurrences dans lesquelles Managed Challenge utilise une étape d'énigme visuelle.
Nous avons commencé à tester Managed Challenge l'année dernière, et nous avons initialement fait notre choix parmi un sous-ensemble changeant de tests, l'un d'eux étant les CAPTCHA. Au début, les CAPTCHA étaient encore utilisés dans la grande majorité des cas. Nous avons comparé le taux de résolution du nouveau test en question au taux existant et stable de résolution de CAPTCHA. Nous avons donc utilisé le taux de résolution de CAPTCHA comme un objectif à atteindre à mesure que nous améliorions nos alternatives aux CAPTCHA, en progressant au fil du temps. La plateforme de tests permet à nos ingénieurs de créer, déployer et tester facilement de nouveaux types de vérifications, sans impacter l'expérience des clients. Lorsqu'un test s'avère inutile, nous le supprimons tout simplement. Lorsqu'il s'avère utile, nous augmentons la fréquence de son utilisation. Afin de préserver la « réalité du terrain », nous choisissons également aléatoirement un petit sous-ensemble de visiteurs qui doivent toujours résoudre une énigme visuelle, afin de valider nos signaux.
Managed Challenge est plus performante que les CAPTCHA
La plateforme de tests a maintenant atteint le même taux stable de résolution que les CAPTCHA utilisés auparavant.
En recourant à une approche itérative basée sur une plateforme, nous avons réduit de 91 % le nombre de CAPTCHA que nous présentons. Ce n'est que le commencement. D'ici la fin de l'année, nous réduirons à moins de 1 % notre utilisation de CAPTCHA en tant que test. En passant outre l'étape de l'énigme visuelle pour pratiquement tous les visiteurs, nous sommes en mesure de réduire de 32 secondes en moyenne à une seconde seulement le temps que consacre un visiteur à un test, le temps pour nous d'exécuter nos vérifications sans interaction. Nous constatons également des améliorations en matière de désabonnement : nos données télémétriques indiquent que les visiteurs présentant des caractéristiques humaines sont 31 % moins susceptibles de renoncer à résoudre un test de Managed Challenge qu'une action CAPTCHA traditionnelle.
Aujourd'hui, la plateforme Managed Challenge utilise plusieurs tests différents. Une instance de Managed Challenge comprend de nombreux sous-tests : certains sont établis et efficaces, tandis que d'autres sont de nouveaux tests que nous expérimentons. Tous sont beaucoup, beaucoup plus rapides et faciles à utiliser que les CAPTCHA et ne nécessitent pratiquement jamais d'interaction de la part du visiteur.
Managed Challenge remplace les CAPTCHA pour Cloudflare
Nous avons maintenant déployé Managed Challenge sur l'ensemble du réseau Cloudflare. Chaque fois que nous présentons un CAPTCHA à un visiteur, c'est par le biais de la plateforme Managed Challenge, et cela constitue uniquement un indicateur pour confirmer que nos autres tests sont aussi performants.
Tous les clients de Cloudflare peuvent désormais opter pour Managed Challenge, au lieu des CAPTCHA, en guise de réponse à toute règle de pare-feu. Nous avons également mis à jour notre tableau de bord, afin d'encourager tous les clients de Cloudflare à faire ce choix.
Vous remarquerez que nous avons changé le nom de l'option CAPTCHA en « Legacy CAPTCHA » (ancien CAPTCHA). Cela décrit plus précisément ce que sont les CAPTCHA : un outil obsolète que, selon nous, les personnes ne devraient pas utiliser. En conséquence, l'utilisation des CAPTCHA sur le réseau de Cloudflare a considérablement diminué, tandis que l'utilisation de Managed Challenge a considérablement augmenté.
Comme nous l'avons indiqué ci-dessus, les CAPTCHA représentent aujourd'hui 9 % des résolutions sur Managed Challenge (en bleu clair), mais ce chiffre diminuera pour atteindre moins de 1 % d'ici la fin de l'année. Vous verrez également la barre grise ci-dessus, qui indique que nos clients ont choisi d'afficher un CAPTCHA en réponse au déclenchement d'une règle de pare-feu. Nous voulons que ce chiffre tombe à zéro, mais la bonne nouvelle est que 63 % des clients optent désormais pour Managed Challenge, plutôt que les CAPTCHA, lorsqu'ils créent une règle de pare-feu avec une action de réponse basée sur un test.
Nous nous attendons à ce que ce nombre augmente encore au fil du temps.
Si vous utilisez le pare-feu WAF de Cloudflare, connectez-vous dès aujourd'hui au tableau de bord et vérifiez toutes vos règles de pare-feu. Si l'une de vos règles utilise la réponse « Legacy CAPTCHA » (ancien CAPTCHA), modifiez-la maintenant ! Optez plutôt pour la réponse « Managed Challenge »: vous offrirez à vos utilisateurs une meilleure expérience, tout en préservant le même niveau de protection qu'aujourd'hui. Si vous n'êtes pas encore client de Cloudflare, restez à l'écoute pour découvrir comment vous pouvez réduire votre utilisation des CAPTCHA.