Home topics Cos'è CAPTCHA? Cos'è CAPTCHA?
CAPTCHA autentica gli utenti come esseri umani per prevenire le minacce poste dai bot dannosi.
Disegno isometrico che mostra diversi impiegati di un ufficio che utilizzano tutti IBM Security
Cos'è CAPTCHA?

CAPTCHA, acronimo di "Completely Automated Public Turing Test* to Tell Humans Apart", ossia "Test di Turing pubblico e completamente automatico per distinguere computer e umani", si riferisce a diversi metodi di autenticazione per convalidare che un utente è un essere umano e non un bot sottoponendolo a un test con una prova semplice per un essere umano ma difficile per una macchina. I CAPTCHA impediscono ai truffatori e agli spammer di utilizzare dei bot per compilare i moduli web a fini dolosi.

I CAPTCHA tradizionali chiedevano agli utenti di leggere e ridigitare correttamente del testo distorto che non poteva essere interpretato dalla tecnologia di riconoscimento ottico dei caratteri (OCR). Le iterazioni più recenti della tecnologia CAPTCHA utilizzano analisi comportamentali e dei rischi basate sull'AI per autenticare gli essere umani in base agli schemi di attività invece che a una singola attività distinta.

Molti siti web richiedono agli utenti di completare un test CAPTCHA prima di accedere a un profilo dell'account, inoltrare un modulo di registrazione, pubblicare un commento o eseguire qualche altra azione che gli hacker potrebbero eseguire utilizzando un bot. Superando il test, agli utenti riconosciuti come essere umani è consentito continuare la loro attività sul sito web.

L' evoluzione del CAPTCHA

Le prime forme di tecnologia CAPTCHA sono state sviluppate da vari gruppi diversi in parallelo tra la fine degli anni '90 e l'inizio degli anni 2000. Ciascun gruppo stava lavorando per contrastare il diffuso problema degli hacker che utilizzavano i bot per svolgere attività illecite su internet. Ad esempio, gli scienziati informatici che lavoravano per il motore di ricerca AltaVista volevano impedire ai bot di aggiungere indirizzi web dannosi al database dei collegamenti dell'azienda.

I ricercatori dell'azienda IT Sanctum presentarono una richiesta di brevetto per il primo sistema in stile CAPTCHA nel 1997. Ma il termine CAPTCHA fu coniato nel 2003 da un gruppo di ricercatori di computer science presso la Carnegie Mellon University guidato da Luis von Ahn e Manuel Blum. Questo team fu ispirato a lavorare sulla tecnologia da un dirigente di Yahoo che aveva tenuto un discorso sui problemi dell'azienda con gli spambot che registravano milioni di falsi account e-mail.

Per risolvere il problema di Yahoo, von Ahn e Blum crearono un programma del computer che 1) generava una stringa di testo casuale, 2) generava un'immagine distorta di quel testo (detto 'codice CAPTCHA'), 3) presentava l'immagine all'utente, e 4) chiedeva all'utente di immettere il testo in un campo del modulo e di inoltrare quindi l'immissione facendo clic su una casella di spunta accanto alla frase 'I am not a robot' (Non sono un robot). Poiché la tecnologia di riconoscimento ottico dei caratteri (OCR) dell'epoca aveva difficoltà a decifrare un testo così distorto, i bot non riuscivano a superare il test CAPTCHA. Se un utente immetteva la stringa di caratteri corretta, si poteva presumere in modo attendibile che fossero degli esseri umani e veniva loro consentito di completare la registrazione di un account o l'invio di un modulo web.

Yahoo implementò la tecnologia della Carnegie Mellon, richiedendo a tutti gli utenti di superare un test CAPTCHA prima di registrare un indirizzo e-mail. Ciò ridusse drasticamente l'attività degli spambot e altre aziende procedettero all'adozione dei CAPTCHA per proteggere i loro moduli web. Nel tempo, tuttavia, gli hacker hanno utilizzato i dati dai test CAPTCHA completati per sviluppare algoritmi in grado di superare tali test in modo affidabile. Questo ha segnato l'inizio di una corsa agli armamenti che continua tuttora tra sviluppatori di CAPTCHA e criminali informatici che è stata alimentata dall'evoluzione della funzionalità CAPTCHA.

reCAPTCHA v1

Lanciato da von Ahn nel 2007, reCAPTCHA v1 aveva un duplice intento: rendere i test CAPTCHA basati sui test più difficili da superare per i bot e migliorare l'accuratezza del riconoscimento ottico dei caratteri (OCR) utilizzato all'epoca per digitalizzare i testi stampati.

reCAPTCHA raggiunse il primo obiettivo aumentando la distorsione del testo presentato all'utente ed eventualmente aggiungendo delle linee che correvano lungo il testo.

Raggiunse il secondo obiettivo sostituendo una singola immagine di testo distorto generato casualmente con due immagini di testo distorto di parole scansionate da testi reali da due diversi programmi OCR. La prima parola, o parola di controllo, era una parola che veniva identificata correttamente da entrambi i programmi OCR; la seconda parola era una parola che entrambi i programmi OCR non erano in grado di identificare. Se l'utente identificava correttamente la parola di controllo, reCAPTCHA 1) presumeva che l'utente fosse un essere umano e gli consentiva di continuare l'attività che stava svolgendo, e 2) presumeva anche che l'utente stesse identificando correttamente la seconda parola e utilizzava la risposta per verificare i futuri risultati di OCR.

In questo modo, reCAPTCHA migliorò la sicurezza anti-bot e migliorò l'accuratezza dei testi digitalizzati presso l'Internet Archive e il New York Times. (Paradossalmente, col tempo contribuì anche a migliorare gli algoritmi di AI e machine learning al punto che, entro il 2014, erano in grado di identificare i CAPTCHA di testo distorto il 99,8% delle volte).

Nel 2009, Google acquistò reCAPTCHA e iniziò a utilizzarlo per digitalizzare i testi per Google Books offrendolo al contempo come un servizio ad altre organizzazioni. Tuttavia, man mano che la tecnologia OCR progrediva con l'aiuto di reCAPTCHA, lo stesso succedeva per i programmi di AI che potevano risolvere efficacemente i reCAPTCHA basati sul testo. Di tutta risposta, Google introdusse nel 2012 i reCAPTCHA di riconoscimento delle immagini, che sostituirono il testo distorto con immagini prese da Google Street View. Gli utenti dimostravano che erano esseri umani identificando oggetti del mondo reale come semafori e taxi. Oltre ad aggirare l'OCR avanzato ora messo in campo dai bot, questi reCAPTCHA basati sulle immagini erano considerati più pratici per gli utenti di app su dispositivi mobili.

Google ReCAPTCHA v2: No CAPTCHA reCAPTCHA

Nel 2014, Google ha rilasciato reCAPTCHA v2, che ha sostituito i test basati su testo e immagini con una semplice casella di spunta che indica "Non sono un robot". Quando gli utenti selezionano la casella di spunta, reCAPTCHA v2 analizza le sue interazioni con le pagine web, valutando fattori quali la velocità di digitazione, i cookie, la cronologia del dispositivo e l'indirizzo IP per determinare se è probabile che un utente sia un essere umano. Anche la casella di spunta fa parte della modalità di funzionamento del CAPTCHA: no CAPTCHA reCAPTCHA tiene traccia dei movimenti del mouse dell'utente quando fanno clic sulla casella. I movimenti di un essere umano tendono ad essere più caotici, mentre i movimenti dei robot sono più precisi. Se no CAPTCHA reCAPTCHA sospetta che un utente possa essere un bot, gli presenta un test CAPTCHA basato su un'immagine. 

ReCAPTCHA v3

reCAPTCHA v3, presentato nel 2018, fa a meno della casella di spunta e amplia l'analisi del rischio basata sull'AI di no CAPTCHA reCAPTCHA. ReCAPTCHA v3 si integra con una pagina web tramite API JavaScript ed è in esecuzione in background, assegnando un punteggio al comportamento di un utente su una scala che va da 0,0 (probabilmente un bot) a 1,0 (probabilmente un essere umano). I proprietari dei siti web possono impostare delle azioni automatizzate da attivare in specifici momenti quando il punteggio di un utente suggerisce che potrebbe essere un bot. Ad esempio, i commenti nei blog da utenti con un punteggio basso possono essere inviati a una coda di moderazione quando fanno clic su "invia" oppure può essere chiesto loro di completare un processo di autenticazione a più fattori quando tentano di eseguire l'accesso in un account.

Rimuovendo i test interattivi dal processo di verifica CAPTCHA, i metodi di autenticazione basati sull'AI come reCAPTCHA v3 cercano di aggirare il problema degli hacker che utilizzano test risolti in precedenza per addestrare i bot a superare i nuovi CAPTCHA. Per questo motivo, gli esperti ritengono che i CAPTCHA basati sull'AI potrebbero diventare la norma, sostituendo completamente i CAPTCHA basati sui test nei prossimi 5-10 anni.

Casi di utilizzo di CAPTCHA

Come misura di rilevamento e prevenzione dei bot, la tecnologia CAPTCHA ha diversi usi comuni, inclusi i seguenti:

Prevenzione di false registrazioni. Chiedendo agli utenti di superare un test CAPTCHA prima di eseguire la registrazione per un account e-mail, un profilo di social media o un altro servizio online, le aziende possono filtrare i bot che mirano a utilizzare questi servizi per diffondere posta indesiderata o malware o per condurre altre attività dannose. Le prime ad adottare CAPTCHA sono state aziende come Yahoo, Microsoft e AOL, che volevano impedire ai bot di registrare falsi account e-mail.

Protezione contro le transazioni sospette. Aziende come Ticketmaster hanno utilizzato CAPTCHA per impedire ai bot di acquistare prodotti disponibili in quantità limitata, come i biglietti per i concerti, e rivenderli su mercati secondari.

Protezione dell'integrità dei sondaggi online. Senza un deterrente come CAPTCHA, i sondaggi online possono essere compromessi dai bot. Alcuni dei primi esperimenti di una tecnologia simile a CAPTCHA sono stati motivati dall'esigenza di proteggere l'integrità dei risultati dei sondaggi online. Ad esempio, per garantire la qualità dei suoi sondaggi d'opinione online durante le elezioni presidenziali statunitensi del 1996, la Digital Equipment Corporation ha chiesto agli utenti di individuare e fare clic su un'immagine pixellata di una bandiera sulla pagina web prima di esprimere il loro voto.

Arresto della posta indesiderata che ha per oggetto commenti e recensioni dei prodotti. Truffatori e criminali informatici utilizzano spesso le sezioni dei commenti di blog e articoli per diffondere truffe e malware; possono anche dedicarsi alla posta indesiderata che ha per oggetto le recensioni, in cui pubblicano un gran numero di false recensioni per incrementare artificiosamente la posizione in classifica di un prodotto su un sito web di eCommerce o un motore di ricerca. I bot possono anche utilizzare le sezioni dei commenti non protette per portare avanti campagne persecutorie. Queste attività dannose possono essere mitigate chiedendo agli utenti di completare un CAPTCHA prima di pubblicare un commento o una recensione.

Protezione contro gli attacchi di forza bruta e con dizionario. Negli attacchi di forza bruta e con dizionario, gli hacker violano un account utilizzando i bot per provare le combinazioni di numeri, lettere e caratteri speciali finché non trovano la password corretta. Questi attacchi possono essere fermati richiedendo agli utenti di completare un CAPTCHA dopo un certo numero di tentativi di accesso non riusciti.

Svantaggi di CAPTCHA

Sebbene si sia generalmente dimostrata efficace nel fermare i bot, la tecnologia CAPTCHA non è priva di compromessi.

Esperienza utente scomoda. I test CAPTCHA aggiungono un passo supplementare ai processi di registrazione, accesso e completamento di moduli che qualcuno trova fastidioso. Inoltre, poiché la complessità di CAPTCHA è aumentata per sconfiggere i bot più sofisticati, risolvere i CAPTCHA è anche diventato frustrante per gli utenti. In uno studio del 2010, quando i ricercatori della Stanford University hanno chiesto a gruppi di tre persone di risolvere gli stessi CAPTCHA, i partecipanti concordavano unanimemente sulla soluzione dei CAPTCHA solo il 71% delle volte (PDF, 2,5 MB; link esterno a IBM.com). Lo studio ha anche rilevato che le persone non di madrelingua inglese hanno maggiori difficoltà a risolvere i CAPTCHA rispetto ai madrelingua, il che suggerisce che i CAPTCHA possano essere più impegnativi per alcuni gruppi demografici rispetto ad altri.

Inaccessibilità. I CAPTCHA di testo e immagini possono essere estremamente difficili o impossibili da risolvere per gli utenti ipovedenti. Ciò è aggravato dal fatto che i programmi di utilità di lettura dello schermo non sono in grado di leggere la maggior parte dei test CAPTCHA perché questi ultimi sono progettati per essere illeggibili dalle macchine.

Delle forme alternative di CAPTCHA hanno provato ad affrontare questo problema ma hanno le loro limitazioni. I CAPTCHA audio, che chiedono agli utenti di decifrare audio alterato, sono notoriamente difficili da risolvere. Il summenzionato studio della Stanford ha rilevato che gli utenti concordano unanimemente sulle soluzioni di CAPTCHA audio solo il 31% delle volte.

MAPTCHA, un tipo di CAPTCHA che chiede agli utenti di risolvere semplici problemi matematici, è altamente vulnerabile a essere superato dagli algoritmi.

L'utilizzo di CAPTCHA inaccessibili può anche avere ripercussioni legali. L'emendamento della sezione 508 al Rehabilitation Act del 1973, introdotto nel 1998, impone che le agenzie federali statunitensi e le organizzazioni private che intrattengono con esse rapporti di business rendano le informazioni digitali accessibili alle persone con disabilità. Le aziende potrebbero violare questo requisito se non dispongono di opzioni CAPTCHA accessibili.

Tassi di conversione più bassi. L'esperienza utente scomoda e l'inaccessibilità dei CAPTCHA possono ripercuotersi negativamente sui tassi di conversione. In un case study del 2009 di 50 siti web, chiedere agli utenti di completare un CAPTCHA ha ridotto le conversioni legittime del 3,2%  (collegamento esterno a IBM.com). I CAPTCHA audio possono essere particolarmente deleteri: il summenzionato studio della Stanford ha rilevato che gli utenti rinunciano a risolvere i CAPTCHA basati sui suoni il 50% delle volte.

L'AI dei bot continua ad evolversi per superare i nuovi CAPTCHA.Gli schemi CAPTCHA sono cambiati così tante volte dall'inizio della tecnologia perché i bot si sono evoluti costantemente per superare ogni nuovo test CAPTCHA. La struttura stessa della tecnologia CAPTCHA contribuisce a questo problema perché i CAPTCHA si basano su problemi di AI irrisolti per contrastare i bot. Quando risolvono i test CAPTCHA, gli esseri umani generano dei dataset che possono addestrare gli algoritmi di machine learning a superare questi problemi AI precedentemente impossibili. Ad esempio, nel 2016, il ricercatore di computer science Jason Polakis ha utilizzato la ricerca di immagini inversa di Google per risolvere i CAPTCHA basati su immagini di Google con un'accuratezza del 70%.

Preoccupazioni in materia di privacy. Mentre le nuove forme di CAPTCHA tentano di risolvere i problemi di accessibilità e porre un freno alla corsa alle armi dei bot rimuovendo del tutto i test interattivi, alcuni utenti e ricercatori ritengono invasivi i CAPTCHA basati sull'AI. Le persone hanno espresso preoccupazioni circa il modo in cui reCAPTCHA v3 utilizza codici e cookie per tenere traccia degli utenti su più siti web. Alcuni ritengono che non ci sia abbastanza trasparenza su come questi dati di tracciamento potrebbero essere utilizzati per scopi diversi dalla verifica.

*Un test di Turing, dal nome del suo creatore Alan Turing, testa la capacità di una macchina di esibire un'intelligenza come quella umana.

Soluzioni correlate
IAM (Identity and Access Management)

Connetti ogni utente al giusto livello di accesso con la soluzione IAM IBM Security Verify.

Esplora le soluzioni IAM
Autenticazione avanzata

IBM Security Verify ti consente di andare oltre l'autenticazione di base con le opzioni per l'autenticazione senza password o a più fattori.

Esplora l'autenticazione avanzata
Accesso adattivo

Proteggi in modo proattivo gli utenti e gli asset con l'autenticazione basata sui rischi e assistita dall'AI con IBM Security Verify.

Esplora le soluzioni di accesso adattivo
Risorse Cos'è IAM (Identity and Access Management)?

IAM consente agli amministratori IT di assegnare, autenticare, autorizzare e gestire una singola identità digitale per ogni utente o entità nella rete.

Cos'è l'autenticazione a più fattori (MFA, multi-factor authentication)?

L'MFA richiede almeno un fattore di autenticazione in aggiunta ad una password, o almeno due fattori di autenticazione invece di una password, per autenticare gli utenti.

Cos'è SSO (Single Sign-On)?

SSO consente agli utenti di eseguire l'accesso a una sessione una sola volta, utilizzando un singolo set di credenziali di accesso, e di accedere a più applicazioni e servizi correlati durante tale sessione.