Cosa sono i Captcha e a cosa servono

Mai sentito parlare di CAPTCHA? Nome piuttosto bizzarro, eh? Naturalmente siamo di fronte a un acronimo (sigla) che sta per: “completely automated public Turing test to tell computers and humans apart“, cioè: ‘Test di Turing pubblico del tutto automatico per distinguere tra computers ed esseri umani’. Da notare che l’espressione ‘test di Turing’ fa riferimento ad un criterio per stabilire se una macchina sia o no in grado di pensare, criterio elaborato dal celebre matematico inglese Alan Turing (rievocato nel recente film The imitation game), considerato l’inventore della scienza informatica e dell’intelligenza artificiale.

In sostanza, il CAPTCHA è una specie di esamino informatico, basato su una o più domande e risposte, per stabilire se l’utente di un programma sia un essere umano (come dovrebbe essere) oppure un computer (come a volte succede).

Il test CAPTCHA più comune o conosciuto è quello in cui tutti noi ci siamo prima o dopo imbattuti: in pratica ci viene chiesto di copiare, scrivendoli alla tastiera del computer, le lettere e/o i numeri di una determinata sequenza: tali caratteri alfanumerici appaiono volutamente e appositamente alterati e distorti, in modo che solo un essere umano (o almeno così dovrebbe essere) sia in grado di identificarli e riportarli correttamente nello spazio indicato.

A differenza dell’originale test di Turing, gestito da una persona in carne ed ossa, i CAPTCHA sono condotti da un computer e sono quindi del tutto automatizzati, per cui solo in particolari casi viene richiesta l’azione umana ad esempio per compiere operazioni di manutenzione. Naturalmente questa automazione risulta fondamentale per la limitazione dei costi e per assicurare una affidabilità assoluta.

I CAPTCHA videro la luce nel 1997 per iniziativa del settore ricerca e sviluppo di Altavista (uno dei primi motori di ricerca veloci, nato nel 1995 a Palo Alto, in California), guidato da Andrei Broder. Lo scopo era di bloccare i bot (abbreviazione di robot, cioè programmi informatici che entrano in rete utilizzando le stesse procedure usate dagli utenti umani) impedendo loro di accedere a forum, registrazioni presso siti web, scrittura di commenti personali al fine di creare spam e violare la sicurezza dei siti stessi.

Broder e il suo gruppo svolsero ricerche sul sistema di riconoscimento usato dagli scanner e scoprirono che le caratteristiche di un qualsiasi testo, per poter essere agevolmente riconosciuto da una macchina, erano le seguenti: caratteri chiari e ben riconoscibili; omogeneità tra i font (tipi di caratteri) presenti nel testo; sfondo uniforme e nettamente riconoscibile rispetto alle parole. Broder e collaboratori compresero, così, che il miglior modo per rendere un testo non comprensibile ad un dispositivo automatico (un programma gestito da un computer) era quello di elaborare e proporre testi con alterazioni grafiche, cioè con caratteri distorti, presenza di numerosi font e lettere con colori simili a quello dello sfondo. L’applicazione di tali accorgimenti portò Broder a dichiarare di essere riuscito a diminuire lo spam del 95% e oltre.

Indipendentemente dagli informatici di Altavista, nel 2000 alcuni ricercatori brevettarono svariati programmi di questo tipo e contribuirono a divulgare l’idea stessa di test CAPTCHA: si trattava dei matematici Von Ahn, Blum e Hopper della Carnegie Mellon Universitye e di Langford della IBM. I test CAPTCHA da loro ideati furono i primi ad essere utilizzati su scala planetaria, anche grazie all’adozione da parte di Yahoo, uno dei più importanti e diffusi motori di ricerca al mondo.

Ma i CAPTCHA funzionano davvero? Ebbene, a partire dal 2003 furono inventati vari tipi di software intelligenti in grado di aggirare test CAPTCHA di varia tipologia.

Inoltre, oggi l’ostacolo dei test informatici sembra essere stato aggirato in maniera piuttosto banale, ma molto efficace: sembra, infatti, che il migliore sistema anti-CAPTCHA (anche se forse non il più economico) sia divenuto pagare esseri umani: da un recente studio, infatti, è emerso come una persona sia in grado di risolverne anche centinaia in tempi molto ristretti, ad esempio una sola ora o poco più.