Cos’è un CAPTCHA e perché blocca i biglietti dei tuoi concerti?

10

Sei pronto per acquistare i biglietti per quello spettacolo locale. Il carrello è pieno. Vengono inseriti i dettagli del pagamento. Poi il muro si alza.

È un CAPTCHA.

L’acronimo sta per Completely Automated Public Turing Test to Tell Computers and Humans Apart. Sembra uscito da un thriller di fantascienza, ma è solo un buttafuori digitale. Il test non è difficile per gli esseri umani. Se sei una persona reale, te la caverai senza problemi. Per un computer? Dovrebbe essere quasi impossibile.

L’obiettivo è semplice: identificare i bot dannosi prima che possano compromettere i tuoi dati o il tuo acquisto.

Questi test sono noti anche come Human Interaction Proof (HIP). Li hai visti ovunque. La versione classica mostra una serie di lettere distorte e sfocate. Li digiti. Se corrispondi all’immagine, passi.

È così semplice. O lo era.

L’evoluzione delle sfide basate sulle immagini

I CAPTCHA basati su testo stanno invecchiando. I robot stanno diventando più intelligenti. Ora, le sfide legate al riconoscimento delle immagini sono lo standard.

Invece di digitare lettere, ottieni una griglia di foto. Autostrade. Strade della città. Parchi. Ti viene chiesto di selezionare immagini contenenti oggetti specifici.

  • Lampioni
  • Idranti
  • Biciclette
  • Attraversamenti pedonali

Seleziona le foto giuste. Supera la prova.

I CAPTCHA basati su immagini sono molto più difficili da decifrare per i bot rispetto a quelli basati su testo. Immagini distorte o scene sfocate ostacolano le tecniche di riconoscimento di un bot. Realizzare un test che solo un essere umano può risolvere richiede un’attenta progettazione.

Perché combattere i bot?

Perché creare un test per separare gli esseri umani dalle macchine?

Perché le persone cercano di ingannare il sistema. Sfruttano i punti deboli dei computer che eseguono il sito.

Questi individui sono una minoranza di utenti di Internet. Ma le loro azioni colpiscono milioni di persone.

Considera un servizio di posta elettronica gratuito. Senza un CAPTCHA, potrebbe essere bombardato da richieste di account automatizzate. Un programma automatizzato crea migliaia di account in pochi secondi. Perché? Per inviare e-mail di spam a milioni di persone in seguito.

Il CAPTCHA impedisce tutto questo. Identifica quali utenti sono veri esseri umani. E quali sono solo programmi per computer.

Ogni fallimento è una svolta nell’intelligenza artificiale

Ecco una svolta interessante.

Le persone che progettano questi test non sono sempre turbate quando falliscono.

Affinché un test CAPTCHA fallisca, qualcuno deve trovare un modo per insegnare a un computer come risolverlo.

Ogni volta che un bot supera un CAPTCHA, rappresenta un progresso nell’intelligenza artificiale.

L’ironia è palpabile. Un’applicazione CAPTCHA genera un test che nemmeno esso può risolvere senza conoscere già la risposta. Si basa sulla cognizione umana come parametro di sicurezza.

Siamo in una corsa agli armamenti.

I robot diventano più intelligenti. Le prove si fanno più dure. Gli utenti si arrabbiano.

Ma finché la tecnologia non raggiungerà gli umani, continueremo a cliccare sui semafori.

L’intero sistema risale al Test di Turing. Alan Turing, l’uomo che ha sostanzialmente inventato l’informatica moderna, voleva un modo per verificare se le macchine potessero imitare il pensiero umano. L’installazione è stata semplice. Un interrogatore parla con due partecipanti nascosti. Uno è una persona. Uno è un computer. Se l’interrogatore non riesce a capire quale sia l’uno e l’altro, la macchina vince.

Il CAPTCHA capovolge questa logica. L’obiettivo è fare un test che gli esseri umani possano superare senza problemi mentre i robot falliscono in modo spettacolare. Deve essere anche dinamico. Se ogni utente vedesse la stessa identica immagine statica con le stesse lettere, gli spammer la crackerebbero in pochi minuti. Scriverebbero semplicemente uno script per digitare automaticamente la risposta.

La maggior parte di questi test sono visivi. I computer sono ancora goffi nell’elaborare le immagini rispetto a noi. Gli esseri umani individuano immediatamente i modelli. A volte abbiamo anche loro allucinazioni. Questa è pareidolia. Vedi un volto tra le nuvole o una figura su Marte. Il tuo cervello forza il rumore casuale in una forma riconoscibile. Le macchine non hanno questo salto intuitivo. Lottano con l’ambiguità.

Ma fare affidamento esclusivamente sulla vista è rischioso. Aliena gli utenti ipovedenti. Quindi abbiamo delle alternative. I CAPTCHA audio sono comuni. Ascolti una serie di numeri o lettere. La voce potrebbe essere distorta. Spesso c’è uno sfondo statico. Ciò blocca il software di riconoscimento vocale.

Poi c’è il CAPTCHA contestuale. Presenta un breve passaggio di testo. L’utente deve interpretarne il significato. Gli algoritmi possono acquisire parole chiave. Non riescono a comprendere realmente. Non capiscono la sfumatura.

A volte il test è semplicemente rotto. L’immagine è così deformata che nemmeno gli umani riescono a leggerla. Ecco perché ottieni un pulsante “Aggiorna”. Riprova. Si spera che il secondo tentativo non sia insensato.

Chi utilizza il CAPTCHA

La sezione successiva approfondisce quali siti implementano effettivamente questi controlli per verificare che non sei un bot.

Integrità dei sondaggi e abuso dei bot

Il sondaggio Slashdot del 1999 sul miglior corso di laurea in informatica è un avvertimento. Ha mostrato esattamente cosa succede quando lasci i sondaggi aperti agli script automatizzati. Gli studenti della Carnegie Mellon e del MIT hanno creato robot per inondare le rispettive scuole di migliaia di voti. Nel frattempo, ogni altra università se la cavava con poche centinaia.

Se il codice può votare, i risultati sono spazzatura.

Ecco perché la verifica è importante. Senza filtri, i sondaggi online sono solo concorsi di popolarità per chi ha la sceneggiatura più veloce. Il CAPTCHA impedisce ai programmatori di manipolare il sistema.

Blocco dei bot spam al momento della registrazione

Pensa all’ultima volta che ti sei iscritto a Hotmail, Yahoo! Posta o Gmail. Hai digitato alcuni dettagli personali. Il servizio non ha verificato se fossero reali. Non ti ha chiamato né ha verificato la tua identità.

Voleva solo assicurarsi che un bot non tentasse di creare centinaia di account spam in pochi secondi.

I provider di posta elettronica gratuiti utilizzano CAPTCHA per fermare gli spammer. Senza di esso, la tua casella di posta sarebbe intasata di posta indesiderata proveniente da account falsi prima ancora che tu abbia finito di configurare il tuo.

Lotta ai bagarini dei biglietti

Anche i broker di biglietti come TicketMaster si affidano a questi filtri. Perché? Per fermare gli scalper.

Gli scalper utilizzano i bot per acquistare migliaia di biglietti per grandi eventi in pochi secondi. I fan legittimi vengono esclusi. Gli eventi si esauriscono immediatamente. Gli scalper poi rivendono quei biglietti a prezzi gonfiati.

Il CAPTCHA non ferma del tutto lo scalping. Rende solo gli acquisti automatizzati su larga scala molto più difficili. Rallenta i bot. Dà ai veri umani una possibilità di combattere.

Mantenere pulite le bacheche

Le pagine Web con moduli di contatto o bacheche si trovano ad affrontare la stessa minaccia. Una valanga di spam può soffocare le conversazioni reali.

I programmi CAPTCHA filtrano il rumore. Impediscono ai bot di pubblicare automaticamente messaggi volgari o di molestare gli amministratori. Non è uno scudo perfetto contro un determinato troll umano. Ma ferma il diluvio automatizzato.

Il doppio dovere di reCAPTCHA

Il CAPTCHA standard ti chiede di digitare lettere e numeri distorti. Ma i creatori hanno trovato un modo per aggiungere valore a questo compito. L’hanno usato per digitalizzare i libri.

Questo è reCAPTCHA. Sfrutta le tue risposte per verificare la carta scansionata. I computer faticano a leggere le parole dalle scansioni digitali. Gli esseri umani sono bravi in ​​questo.

Ecco il processo:

  • L’amministratore esegue la scansione di un libro.
  • Il programma sceglie due parole dall’immagine.
  • Una parola è già riconosciuta.
  • Se la digiti correttamente, il sistema presuppone che anche la seconda parola sia corretta.
  • Quella seconda parola va in un pool per altri utenti.
  • Man mano che più persone la digitano, il sistema verifica la parola con elevata certezza.

Sembra noioso. Ma stai facendo due lavori contemporaneamente. Stai dimostrando di essere umano. Stai anche aiutando i motori di ricerca a indicizzare i documenti scansionati.

Creazione della verifica

Successivamente, daremo uno sguardo al processo necessario per creare un CAPTCHA.

Progettare per il divario tra uomo e macchina

L’intera premessa di un CAPTCHA si basa su una disconnessione fondamentale. Gli esseri umani percepiscono il contesto. Le macchine elaborano le istruzioni. Se i dati escono da un rigido percorso algoritmico, un bot inciampa. Non improvvisa. Fallisce.

Un designer deve sfruttare questa debolezza. Considera i metadati. È invisibile per te. È leggibile da uno script. Se crei una sfida visiva in cui la risposta è nascosta nei metadati del file immagine, hai già perso. Un semplice script può eliminare tali dati e rivelare immediatamente la soluzione.

La distorsione non è negoziabile. Il testo normale è un invito aperto per il software di riconoscimento ottico dei caratteri (OCR). Questi programmi scansionano le forme. Riconoscono le linee rette e le curve. Se i tuoi personaggi non sono deformati, distorti o oscurati, un bot li leggerà più velocemente di quanto un essere umano possa battere ciglio.

Gli esseri umani dovrebbero avere una percentuale di successo dell’80%. Le macchine dovrebbero attestarsi allo 0,01%.

Questo benchmark proviene dagli esperti di Microsoft Research Kumar Chellapilla e Patrice Simard. Non hanno semplicemente indovinato. Hanno calcolato la soglia tra usabilità e sicurezza.

Esistono due modi principali per generare queste sfide. Il primo è statico. Tu predefinisci le immagini e le loro soluzioni. È necessario un enorme database per supportare tutto ciò. Perché? Perché uno spammer che ruba quel database può lanciare un attacco di forza bruta. Passano semplicemente in rassegna tutte le possibili risposte finché non ne rimane una. Per stare al sicuro, avresti bisogno di un database con oltre 10.000 CAPTCHA unici. È pesante. È rischioso.

Il secondo modo è dinamico. Randomizzazione. Il sistema genera ogni volta una stringa univoca di lettere e numeri. Non vedrai mai la stessa sequenza due volte. Questo uccide l’approccio della forza bruta. Le probabilità che un bot indovini una lunga stringa casuale sono astronomicamente basse. Più lunga è la corda, più sei sicuro.

Il guanto visivo

Come distorcere il testo? Ci sono alcuni trucchi nel toolkit.

Alcuni sistemi allungano e piegano le lettere finché non sembrano viste attraverso il vetro fuso. È nauseante. È anche efficace. Altri sovrappongono una griglia di barre tratteggiate per fratturare le forme delle lettere. Potresti vedere campi di punti casuali o combinazioni di colori contrastanti progettati per confondere l’occhio e l’algoritmo. L’obiettivo è sempre lo stesso: creare rumore che gli esseri umani possano filtrare ma che le macchine non possano analizzare.

Il riconoscimento dei modelli è un’altra strada. Invece di limitarsi a leggere il testo, ti potrebbe essere chiesto di completare una sequenza. Appare una serie di forme. Quale verrà dopo? Mette alla prova la logica, non solo la visione. Ma ecco il problema. Non tutti sono bravi nel ragionamento astratto. Se il tuo puzzle è troppo difficile, il tuo tasso di successo umano scende al di sotto dell’80% critico. Inizi a bloccare gli utenti reali. Scambiate la sicurezza con l’accessibilità. È una passeggiata sul filo del rasoio.

L’alternativa all’audio

Puoi sentirmi adesso?

I CAPTCHA udibili seguono una logica simile a quelli visivi, ma con un mezzo diverso. Stai ascoltando personaggi pronunciati da una voce sintetizzata o da una vera registrazione umana.

L’approccio statico richiede la preregistrazione di ogni possibile combinazione. È un’enorme libreria audio. L’approccio dinamico è più intelligente. Registra singoli fonemi o caratteri e li unisce in tempo reale. È più veloce da generare. È più difficile da indicizzare.

Ma l’audio non è perfetto. Rumore di fondo. Accenti. Artefatti di sintesi. Introduce un nuovo livello di attrito. Risolve il problema? A volte. Per alcuni utenti, è un vero toccasana. Per altri, è un puzzle che non riescono a risolvere.

La corsa agli armamenti continua

Abbiamo visto come sono costruiti. Il passo successivo è vederli cadere. I computer stanno migliorando in questo. Stanno imparando a vedere attraverso la distorsione.

Il vero ostacolo non è decifrare il testo. Gli esseri umani dovrebbero raggiungere facilmente quel tasso di precisione dell’80%. Il vero incubo è insegnare a una macchina a elaborare le informazioni come fa un cervello umano. La maggior parte degli aggressori non si preoccupa di rendere i computer più intelligenti. Semplicemente eliminano la complessità della sfida.

Pensa a un modulo web standard protetto da un CAPTCHA che mostra parole inglesi. Il carattere viene deformato. Le lettere si allungano e si piegano in schemi caotici. Un rumore di fondo casuale si trova dietro il testo. Sembra una cosa senza senso. È progettato per esserlo.

Un programmatore che infrange questo non inizia con l’intelligenza artificiale. Iniziano con un algoritmo. Questo è solo un insieme di istruzioni. Il primo passaggio potrebbe essere la conversione dell’immagine in scala di grigi. Il colore è uno strato di offuscamento. Rimuovilo. Ora hai il rumore in bianco e nero.

Successivamente, il codice esegue la scansione dei modelli. Confronta le forme con le lettere conosciute. Se la corrispondenza è debole, l’algoritmo incrocia quelle lettere parziali con un dizionario di parole inglesi. Il resto lo indovina. Questa logica della forza bruta funziona. A volte fallisce. Ma se riesce abbastanza spesso, gli spammer vincono.

Vincere la sfida Gimpy

Cosa succede quando il CAPTCHA diventa più severo? Prendi la versione Gimpy. Visualizza dieci parole. Caratteri deformati. Sfondi irregolari. Le parole si sovrappongono. È necessario digitarne tre corretti per procedere.

Sembra solido. Finché non guardi la ricerca. Greg Mori e Jitendra Malik hanno pubblicato un articolo su come risolverlo. Il loro trucco? Il sistema utilizza parole vere. Stringhe non casuali. Questa è una debolezza enorme.

Mori e Malik hanno creato un algoritmo focalizzato sull’inizio e sulla fine delle stringhe di parole. Hanno utilizzato il noto dizionario di 500 parole del sistema Gimpy. Hanno eseguito dei test. L’algoritmo ha identificato correttamente le parole il 33% delle volte.

Quel numero sembra basso. Non lo è. Gli spammer non hanno bisogno della perfezione. Hanno bisogno di volume. Se i loro bot vengono eseguiti centinaia di volte al minuto, una percentuale di successo di uno su tre è redditizia. La matematica funziona.

Orecchie elettroniche

Anche i CAPTCHA audio non sono sicuri. Nella primavera del 2008 sono stati segnalati casi di hacker che attaccavano il sistema audio di Google. Il metodo era sorprendentemente semplice.

Gli hacker hanno creato una libreria di suoni. Ogni personaggio nel database necessitava di una corrispondenza sonora. La distorsione potrebbe significare più suoni per una lettera. Una volta classificati, hanno utilizzato varianti del software di riconoscimento vocale. Il bot ascoltò. Ha interpretato. Ha digitato.

CAPTCHA e Intelligenza Artificiale

Il paradosso dell’intelligenza artificiale: perché violare la sicurezza aiuta le macchine ad apprendere

Luis von Ahn, il professore della Carnegie Mellon che ha contribuito a inventare il CAPTCHA, vede le cose in modo diverso rispetto all’amministratore di sistema medio. In una conferenza del 2006, ha definito la battaglia tra esseri umani e robot non come una guerra, ma come un campo di addestramento per l’intelligenza artificiale. La logica è fredda ma sana. Gli spammer e gli hacker sono ossessionati dall’infrangere i CAPTCHA perché questi test si frappongono tra loro e i loro obiettivi. Investono tempo ed energia per sconfiggerli.

Quando ci riescono, le macchine diventano più intelligenti.

Ogni volta che un ricercatore scopre come insegnare a un computer a risolvere un puzzle con testo distorto, facciamo un passo avanti verso la vera intelligenza artificiale. Per von Ahn, una sconfitta per il sistema di sicurezza è una vittoria per l’apprendimento automatico.

Gli amministratori web, tuttavia, trovano questa filosofia meno attraente. Devono ancora fare i conti con le conseguenze. I bot spam e gli script dannosi non si preoccupano delle implicazioni filosofiche della loro sconfitta. Vogliono solo entrare. La realtà è che diversi sistemi CAPTCHA hanno già perso il loro utilizzo efficace. I manutentori di sondaggi online o semplici siti web devono sapere quali strumenti sono ancora affidabili. Hanno bisogno di rimanere aggiornati. Se un sistema fallisce, il codice deve essere eliminato. È necessario sostituirlo.

I designer camminano sul filo del rasoio. Man mano che i computer diventano più sofisticati, i test devono evolversi. Ma c’è un limite. Se il test diventa così difficile che gli esseri umani non riescono più a risolverlo con un tasso di successo decente, il sistema fallisce. Non si tratta più solo di deformare il testo. La risposta potrebbe essere un’equazione matematica. O rispondere a domande su un racconto.

Quante persone si preoccuperebbero di pubblicare una risposta su un forum se prima dovessero risolvere un’equazione quadratica?

L’interesse degli utenti diminuisce quando l’attrito diventa troppo elevato. L’equilibrio è fragile.

L’evoluzione della verifica invisibile

Google ha cambiato le regole del gioco nel 2014. L’azienda, che aveva acquisito reCAPTCHA nel 2009, ha iniziato a eliminare gradualmente le classiche sfide con immagini o testo. Hanno introdotto “No CAPTCHA”. Era semplice. Una scatola singola con la scritta “Non sono un robot”.

Gli utenti hanno cliccato. Il mondo è andato avanti.

Ma nel 2017 anche questo era troppo ovvio. Google ha annunciato la rimozione di No CAPTCHA. Il nuovo approccio si basava sull’analisi comportamentale. Ha esaminato il modo in cui hai spostato il puntatore del mouse. Ha analizzato le tue abitudini di navigazione. Questo divenne noto come Invisible reCAPTCHA.

Se il sistema ti segnalava come sospetto, forse eri un robot, eri costretto a risolvere una delle sfide standard più vecchie. È stato un ripiego. Una fase di verifica. L’obiettivo era mantenere in movimento gli utenti bravi e catturare i cattivi attori senza che nemmeno se ne accorgessero.

Chiarire la terminologia e la necessità

Spesso c’è confusione su chi possiede cosa e perché esistono questi controlli.

Il CAPTCHA è di Google?
No. Il CAPTCHA è una tecnologia generale utilizzata sul Web per garantire che gli esseri umani, e non i bot automatizzati, interagiscano con un sito. reCAPTCHA di Google è solo un’implementazione di questo concetto più ampio.

Cosa significa CAPTCHA?
Sta per “Test di Turing pubblico completamente automatizzato per distinguere i computer dagli esseri umani”. Si tratta di un test di risposta integrato nell’informatica per verificare l’identità dell’utente.

Perché è necessario il CAPTCHA?
Impedisce ai programmi automatizzati di inviare informazioni false. Impedisce agli spammer pubblicitari di promuovere truffe sulle pagine web. Evita che Internet venga inondato dal rumore.

Dove andare da qui

Il paesaggio cambia costantemente. Ciò che ha funzionato ieri potrebbe essere rotto oggi.

Per coloro che scavano più a fondo, gli argomenti correlati includono il funzionamento dei decodificatori, i meccanismi dello spam e la funzione dello spyware. Comprendere la crittografia e i virus informatici fornisce il contesto sul perché la sicurezza è importante. La logica alla base del modo in cui una macchina logica genera numeri casuali si collega anche alla casualità richiesta per sfide sicure.

Altre risorse sull’argomento includono Gwap e il sito ufficiale reCAPTCHA. Le radici accademiche di questo campo sono ben documentate. La ricerca condotta da Chellapilla e Simard presso Microsoft Research evidenzia come l’apprendimento automatico può superare le prove visive. I CAPTCHA di filtraggio collaborativo sono stati esplorati nei primi workshop. La vulnerabilità del CAPTCHA audio di Google è stata documentata nel 2008. Nello stesso anno gli spammer hanno violato il CAPTCHA di Gmail.

Il test di Turing, come discusso nella Stanford Encyclopedia of Philosophy, rimane la base teorica. La corteccia umana batte ancora la CPU in molti compiti, come notato da Wired. Ma il divario si sta riducendo. La visione originale di Von Ahn si realizza in tempo reale. Ogni codice rotto è una lezione per la prossima generazione di intelligenza artificiale.

La domanda non è più se le macchine supereranno questi test. È quello che succede quando lo fanno. E cosa succede agli umani che devono ancora cliccare sulle caselle.