I captcha non servono più, i bot li risolvono meglio degli umani

Quando ci registriamo a un sito web per la prima volta, oppure effettuiamo una transazione online, spesso ci viene richiesto di dimostrare che non siamo dei robot e il metodo di verifica utilizzato è il cosidetto codice captcha – Completely Automated Public Turing Test to Tell Computers and Humans Apart -.

Si tratta di un test di verifica che permette di convalidare se l’utente è umano o meno attraverso riconoscimento di immagini, scritte distorte o cliccando semplicemente su un apposito box. Ma come funzionano questi codici? E soprattutto, è vero che i bot hanno imparato a risolverli meglio degli umani? Scopriamolo insieme

La nascita del codice captcha fino alla loro quasi inutilità

Il termine captcha fu coniato da Luis von Ahn, Nicholas J. Hopper e John Langfor e si tratta di un test che si basa su quello di Turing per comprendere se l’utente è un umano o meno.

Esempio captcha con il testo da riscrivere
Foto | Wikimedia Commons @Mover of molehills – Cryptohack.it

Il test di Turing, ricordiamolo, è un particolare tipo di test che serve a valutare la capacità di una macchina di esibire comportamenti equivalenti o indistinguibili da quelli di un umano.

captcha sono dunque test che risultano essere relativamente semplici da risolvere per gli umani, che infatti impiegano in media circa 10 secondi, e pressoché irrisolvibili per un computer.

L’importanza di introdurre test di questo tipo deriva dalla necessità di proteggere un sito web da attacchi informatici sferrati da bot automatici: che cosa succederebbe se un bot inondasse di richieste di registrazione un server?!

Attacchi di questo tipo vengono definiti DDoS – Distributed Denial of Service – e si verificano quando un utente malevolo genera verso un server traffico, al fine di rendere impossibile lo stesso al traffico legittimo.

Ora uno studio pubblicato su arXiv, ma non ancora rivisto in peer review dalla comunità scientifica, ha constatato che questi captcha potrebbero servire poco o nulla, poiché i bot sarebbero diventati più veloci ed efficaci degli umani a risolverli.

Da quando nel 2019 Google sostituì i captcha con i ReCAPTCHA, una versione più avanzata del test, il capo del reparto tecnico Aaron Malenfant dichiaro a The Verge che quella tecnologia non sarebbe servita più a nulla nel giro di dieci anni perché i bot avrebbero imparato a risolvere anche quei test.

Il nuovo studio ha analizzato 200 dei siti web più popolari, 120 dei quali usavano i captcha. Hanno chiesto a 1000 persone di diverso sesso, età, provenienza e livello educativo di risolvere dieci diversi tipi di test valutandone la difficoltà.

Per alcuni i partecipanti hanno impiegato tra i 9 e i 15 secondi, con una precisione tra il 50 e l’84%: i bot, al contrario, hanno impiegato in media meno di un secondo, con una precisione quasi assoluta; “In genere i bot erano precisi tra l’80 e il 100%, con una media superiore al 96%” scrivono i ricercatori.

Il tempo di risoluzione dei test da parte dei bot è stato significativamente inferiore a quello degli umani in tutti i casi, tranne con i re-captcha, dove gli umani hanno impiegato in media 18 secondi e i bot 17,5 secondi.

I test captcha tra il box, il testo distorto e le immagini

Il box Non sono un robot è basato su un semplice box da spuntare che è posto, tipicamente, a fianco alla scritta non sono un robot. Ma come fa un test così banale, a verificare che chi effettua l’operazione è un umano?

Re-CAPTCHA di Google
Foto | Google Developers https://developers.google.com/ – Cryptohack.it

Il test è stato brevettato da Google, il quale ha acquisito un popolare sistema di captcha che prende il nome di reCAPTCHA.

Questo box dunque ha un meccanismo di analisi completamente diverso rispetto a quelli basati sul riconoscimento del testo o elementi di un’immagine. Infatti ciò che viene analizzato in questo caso non è il click in sé ma la lista di operazioni che l’utente ha effettuato prima e dopo tale click.

Quando si clicca il tasto non sono un robot, un programma cerca di analizzare una serie di parametri svolti dall’utente come i movimenti del mouse effettuati, le azioni che l’utente fa subito dopo aver cliccato, le pagine visitate in precedenza e altro.

Google negli anni ha continuato a sviluppare reCAPTCHA ampliando la lista di controlli e modificando il comportamento del test, nelle ultime sue versioni i test sull’analisi del comportamento dell’utente possono partire anche senza che vi sia la comparsa a schermo del box,  tuttavia qualora i test abbiano esito dubbio o negativo il box verrà mostrato per consentire un’analisi ulteriore.

Passiamo poi al captcha con testo distorto, una tipologia molto diffusa: viene chiesto all’utente di scrivere in un box di testo l’equivalente di ciò che legge in un’immagine distorta.

In questo caso ciò che viene testata è la capacità di tradurre un input visivo nel suo equivalente testuale, la distorsione apportata all’immagine è necessaria al fine di rendere computazionalmente svantaggioso ad un computer tentare di risolvere quel test.

Le variazioni al testo possono includere rotazioni, distorsioni o fusioni tra le lettere, viene spesso applicato anche uno sfondo che consente di confondere ulteriormente le lettere all’interno dell’immagine.

Di questo tipo di captcha ne esiste anche la versione sonora che è basato sull’ascolto di un audio disturbato delle lettere distorte mostrate a schermo.

Infine ci sono i captcha basati sulle immagini: questi si basano su un principio di funzionamento analogo a quelli su immagini di testo distorto.

Se per un umano è semplice individuare i riquadri contenenti determinati oggetti (automobili, semafori, strisce pedonali etc…) per un programma questo compito non è così banale: il computer dovrebbe comprendere cosa il test richiede di trovare, analizzare l’immagine, comprenderne gli elementi e individuare quali riquadri contengono il dato elemento.

Qui c’è una difficoltà aggiuntiva rispetto al riconoscimento del solo testo, perché un computer dovrebbe anche associare una data parola – ad esempio semafori – all’oggetto corrispondente e ritrovarlo all’interno di ciascuna immagine.

Questa tipologia di captcha risulta, quindi, più sicura rispetto a quella basata sul solo testo. Di contro i test basati su testo e immagini introducono delle difficoltà in termini di accessibilità per utenti che, seppur umani, siano affetti da patologie che ne limitano le capacità visive e/o uditive.

Gestione cookie