CAPTCHA, giuro "non sono un robot"

Technology

Dall'interpretazione ottica a ReCAPTCHA: l'evoluzione della tecnologia CAPTCHA, il suo funzionamento e il contributo dell'intelligenza artificiale.


Captcha

«C’è qualcosa di unicamente avvilente nel vedersi chiedere di identificare un idrante e nel faticare a farlo», ha scritto il giornalista Josh Dzieza. E come dargli torto?

Chiunque navighi online, si sarà sicuramente imbattuto nei CAPTCHA, quei test di sicurezza creati per distinguere gli utenti umani dai bot e che implicano il riconoscimento di numeri, lettere e suoni, o un semplice click per dichiarare “non sono un robot”.


Cosa significa CAPTCHA?


CAPTCHA potrebbe far pensare a “gotcha”, un termine inglese informale che significa “ti ho beccato“. L’associazione non è casuale: questi test sono progettati per “beccare” e fermare bot e programmi automatici.

Naturalmente, ha un significato più tecnico:

Completely Automated Public Turing (test to tell) Computers (and) Humans Apart, ovvero il Test di Turing.

Ideato da Alan Turing, un pioniere della crittografia del XX secolo, il Test di Turing è un metodo per valutare l’intelligenza di una macchina mettendo alla prova la capacità d’interazione del robot durante una conversazione uomo-macchina. Nel corso del dialogo, il partecipante non sa se sta interagendo con un’intelligenza artificiale o con un altro essere umano. Se non è in grado di distinguerli, il test è considerato superato.


Dal riconoscimento delle lettere a Google


La senti la musichetta di Superquark? Stiamo per farti uno spiegone.

Negli anni ’90 e nei primi anni 2000, l’aumento degli hacker che sfruttavano programmi automatizzati su internet spinse gli esperti informatici di diverse organizzazioni, inclusi quelli di AltaVista e Sanctum, a unire le forze per affrontare la nuova minaccia. I primi CAPTCHA, fondati sull’interpretazione ottica di lettere distorte, rappresentavano un baluardo contro l’accesso automatizzato ai siti web.

Gli utenti venivano sfidati a dimostrare “non sono un robot”, identificando e riscrivendo correttamente il testo visualizzato.

Con l’ampia diffusione dei CAPTCHA, i tentativi di spam e gli attacchi automatizzati hanno raggiunto una maggiore sofisticatezza. Nel corso del tempo sono stati quindi introdotti ulteriori miglioramenti; tra questi, i test basati sull’audio, ideati inizialmente per rendere i siti web più accessibili.


“Non sono un robot” di ReCAPTCHA


Il 2007 ha segnato l’ascesa del sistema ReCAPTCHA che, nato da un progetto di ricerca presso l‘Università Carnegie Mellon, ha rivoluzionato il concetto stesso di CAPTCHA.

L’idea di base era di creare un sistema che non solo proteggesse i siti web dagli spammer e dai bot, ma che allo stesso tempo contribuisse a digitalizzare libri e testi che i computer non potevano leggere. In altre parole, completando il CAPTCHA, gli utenti stavano supportando la digitalizzazione e l’accessibilità online di libri e documenti.

Dopo aver rilevato l’azienda nel 2009, Google ha lanciato nel 2014 il sistema “No CAPTCHA ReCAPTCHA” , apprezzato soprattutto per la semplicità d’uso: un semplice click o tocco sono sufficienti a dimostrare che “non sono un robot”.

Utilizzando tecnologie avanzate come il machine learning e l’analisi del comportamento dell’utente, il sistema del colosso statunitense è in grado di determinare con precisione se si tratti di un essere umano o meno.


Come funziona un CAPTCHA?


Dipende dalla tipologia.

  • Non sono un robot: il parametro utilizzato per il test di Turing si basa sull’insieme del comportamento dell’utente prima e dopo il click. Include per cui i movimenti del mouse, le azioni successive, i siti visitati precedentemente e altre variabili simili.

  • Testo distorto: gli utenti sono chiamati a decifrare un’immagine contorta trasformandola in caratteri e dimostrando la loro abilità nell’interpretare input visivi intricati. Le varianti possono includere giochi di rotazione, deformazioni o sovrapposizioni tra le lettere, insieme a uno sfondo che complica ulteriormente l’interpretazione. Di questo ne esiste anche una versione sonora.

  • Immagini: mentre noi umani possiamo distinguere facilmente gli oggetti in una foto, come macchine o semafori, per un computer è un’impresa più ardua. Deve interpretare la richiesta, esaminare l’immagine e identificare dove si trovano gli oggetti. Questo rende i test basati su immagini più sicuri, ma aggiunge anche un livello di complessità in più rispetto a quelli basati solo sul testo.

I difettucci dei CAPTCHA


Nonostante gli innumerevoli pro, la tecnologia CAPTCHA ha anche qualche contro.

Esperienza utente: le procedure online diventano più lunghe, creando disagio per un certo numero di utenti. La crescente complessità di tali test rende la loro risoluzione un’esperienza frustrante, come evidenziato da un’indagine condotta presso l’Università di Stanford nel 2010.

Bassi tassi di conversione: l’esperienza utente negativa e l’inaccessibilità dei test possono causare una flessione nelle conversioni sui siti web. Secondo uno studio del 2009 che ha coinvolto 50 siti web, l’utilizzo di CAPTCHA ha causato una diminuzione del 3,2% nelle conversioni legittime.

Occhio alla privacy: c’è chi, tra gli utenti e i ricercatori, vede con occhio critico i CAPTCHA guidati dall’intelligenza artificiale come reCAPTCHA v3, poiché fanno uso di codici e cookie per monitorare le attività degli utenti su diversi siti web. Questo solleva interrogativi riguardanti la trasparenza e l’impiego dei dati raccolti.


Strani modi di dire “Non sono un robot”


Di CAPTCHA strani ne è pieno il web. Ad alcuni utenti è stato chiesto di scovare tra immagini di cani quelli più sorridenti, ad altri di individuare nuvole che somigliano a cavalli. Un compito da niente? Se non fosse per la presenza delle nuvole-elefanti.

Ci sono poi CAPTCHA che mettono alla prova con graffiti di stili artistici differenti, chiedendoti di distinguere le lettere del codice in mezzo ai disegni, oppure di identificare una forma geometrica che sembra sfuggire alle leggi della fisica.

E se ti stai chiedendo se ne esistono di più insoliti, la risposta è sì. Nel 2014, Kevin Gimpel e il suo team hanno creato un CAPTCHA che mette a confronto foto di muffin e cuccioli di foca. La consegna richiede di selezionare solo una certa categoria di immagini tra una serie di rappresentazioni ingannevoli e distorte.

In bocca al lupo!

Nostro salvatore Intelligenza Artificiale?


Nel contesto CAPTCHA, l’uso dell’AI è finalizzato per lo più a migliorare la sicurezza informatica online e a ottimizzare il processo di autenticazione. Oltre a questo, l’IA è impiegata nel testare questa tecnologia. La sua crescente capacità di risoluzione è uno stimolo pe gli sviluppatori a migliorare costantemente le loro soluzioni.

Ma non è tutto oro quello che luccica.

Se i test diventeranno troppo complessi per essere risolti facilmente dagli utenti umani, si rischia di compromettere l’esperienza complessiva di navigazione: di fronte a un compito arduo, infatti, l’utente potrebbe scoraggiarsi e abbandonare il processo, causando perdite per il servizio o il sito web proprietario.

Ci sono allora altre soluzioni possibili per distinguere uomini e macchine? Sostituire un sistema ampiamente diffuso, anche se non gradito da molti, rimane ancora una sfida. Come disse già nel 2019 il professore di informatica Jason Polakis: «siamo a un punto in cui rendere le cose più difficili per un software finisce col renderle troppo difficili per la maggior parte degli umani. Servono alternative».