Test de Turing : origine et applications actuelles

SERVEUR-00004-altospam

Authentifier les expéditeurs en dernier recours

Le test de Turing est devenu un élément quasi-incontournable des actions faites en ligne, en particulier lors d’un processus d’authentification. Quelles sont l’origine et les formes d’application de cette technique détestée par les spammeurs et les internautes pressés ?

L’origine du test de Turing remonte aux travaux en matière d’Intelligence Artificielle dans les années 40-50, lorsqu’il s’est agi de définir un critère permettant de qualifier une machine d’intelligente. En 1950, le mathématicien Alan Turing imagine donc un test par lequel un homme, utilisant un clavier et un écran d’ordinateur, pose la même question à l’ordinateur et à l’homme. Si l’interrogateur est incapable de faire la distinction entre les réponses données par l’ordinateur et celles données par l’homme, on peut alors affirmer que la machine (ou le programme qui y tourne) est intelligente. Parmi les critiques du test de Turing, le philosophe américain John Searle réfuta le principe même du test, arguant que la machine ne pouvait être en aucun cas intelligente même si elle produit les mêmes réponses qu’un homme, parce qu’elle se contente d’utiliser des symboles suivant des règles définies, et ne comprend pas la signification de ces symboles. Il illustra cette réfutation par le fameux exemple de la Chambre Chinoise.

On sait que l’une des raisons de l’efficacité redoutable des spams est l’automatisation de leur envoi. Parmi les méthodes antispam, les solutions les plus efficaces reposent sur la capacité de distinguer l’homme de la machine. Elles reposent sur les classes de tests dites Human Interactive Proof (HIP) dont l’objectif est de permettre à un être humain de réaliser une authentification sécurisée afin d’être reconnu comme membre d’un groupe. Lorsque l’objectif plus spécifique du test HIP est de faire la distinction entre l’être humain et la machine, il est alors appelé CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart) ou encore test de Turing automatisé. A la différence du test de Turing classique, le but n’est donc plus de prouver à un interrogateur humain qu’il a affaire à un autre être humain, mais à une machine qu’il a affaire ou non à un humain. Dans le cas de la lutte antispam plus spécifiquement, à la distinction homme/machine s’ajoute la capacité de pénaliser la vitesse à laquelle le spammeur envoie ses spams : s’il doit manuellement effectuer un test à chaque spam envoyé, il perd énormément de temps et sa capacité de nuisance est considérablement amoindrie.

Un CAPTCHA a pour but de présenter un problème insurmontable pour une machine et facilement traitable pour un homme. Il doit donc être facilement et rapidement réalisable par un être humain, accepter tous les utilisateurs humains, être impossible à surmonter pour toute machine et pouvoir résister à toute attaque même si son algorithme et ses données sont connus. On retrouve différents types de CAPTCHA : test à base de texte (basé sur l’incapacité de la machine à déchiffrer du texte distordu et dégradé inséré dans des images), test à base d’image (l’utilisateur doit résoudre un problème de reconnaissance de formes ou basé sur la signification des images), test à base d’audio (avec un texte oral qui fait l’objet de distorsions et de bruits de fond importants).
L’application des principes du test de Turing dans la lutte antispam se base donc sur des systèmes de challenge/réponse : lorsqu’on reçoit un email susceptible d’être un spam, on le bloque et on envoie un email en retour avec un « challenge » afin de confirmer que l’expéditeur est un être humain et non un robot. Si l’expéditeur répond correctement, son mail est libéré et il n’aura plus à effectuer ce test par la suite.

Le test de Turing par challenge/réponse est très efficace lorsqu’il vient en complément et après les autres méthodes antispam, lorsqu’il s’agit notamment de traiter les faux positifs. Plutôt que de bloquer immédiatement un expéditeur qui écrit pour la première fois et qu’on soupçonne d’être un spammeur, il vaut mieux lui poser la question. En bout de traitement, c’est donc une solution pertinente. Au contraire, il n’est pas recommandé de le placer au début de la chaîne, car il risque de pénaliser des expéditeurs tout à fait légitimes qui se verront obligés de confirmer des mails. Certaines solutions se contentent d’utiliser les tests de Turing de façon systématique sur tous les messages entrants, en gérant heureusement aussi une liste blanche. ALTOSPAM, quant à lui, n’utilise le test de Turing qu’en dernier recours lorsqu’un email est interprété par les autres technologies comme spam, permettant ainsi de gérer les cas de faux positifs éventuels.

Nous vous invitons à poursuivre votre lecture par notre article présentant les inconvénients des solutions n’utilisant que le test de Turing.

Et si vous testiez les solutions d’Altospam?

Des milliers de DSI, RSSI et Responsables Informatiques nous font déjà confiance pour la protection de leur e-mails contre le phishing, spear phishing, ransomware, …