Cos'è il CAPTCHA?

CAPTCHA sta per "completely automated public Turing test* to tell computers and humans apart", ovvero "test di Turing pubblico e completamente automatico per distinguere computer e umani". Si riferisce a vari metodi di autenticazione che convalidano gli utenti come umani piuttosto che come bot presentando una verifica semplice da risolvere per gli umani ma difficile per le macchine.

I CAPTCHA impediscono a truffatori e spammer di utilizzare i bot per compilare moduli web per scopi dannosi.

I CAPTCHA tradizionali richiedevano agli utenti di leggere e riscrivere correttamente un testo distorto che non poteva essere interpretato dalla tecnologia di riconoscimento ottico dei caratteri (OCR). Le nuove versioni della tecnologia CAPTCHA utilizzano analisi comportamentali e di rischio basate sull'AI per autenticare gli utenti umani in base a modelli di attività piuttosto che a un singolo compito.

Molti siti web richiedono agli utenti di completare una verifica CAPTCHA prima di accedere al profilo di un account, inviare un modulo di registrazione, pubblicare un commento o eseguire altre azioni che gli hacker potrebbero utilizzare per eseguire un bot. Accettando la verifica, gli utenti confermano di essere umani e possono quindi continuare la loro attività sul sito web.

* Un test di Turing, dal nome del suo creatore Alan Turing, mette alla prova la capacità di una macchina di mostrare intelligenza umana.

L'evoluzione dei CAPTCHA

Diversi gruppi hanno sviluppato le prime forme di tecnologia CAPTCHA in parallelo tra la fine degli anni '90 e l'inizio degli anni 2000. Ogni gruppo ha lavorato per combattere il problema diffuso degli hacker che utilizzano i bot per attività dannose su internet. Per esempio, gli informatici che lavorano per il motore di ricerca AltaVista volevano impedire ai bot di aggiungere indirizzi web pericolosi al database dei collegamenti dell'azienda.

I ricercatori dell'azienda IT Sanctum hanno presentato il primo sistema in stile CAPTCHA nel 1997. Tuttavia, un gruppo di ricercatori di informatica presso la Carnegie Mellon University, guidato da Luis von Ahn e Manuel Blum, introdusse per la prima volta il termine CAPTCHA nel 2003. Questo team è stato ispirato a lavorare sulla tecnologia da un dirigente di Yahoo che aveva tenuto un discorso sui problemi dell'azienda, dove gli spambot che registravano milioni di account di posta elettronica falsi.

Per risolvere il problema di Yahoo, von Ahn e Blum hanno creato un programma per computer che:

  1. generava una stringa di testo casuale,
  2. generava un'immagine distorta di quel testo (chiamata "codice CAPTCHA"),
  3. presentava l'immagine all'utente,
  4. chiedeva all'utente di inserire il testo in un campo del modulo e quindi di inviare la risposta facendo clic su una casella di controllo accanto alla frase "Non sono un robot".

Poiché la tecnologia OCR dell'epoca faticava a decifrare un testo così distorto, i bot non riuscivano a superare la verifica CAPTCHA. Se un utente inseriva la stringa di caratteri corretta, si presumeva che fosse umano e che fosse autorizzato a completare la registrazione dell'account o l'invio del modulo web.

Yahoo ha implementato la tecnologia di Carnegie Mellon, richiedendo a tutti gli utenti di superare un test CAPTCHA prima di registrarsi per un indirizzo e-mail. Ciò ha ridotto significativamente l'attività degli spambot, e altre aziende hanno adottato CAPTCHA per proteggere i loro moduli web. Nel corso del tempo, tuttavia, gli hacker hanno utilizzato i dati delle verifiche CAPTCHA completate per sviluppare algoritmi in grado di superare in modo affidabile i test. Questo ha segnato l'inizio di una corsa agli armamenti tuttora in corso tra sviluppatori CAPTCHA e criminali informatici che ha alimentato l'evoluzione della funzionalità CAPTCHA.

reCAPTCHA v1

Lanciato da von Ahn nel 2007, reCAPTCHA v1 aveva un duplice obiettivo: rendere la verifica CAPTCHA basata su testo più difficile da decifrare per i bot e migliorare l'accuratezza dell'OCR utilizzato all'epoca per digitalizzare i testi stampati.

reCAPTCHA ha raggiunto il primo obiettivo aumentando la distorsione del testo visualizzato all'utente e infine aggiungendo righe trasversali sul testo.

Il secondo obiettivo è stato raggiunto sostituendo una singola immagine di testo distorto generato in modo casuale con due immagini di testo distorte di parole scansionate da testi reali da due diversi programmi OCR. La prima parola, o parola di controllo, veniva identificata correttamente da entrambi i programmi OCR. La seconda parola non veniva identificata da nessuno dei programmi OCR. Se l'utente identificava correttamente la parola di controllo, reCAPTCHA presumeva che l'utente fosse umano e gli permetteva di continuare l'attività. Inoltre, presumeva che l'utente identificasse correttamente la seconda parola e utilizzava la risposta per verificare i risultati OCR futuri.

In questo modo, reCAPTCHA ha migliorato la sicurezza anti-bot e l'accuratezza dei testi digitalizzati presso l'Internet Archive e il New York Times. Ironicamente, nel tempo ha anche contribuito a migliorare l'intelligenza artificiale e gli algoritmi di machine learning al punto che, nel 2014, erano in grado di identificare i CAPTCHA di testo più distorti nel 99,8% dei casi.

Nel 2009, Google ha acquisito reCAPTCHA e ha iniziato a utilizzarlo per digitalizzare i testi per Google Books, offrendolo come servizio ad altre organizzazioni. Tuttavia, con il progredire della tecnologia OCR con l'aiuto di reCAPTCHA, sono aumentati anche i programmi di AI in grado di risolvere efficacemente i reCAPTCHA basati su testo. In tutta risposta, Google ha introdotto i reCAPTCHA per il riconoscimento delle immagini nel 2012, che hanno sostituito il testo distorto con immagini tratte da Google Street View. Gli utenti dimostravano di essere umani identificando oggetti del mondo reale come lampioni e taxi. Oltre a eludere l'OCR avanzato ora distribuito dai bot, questi reCAPTCHA basati su immagini sono stati considerati più comodi per gli utenti di app mobili.

Google reCAPTCHA v2: No CAPTCHA reCAPTCHA

Nel 2014, Google ha rilasciato reCAPTCHA v2, che ha sostituito le sfide basate su testo e immagini con una semplice casella di controllo che indica "Non sono un robot". Quando gli utenti selezionano la casella, reCAPTCHA v2 analizza le interazioni dell'utente con le pagine web valutando fattori quali velocità di digitazione, cookie, cronologia dei dispositivi e indirizzo IP per determinare se un utente potrebbe essere umano. Anche la casella di controllo fa parte del funzionamento di CAPTCHA: nessun CAPTCHA reCAPTCHA tiene traccia dei movimenti del mouse dell'utente quando fa clic sulla casella. I movimenti umani tendono ad essere più caotici, mentre quelli dei bot sono più precisi. Se nessun CAPTCHA reCAPTCHA sospetta che l'utente sia un bot, gli presenta una sfida CAPTCHA basata sulle immagini. 

reCAPTCHA v3

reCAPTCHA v3, che ha debuttato nel 2018, ha eliminato la casella di controllo e ampliato l'analisi del rischio basata sull'AI senza CAPTCHA reCAPTCHA. ReCAPTCHA v3 si integra con una pagina web tramite l'API JavaScript e viene eseguito in background, assegnando un punteggio al comportamento di un utente su una scala da 0,0 (probabilmente un bot) a 1,0 (probabilmente un essere umano). I proprietari di siti web possono impostare azioni automatiche da attivare in determinati momenti, quando il punteggio di un utente suggerisce che potrebbe trattarsi di un bot. Ad esempio, i commenti sul blog degli utenti con un punteggio basso possono essere inviati a una coda di moderazione quando fanno clic su "Invia", oppure agli utenti con un punteggio basso può essere chiesto di completare un processo di autenticazione a più fattori quando tentano di accedere a un account.

I metodi di autenticazione basati sull'AI come reCAPTCHA v3 cercano di aggirare il problema degli hacker. Rimuovendo le sfide interattive dal processo di verifica CAPTCHA, impediscono agli hacker di utilizzare i dati delle sfide precedentemente risolte per addestrare i bot a decifrare nuovi CAPTCHA. Per questo motivo, gli esperti ritengono che i CAPTCHA basati sull'AI diventeranno la norma, sostituendo completamente i CAPTCHA basati sulle verifiche nei prossimi cinque-dieci anni.

Casi d'uso del CAPTCHA

La tecnologia CAPTCHA ha diversi usi comuni come misura di rilevamento e prevenzione dei bot, tra cui:

  1. Prevenzione delle registrazioni false
  2. Protezione dalle transazioni sospette
  3. Protezione dell'integrità dei sondaggi online
  4. Interrompere lo spam nei commenti e nelle recensioni dei prodotti
  5. Difesa contro attacchi di brute force e attacchi a dizionario

Prevenzione delle registrazioni false

Presentando agli utenti una verifica CAPTCHA prima che aprano un account e-mail, un profilo di social media o altri servizi online, le aziende possono bloccare i bot che utilizzano questi servizi per diffondere spam o malware o condurre altre attività nocive. I primi ad adottare CAPTCHA sono state aziende come Yahoo, Microsoft e AOL, che volevano impedire ai bot di registrarsi per account di posta elettronica falsi.

Protezione dalle transazioni sospette

Aziende come Ticketmaster hanno utilizzato i CAPTCHA per impedire ai bot di acquistare articoli limitati, come i biglietti dei concerti, per rivenderli sui mercati secondari.

Protezione dell'integrità dei sondaggi online

Senza un deterrente come il CAPTCHA, i bot possono compromettere i sondaggi online. L'esigenza di proteggere l'integrità dei risultati dei sondaggi online ha motivato alcuni dei primi esperimenti con tecnologie simili ai CAPTCHA. Ad esempio, per garantire la qualità dei sondaggi d'opinione online durante le elezioni presidenziali statunitensi del 1996, la Digital Equipment Corporation chiese agli utenti di individuare e cliccare l'immagine pixelata di una bandiera sulla pagina web prima di esprimere il proprio voto.

Interrompere lo spam nei commenti e nelle recensioni dei prodotti

I truffatori e i criminali informatici utilizzano spesso le sezioni dei commenti di blog e articoli per diffondere truffe e malware. Possono anche fare spam sulle recensioni, pubblicando un gran numero di recensioni false per aumentare artificialmente il posizionamento di un prodotto su un sito di e-commerce o un motore di ricerca. I bot possono anche utilizzare le sezioni di commento non protette per condurre campagne di molestie. Queste attività nocive possono essere mitigate chiedendo agli utenti di completare un CAPTCHA prima di pubblicare un commento o una recensione.

Difesa contro attacchi di brute force e attacchi a dizionario

Negli attacchi brute force e a dizionario, gli hacker entrano in un account utilizzando i bot per indovinare combinazioni di numeri, lettere e caratteri speciali fino a trovare 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 del CAPTCHA

Sebbene la tecnologia CAPTCHA si sia generalmente dimostrata efficace nel fermare i bot, non è priva di svantaggi, tra cui:

  1. Esperienze utente fastidiose
  2. Sfide di accessibilità
  3. Tassi di conversione ridotti
  4. La capacità dei bot AI di superare i nuovi CAPTCHA
  5. Problemi di privacy

Esperienze utente fastidiose

Le verifiche CAPTCHA aggiungono un ulteriore passaggio, da molti considerato fastidioso, ai processi di registrazione, accesso e completamento dei moduli. Inoltre, poiché la complessità dei CAPTCHA è aumentata per filtrare i bot più sofisticati, risolvere i CAPTCHA è diventato piuttosto frustrante per gli utenti. In uno studio del 2010, quando i ricercatori della Stanford University hanno chiesto a gruppi di tre persone di risolvere la stessa CAPTCHA, tutti i partecipanti hanno trovato la soluzione CAPTCHA solo nel 71% dei casi (link esterno a ibm.com). Lo studio ha anche rilevato che i non madrelingua inglese hanno più difficoltà a risolvere i CAPTCHA rispetto ai madrelingua, il che suggerisce che i CAPTCHA possono essere più difficili per alcuni gruppi demografici rispetto ad altri.

Sfide di accessibilità

I CAPTCHA di testo e immagini possono essere estremamente difficili o addirittura impossibili da risolvere per gli utenti ipovedenti. Ciò è peggiorato dal fatto che gli screen reader non sono in grado di leggere la maggior parte delle verifiche CAPTCHA proprio perché questi test sono progettati per essere illeggibili dalle macchine.

Esistono forme alternative di CAPTCHA che hanno tentato di risolvere questo problema, ma presentano dei limiti. I CAPTCHA audio, che richiedono agli utenti di decifrare un audio confuso, sono notoriamente difficili da risolvere. Il già citato studio di Stanford ha rilevato che tutti gli utenti trovano una soluzione ai CAPTCHA audio solo nel 31% dei casi.

Il MAPTCHA, un tipo di CAPTCHA che richiede agli utenti di risolvere semplici problemi matematici, è altamente vulnerabile ad essere decifrato dagli algoritmi.

L'utilizzo di CAPTCHA non accessibile può avere anche ripercussioni legali. L'emendamento alla Sezione 508 del Rehabilitation Act del 1973, introdotto nel 1998, richiede alle agenzie federali statunitensi e ai loro partner del settore privato di rendere le informazioni digitali accessibili alle persone con disabilità. Se non dispongono di opzioni CAPTCHA accessibili, le aziende violano questo requisito.

Tassi di conversione ridotti

La scomodità dell'esperienza utente e l'inaccessibilità dei CAPTCHA possono influire negativamente sui tassi di conversione. Secondo un case study del 2009 svolto su 50 siti web, richiedere agli utenti di completare un CAPTCHA riduceva le conversioni legittime del 3,2% (link esterno a ibm.com). I CAPTCHA audio possono essere particolarmente penalizzanti: lo studio di Stanford citato in precedenza ha rilevato che gli utenti rinunciavano a risolvere il CAPTCHA basati sul suono il 50% delle volte.

La capacità dei bot AI di superare i nuovi CAPTCHA

Gli schemi CAPTCHA sono cambiati così tante volte dalla nascita di questa tecnologia perché i bot sono costantemente in evoluzione per vincere ogni nuova sfida CAPTCHA. È la struttura stessa della tecnologia CAPTCHA a contribuire a questo problema, perché i CAPTCHA si affidano a problemi di AI irrisolti per contrastare i bot. Quando gli umani risolvono le verifiche dei CAPTCHA, generano set di dati in grado di addestrare algoritmi di machine learning per superare questi problemi precedentemente impossibili da risolvere per l'AI. Ad esempio, nel 2016, il ricercatore informatico Jason Polakis ha utilizzato la ricerca inversa di immagini di Google per risolvere i CAPTCHA basati su immagini di Google con il 70% di successo.

Problemi di privacy

Mentre le nuove forme di CAPTCHA cercano di risolvere i problemi di accessibilità e di rallentare la corsa agli armamenti contro i bot eliminando completamente le verifiche interattive, alcuni utenti e ricercatori trovano invasivi i CAPTCHA basati sull'AI Le persone hanno sollevato dubbi sul modo in cui reCAPTCHA v3 utilizza i codici e i cookie per monitorare gli utenti su più siti web. Alcuni ritengono che non ci sia abbastanza trasparenza sul modo in cui questi dati di monitoraggio potrebbero essere utilizzati per scopi che vanno oltre la verifica.

Soluzioni correlate
Gestione identità e accessi (IAM)

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

Esplora le soluzioni IAM
Autenticazione avanzata

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

Esplora l'autenticazione avanzata
Accesso adattivo

Proteggi proattivamente utenti e risorse con l'autenticazione basata sul rischio assistita dall'AI con IBM Security Verify.

Esplora le soluzioni di accesso adattivo
Produttività della forza lavoro

Trova l'approccio alla gestione delle identità e degli accessi (IAM) della forza lavoro più adatto a te.

Scopri di più sulle soluzioni di gestione delle identità e degli accessi per la forza lavoro
Fai il passo successivo

IBM Security Verify è una piattaforma di gestione delle identità e degli accessi (IAM) leader del settore che offre funzionalità basate su AI per la gestione della forza lavoro e delle esigenze dei clienti. Unifica i silo di identità, riduci il rischio di attacchi basati sull'identità e fornisci un'autenticazione moderna, incluse le funzionalità senza password.

Scopri Verify Prova Verify per 90 giorni