"Spam will be a thing of the past in two years!" declared Bill Gates at the World Economic Forum in Davos in 2004. A false statement that still makes the internet community laugh today and probably means that the Microsoft co-founder’s name will be on the list of the most spec­ta­cu­lar­ly incorrect IT de­cla­ra­tions of all time.

Not even Gates had an idea of how much spam would develop in the next 13 years. Even today, there’s not a day that goes by where internet users aren’t con­fron­ted with au­to­ma­ti­cal­ly generated ad­ver­ti­sing content: be it in their e-mail inboxes, on their favorite blogs, in the comment section of an online store, or in their website’s guestbook.

In fact, spam bots are getting smarter. These generally au­to­no­mous computer programs search the internet for forms and other in­te­rac­ti­ve webpage elements to place ad­ver­ti­se­men­ts – and even overcome so­phi­sti­ca­ted anti-spam pro­ce­du­res.

The captcha has been used as spam pro­tec­tion for a long time. But these annoying puzzles often pose more of a problem for human users than the spam programs. In fact, recent studies on captcha tech­no­lo­gy have shown that the esta­bli­shed spambots often have a lower error rate when it comes to captchas than humans. Is this the end of captcha codes, image tests, and logic puzzles? We provide you with an overview of the ap­pli­ca­tions of captcha tech­no­lo­gy, compare different types of captchas, and present other types of spam pre­ven­tion.

Che cos’è un captcha?

Quando si parla di captcha, si indica un pro­ce­di­men­to usato per la pro­te­zio­ne spam. L’obiettivo è quello di pro­teg­ge­re le pagine web in­te­rat­ti­ve da possibili abusi, esclu­den­do gli input generati au­to­ma­ti­ca­men­te. L’acronimo captcha sta per “Completely Automated Public Turing test to tell Computers and Humans Apart”, che tradotto in italiano significa quindi “Test di Turing pubblico e com­ple­ta­men­te au­to­ma­ti­co per di­stin­gue­re computer e umani”.

Già nel 1950 l’in­for­ma­ti­co Alan Turing propose un pro­ce­di­men­to per mettere alla prova la facoltà mentale dell’in­tel­li­gen­za ar­ti­fi­cia­le. Secondo il pioniere del computer, una macchina è in grado di imitare l’in­tel­let­to umano, se in una chat riesce a con­ver­sa­re con le persone senza che queste si accorgano che si tratti di un computer.

Il test di Turing ha fatto la storia della ricerca IA (In­tel­li­gen­za Ar­ti­fi­cia­le) ed è stato superato da un programma per il computer nel 2014: il su­per­com­pu­ter Eugene Goostman ha ingannato per almeno 5 minuti più del 30 % di una giuria in­di­pen­den­te ed è stato così il primo computer al mondo a riuscirvi. Eugene si è spacciato con successo per un teenager ucraino con un por­cel­li­no d’india e che si en­tu­sia­sma­va per i testi po­li­ti­ca­men­te scorretti del rapper EMINEM.

Og­gi­gior­no ciò che suona ancora come fan­ta­scien­za è il problema prin­ci­pa­le di Internet. Per le pagine web in­te­rat­ti­ve è di vitale im­por­tan­za poter di­stin­gue­re tra vi­si­ta­to­ri del sito reali e programmi per il computer all’interno del processo di Human Ve­ri­fi­ca­tion. Dei sempre più raffinati captcha do­vreb­be­ro perciò aiutare a re­spin­ge­re gli input au­to­ma­ti­ci o le richieste degli spam bot, oltre che gli strumenti per i click au­to­ma­ti­ci.

Qual è lo scopo dei captcha?

La maggior parte delle volte i captcha vengono uti­liz­za­ti quando le ap­pli­ca­zio­ni web ri­chie­do­no un input da parte dell’utente. Im­ma­gi­na­te di gestire uno shop online e di dare ai vostri clienti la pos­si­bi­li­tà di uti­liz­za­re una funzione di commento per valutare il prodotto. In questo caso dovete as­si­cu­rar­vi che gli in­se­ri­men­ti pro­ven­ga­no in realtà dai vostri clienti o perlomeno da vi­si­ta­to­ri in carne e ossa del vostro sito. Spesso sotto ai prodotti si trovano invece diversi commenti spam generati au­to­ma­ti­ca­men­te, nel peggiore dei casi con link che rimandano alla con­cor­ren­za.

Si può limitare il danno rendendo sicuri i moduli online tramite un captcha, con il quale gli utenti si devono au­ten­ti­fi­ca­re come persone prima di poter inviare ciò che hanno inserito. Oggi i captcha si trovano in quasi tutti i settori in cui serve di­stin­gue­re gli utenti umani dai bot. Ciò concerne ad esempio la creazione di account di login per i servizi e-mail, new­slet­ter, community e social network, ma anche sondaggi online o servizi web come i motori di ricerca.

Con il passare del tempo si sono svi­lup­pa­ti diversi metodi per eseguire una Human Ve­ri­fi­ca­tion. Vale però la regola che nessun pro­ce­di­men­to affermato offre una sicurezza dallo spam del 100 % e in ogni caso la tec­no­lo­gia captcha com­pro­met­te l’usabilità del sito.

Quali tipi di captcha esistono?

Malgrado i veloci progressi della ricerca IA, il pre­sup­po­sto alla base del concetto di captcha è che per quanto riguarda la capacità di pensiero sus­si­sta­no sempre dif­fe­ren­ze tra un uomo e un programma per il computer. Ogni captcha comprende perciò almeno un compito che dovrebbe essere superato dagli utenti umani ma che in teoria mette le macchine di fronte a un problema ir­ri­sol­vi­bi­le.

I pro­ce­di­men­ti basati su captcha per la Human Ve­ri­fi­ca­tion si possono sud­di­vi­de­re grosso modo in captcha testuali, captcha grafici, captcha sonori, captcha ma­te­ma­ti­ci, captcha logici e ga­mi­fi­ca­tion captcha.

Captcha testuali

La forma più antica di Human Ve­ri­fi­ca­tion è il captcha testuale, dove vengono tra­sfi­gu­ra­te parole co­no­sciu­te o com­bi­na­zio­ni casuali di lettere e cifre. Per superare la prova un utente deve decifrare la parola rap­pre­sen­ta­ta nel box per il captcha e inserirla tramite tastiera nel campo testuale previsto. I classici metodi che vengono uti­liz­za­ti per la creazione di captcha testuali sono Gimpy, ez-Gimpy, Gimpy-r e Simard’s HIP.

La tra­sfi­gu­ra­zio­ne comprende diversi passaggi nei quali i singoli caratteri della soluzione vengono distorti, scalati, ruotati o curvati e vengono combinati con elementi grafici ag­giun­ti­vi, come linee, archi, punti, tonalità di colori o disturbi nello sfondo. La seguente grafica indica una selezione di possibili tra­sfor­ma­zio­ni testuali in cui ci si può imbattere su Internet.

I captcha testuali as­si­cu­ra­no una pro­te­zio­ne sicura contro lo spam solo quando la parola rap­pre­sen­ta­ta diventa un ostacolo in­sor­mon­ta­bi­le per i programmi con il ri­co­no­sci­men­to au­to­ma­ti­co del testo. So­li­ta­men­te ciò pre­sup­po­ne però una tra­sfi­gu­ra­zio­ne che limita si­gni­fi­ca­ti­va­men­te anche la leg­gi­bi­li­tà per gli utenti umani.

Ciò può essere di­mo­stra­to con gli esempi seguenti. Se ad esempio volete creare un account gratuito con Microsoft, dovete prima inserire le lettere nell’apposito campo come vi viene indicato dal captcha testuale.

Nell’esempio qui sopra non è difficile per un utente ri­co­no­sce­re le lettere “SGPKDL”, mentre di­ver­sa­men­te accade quando ci si vuole re­gi­stra­re per il forum di Linux Mint.

In questo caso la sequenza corretta è “1VYEJX”, ma l’ultimo carattere si presta a in­ter­pre­ta­zio­ni, perché potrebbe rap­pre­sen­ta­re sia la lettera “X” che il simbolo “+”.

Mentre nel primo captcha ci si chiede se un so­fi­sti­ca­to software di ri­co­no­sci­men­to testuale riu­sci­reb­be a leggerlo o meno, nel secondo caso la tra­sfi­gu­ra­zio­ne si dimostra talmente elaborata da com­por­ta­re dif­fi­col­tà anche per un utente umano. So­li­ta­men­te un captcha ben im­ple­men­ta­to dà anche la pos­si­bi­li­tà di saltare la parola mostrata al momento e di tentare con un’altra più leggibile. Non è difficile im­ma­gi­na­re come i vi­si­ta­to­ri di un sito siano “elet­triz­za­ti” da captcha di questo tipo con cui si ritrovano a con­fron­tar­si spesso.

Con il tempo si sono perciò affermate in­nu­me­re­vo­li al­ter­na­ti­ve alla tec­no­lo­gia captcha testuale: ad esempio una variante celebre di questo classico captcha testuale è offerto da Google con reCAPTCHA. Al posto di generare parole casuali, reCAPTCHA si alimenta con diversi progetti digitali come Google Libri o Google Street View. Così agli utenti vengono mostrati nomi di vie, case, cartelli stradali, oltre che frammenti di parti di testo scan­sio­na­te che devono essere decifrate e inserite tramite tastiera in un campo testuale.

Perciò il software offre sempre due elementi: uno co­no­sciu­to e già con­fer­ma­to e uno non ancora con­fer­ma­to. Ge­ne­ral­men­te gli utenti devono solo ri­co­no­sce­re il primo elemento per riuscire a risolvere il captcha. Gli utenti che decifrano anche il secondo elemento prendono parte al programma di di­gi­ta­liz­za­zio­ne di Google. Gli input immessi vengono ve­ri­fi­ca­ti su base sta­ti­sti­ca. Gli elementi da decifrare vengono sempre pre­sen­ta­ti a più utenti e la risposta più frequente diventa anche quella corretta.

L’esempio seguente mostra due diverse richieste strut­tu­ra­te con reCAPTCHA, in cui gli utenti si imbattono quando si re­gi­stra­no nelle community.

Captcha grafici

Un’al­ter­na­ti­va ai captcha testuali sono i pro­ce­di­men­ti basati sulle immagini. Al posto di pre­sen­ta­re agli utenti una soluzione distorta composta da cifre e lettere, i captcha basati sulle immagini si ap­pog­gia­no ad elementi grafici com­pren­si­bi­li ve­lo­ce­men­te. So­li­ta­men­te vengono pre­sen­ta­te più foto con motivi di tutti i giorni disposte le une accanto alle altre. L’utente ha il compito di cliccare un elemento preciso, di iden­ti­fi­ca­re motivi simili o di trovare una cor­re­la­zio­ne semantica.

Il seguente esempio mostra un captcha grafico che viene uti­liz­za­to nel servizio di Google reCAPTCHA. All’utente viene mostrata un’immagine prin­ci­pa­le di un gatto e gli viene chiesto di se­le­zio­na­re tutte le altre immagini che raf­fi­gu­ra­no dei gatti.

In al­ter­na­ti­va Google utilizza dei captcha in cui gli utenti devono se­le­zio­na­re delle sezioni precise di una foto, ad esempio tutti i campi su cui sono rap­pre­sen­ta­ti parti di un cartello di una via. A dif­fe­ren­za dei reCAPTCHA testuali, qui basta un click sulle sezioni delle immagini relative per superare la verifica.

La maggior parte degli utenti comprende la soluzione di un captcha grafico solo dopo pochi istanti. La facoltà dei programmi per il computer di capire un motivo ri­pro­dot­to, di ordinarlo se­man­ti­ca­men­te e di clas­si­fi­ca­re gli stessi elementi è però ancora molto limitata, pertanto i captcha grafici si ritengono più efficaci come pro­te­zio­ne dallo spam rispetto ai pro­ce­di­men­ti testuali.

Captcha sonori

I captcha testuali e grafici si possono ca­ta­lo­ga­re tra i pro­ce­di­men­ti grafici di Human Ve­ri­fi­ca­tion. Il fatto che un utente umano riesca a superare una verifica simile dipende fon­da­men­tal­men­te dalla sua abilità nel ri­co­no­sce­re le in­for­ma­zio­ni testuali o grafiche rap­pre­sen­ta­te. Per le persone con problemi alla vista e non vedenti un captcha grafico può rap­pre­sen­ta­re un grande ostacolo. I captcha che possono essere percepiti solo con uno dei cinque sensi di­mo­stra­no un basso grado di usabilità e si di­mo­stra­no quindi non ac­ces­si­bi­li a tutti. I gestori dei siti che uti­liz­za­no i captcha do­vreb­be­ro perciò fare at­ten­zio­ne al fatto che i pro­ce­di­men­ti di verifica scelti mettano a di­spo­si­zio­ne degli utenti più soluzioni su diversi canali sen­so­ria­li.

Per con­sen­ti­re anche alle persone non vedenti un accesso alle aree protette da captcha di un’ap­pli­ca­zio­ne web, i pro­ce­di­men­ti di verifica testuali o grafici sono combinati in genere con i captcha sonori. Spesso viene perciò im­ple­men­ta­to un pulsante al­ter­na­ti­vo con cui gli utenti possono ascoltare una re­gi­stra­zio­ne audio, ad esempio una breve sequenza di numeri che può essere inserita in un input previsto.

Di seguito è possibile vedere il pulsante per il volume alla destra del campo testuale:

Per garantire il maggior grado di usabilità possibile, l’audio re­gi­stra­to deve essere com­pren­si­bi­le e adattato a seconda della lingua del­l'u­ten­te.

Captcha di logica e con esercizi ma­te­ma­ti­ci

Un altro tipo di captcha che prende ugual­men­te in con­si­de­ra­zio­ne le esigenze dei non vedenti si basa su esercizi ma­te­ma­ti­ci o in­do­vi­nel­li per scartare gli spam bot. Un’ope­ra­zio­ne come la seguente, se ne­ces­sa­rio, può essere letta ad alta voce con uno screen reader e viene così messo a di­spo­si­zio­ne degli utenti che uti­liz­za­no di­spo­si­ti­vi di ri­pro­du­zio­ne non visivi.

Semplici ope­ra­zio­ni ma­te­ma­ti­che pre­sup­pon­go­no so­li­ta­men­te una co­no­scen­za ele­men­ta­re della materia e non rap­pre­sen­ta­no così un grande ostacolo neanche per gli spam bot. Tanto più che i computer superano no­te­vol­men­te le persone nel momento in cui si trovano a dover far di conto. Questo tipo di captcha viene perciò combinato spesso con le diverse pos­si­bi­li­tà di tra­sfi­gu­ra­zio­ne testuale, cosa che com­pro­met­te l’ac­ces­si­bi­li­tà per gli screen reader.

Diventa molto più com­pli­ca­to per i programmi quando il risultato di un calcolo non viene richiesto sotto forma di cifra, ma come parola o nel caso in cui debba essere inserita solo una singola cifra del risultato (esempio: fai la mol­ti­pli­ca­zio­ne di 7 x 7 e inserisci la prima cifra del risultato nel campo previsto. Il risultato dell’ope­ra­zio­ne sarebbe 49, ma la soluzione del captcha è 4).

Oltre ad esercizi ma­te­ma­ti­ci, nei captcha vengono uti­liz­za­ti anche compiti logici o domande su nozioni generali, spesso con un ri­fe­ri­men­to tematico alla propria ap­pli­ca­zio­ne web. In un forum su un software SMF (acronimo di Simple Machines Forum), l’utente deve ri­spon­de­re a due domande sull’argomento prima di poter procedere con la re­gi­stra­zio­ne.

I captcha logici com­pren­do­no domande che potranno sembrare banali per gli utenti umani, ma non lo sono per i classici spam bot che non sono ge­ne­ral­men­te in grado di stabilire le giuste as­so­cia­zio­ni.

Individua tutti i colori presenti nella lista: mela, verde, arancia, pomodoro, giallo (Risposta: verde e giallo)

Inserite la quarta parola in questa frase. (Risposta: parola)

Qual è la terza lettera della penultima parola? (Risposta: n)

Quante teste ha una mucca? (Risposta: una)

Questi tipi di captcha sono strut­tu­ra­ti di modo che anche se per la risposta vengono usate delle diverse varianti (ad esempio caratteri maiuscoli e minuscoli) si ottiene comunque il risultato voluto.

Ga­mi­fi­ca­tion captcha

I gestori di siti che temono di spa­ven­ta­re i loro vi­si­ta­to­ri con criptici captcha testuali o com­pli­ca­ti esercizi di ma­te­ma­ti­ca, possono trarre vantaggio dalla tendenza a rendere tutto in maniera ludica. I servizi come Sweet­Capt­cha e Fun­Capt­cha offrono dei mini giochi ri­crea­ti­vi che si possono integrare come ga­mi­fi­ca­tion captcha. 

Sweet­Capt­cha si affida alla facoltà as­so­cia­ti­va delle persone e pone ai vi­si­ta­to­ri dei semplici compiti di as­se­gna­zio­ne. Nell’esempio seguente basta muovere le bacchette sul tamburo per di­mo­stra­re di essere delle persone reali.

Sweet­Capt­cha usa anche una va­ria­zio­ne del classico puzzle come captcha, in cui gli utenti devono muovere le parti delle immagini tramite drag&drop.

Invece, su Fun­Capt­cha si muove tutto in tondo. Solo quando il cane si trova nella giusta posizione, il software considera valido l’in­se­ri­men­to e fa pro­se­gui­re l’utente.

I ga­mi­fi­ca­tion captcha risultano perciò più originali e di­ver­ten­ti rispetto al semplice in­se­ri­men­to di lettere da dover in­di­vi­dua­re tra vari elementi di disturbo.

Vantaggi e svantaggi dei captcha

Se un captcha è in grado di difendere bene dagli spam bot e lascia passare gli utenti umani in­di­stur­ba­ti, riduce no­te­vol­men­te l’impegno richiesto per l’am­mi­ni­stra­zio­ne di un sito. I gestori di una pagina che offrono contenuti generati dagli utenti si ri­spar­mia­no la fatica di dover ve­ri­fi­ca­re ma­nual­men­te i post. Inoltre un server viene dra­sti­ca­men­te al­leg­ge­ri­to quando gli input au­to­ma­ti­ci e le richieste vengono bloccate pre­li­mi­nar­men­te, prima che vengano chiamate in causa le reazioni del sistema con un maggior impiego di risorse. Ma cosa con­trad­di­stin­gue un buon captcha? La ricerca IA fa con­ti­nua­men­te dei progressi. L’abilità di programmi spe­cia­liz­za­ti di estra­po­la­re i testi distorti o di risolvere esercizi logici migliora a vista d’occhio. Già nel 2014 un team di ri­cer­ca­to­ri di Google ha reso noto un modo (download del PDF su arxiv.org), con cui si possono risolvere i classici reCAPTCHA nel 99,8 % dei casi. Come base dati sono stati uti­liz­za­ti 10 milioni di numeri civici di case che il team ha generato con Google Street View. Molti servizi di captcha tentano di com­pen­sa­re i progressi dell’ap­pren­di­men­to au­to­ma­ti­co at­tra­ver­so pro­ce­di­men­ti di verifica sempre più difficili. Nella prassi i captcha sfiorano non di rado i limiti dell’ir­ri­sol­vi­bi­li­tà. Già nel 2010 i ri­cer­ca­to­ri della Stanford Uni­ver­si­ty (download del PDF su http://web.stanford.edu) in­di­ca­va­no che i captcha rap­pre­sen­ta­va­no in molti casi una grande sfida per gli stessi utenti reali. In uno studio è stato richiesto a più di 1.100 persone di risolvere quasi 318.000 captcha basati sugli schemi più comuni dell’epoca. In media i tester hanno portato a termine i captcha grafici in 9,8 secondi. Per i captcha sonori hanno invece avuto bisogno di 28,4 secondi, più del triplo del tempo richiesto per quelli grafici. Mostrando lo stesso captcha grafico a 3 tester dif­fe­ren­ti, questi sono giunti alla stessa soluzione solo nel 71 % dei casi. Per quanto riguarda i captcha sonori, la coin­ci­den­za era net­ta­men­te inferiore con una quota del 31 %. Inoltre i ri­cer­ca­to­ri hanno notato una frequenza di rimbalzo del 50 % nel caso di captcha sonori. L’uso di un pro­ce­di­men­to di Human Ve­ri­fi­ca­tion e il modo in cui questo viene rea­liz­za­to si ri­per­cuo­to­no sulla mo­ti­va­zio­ne di un vi­si­ta­to­re di in­te­ra­gi­re con il sito in questione. A questo proposito già nel 2009 l’azienda SaaS MOZ ha pub­bli­ca­to un articolo sul blog sull’effetto dei captcha sul tasso di con­ver­sio­ne dei moduli web. In uno studio sul caso l’autore di YouMoz, Casey Henry, ha ana­liz­za­to in un periodo di tempo di sei mesi più di 50 siti aziendali ed è giunto alla con­clu­sio­ne che i tassi di con­ver­sio­ne dei moduli online (ad esempio per la re­gi­stra­zio­ne alle new­slet­ter) in media scen­de­va­no del 3,2 % nel caso in cui fossero stati attivati dei captcha. Tuttavia anche lo spam si riduceva dell’88 %.   Proprio le aziende che generano introiti nel momento in cui gli utenti in­te­ra­gi­sco­no con il sito, do­vreb­be­ro ri­flet­te­re se una frequenza di rimbalzo in questo ordine di grandezza è ac­cet­ta­bi­le. Qui serve calcolare i costi dei metodi antispam al­ter­na­ti­vi con le perdite generate dai captcha.

Captcha e ac­ces­si­bi­li­tà

La scelta di una tec­no­lo­gia captcha adeguata diventa difficile per i gestori dei siti che vor­reb­be­ro rendere pie­na­men­te ac­ces­si­bi­li le loro pagine senza barriere e quindi anche a persone disabili. Ci sono molte persone di­ver­sa­men­te abili che uti­liz­za­no Internet e proprio per questo tipo di utenti le pos­si­bi­li­tà offerte dal World Wide Web pro­met­to­no spesso una notevole sem­pli­fi­ca­zio­ne della vita di tutti i giorni. Ma la maggior parte delle offerte online non è ac­ces­si­bi­le a tutti. Anche i captcha si pre­sen­ta­no spesso come una barriera in­sor­mon­ta­bi­le, ad esempio quando la pos­si­bi­li­tà di verifica non può essere risolta per via di problemi alla vista o altri tipi di di­sa­bi­li­tà. Anche le Web Content Ac­ces­si­bi­li­ty Gui­de­li­nes (WCAG) della Web Ac­ces­si­bi­li­ty Ini­tia­ti­ve (WAI) del World Wide Web Con­sor­tium (W3C) si con­cen­tra­no sulla questione dell’ac­ces­si­bi­li­tà in relazione ai captcha e sta­bi­li­sco­no i seguenti punti come requisiti di base per un captcha senza barriere:

  • Se viene uti­liz­za­to un contenuto non di testo (ad esempio una grafica) per di­stin­gue­re gli utenti reali dai programmi per computer dovrebbe essere messa a di­spo­si­zio­ne un’al­ter­na­ti­va testuale volta a chiarire lo scopo del contenuto non di testo.
  • Se viene uti­liz­za­ta una tec­no­lo­gia captcha, questa dovrebbe essere strut­tu­ra­ta di modo che si possano scegliere delle soluzioni al­ter­na­ti­ve che tengano conto di diverse forme di di­sa­bi­li­tà.

Anche la Consip, la centrale acquisti della pubblica am­mi­ni­stra­zio­ne, ha evi­den­zia­to la necessità della pubblica am­mi­ni­stra­zio­ne di rendere i suoi siti ac­ces­si­bi­li a tutti nel documento contenuto sul loro sito. Oltre a garantire i requisiti di base, si consiglia di integrare sempre i captcha in un testo di ac­com­pa­gna­men­to espli­ca­ti­vo. I gestori dei siti che impostano i captcha come mezzo di pre­ven­zio­ne contro lo spam do­vreb­be­ro as­si­cu­rar­si che gli utenti com­pren­da­no come possono au­ten­ti­car­si come utenti umani. Ciò sot­tin­ten­de una guida com­pren­si­bi­le del test di Turing pre­sen­ta­to in forma testuale e leggibile dalle macchine, oltre che con campi di input forniti di leggende adeguate. Gli utenti do­vreb­be­ro in ogni caso avere la pos­si­bi­li­tà di saltare i captcha il­leg­gi­bi­li e di ripetere la verifica con un nuovo captcha, nel caso in cui l’in­se­ri­men­to risulti errato. Inoltre il captcha non dovrebbe mai essere l’unica pos­si­bi­li­tà di uti­liz­za­re un’offerta web. In al­ter­na­ti­va al captcha offrite sempre anche l’opzione di poter essere attivati prendendo contatto con l’am­mi­ni­stra­to­re o l’as­si­sten­za clienti. In aggiunta si consiglia di ridurre al minimo l’uso dei captcha. Se la re­gi­stra­zio­ne dell’utente sul sistema è già andata a buon fine, non dovrebbe avvenire nessun’altra verifica sotto forma di captcha.

Ci sono al­ter­na­ti­ve ai captcha?

Anche se i captcha oggi sono on­ni­pre­sen­ti, i metodi basati sul test di Turing non sono l’unica pos­si­bi­li­tà di difendere un sito in­te­rat­ti­vo dallo spam. Già nel 2005, WAI con Working Group Note 23https://www.w3.org/TR/tu­ring­te­st ha svi­lup­pa­to un catalogo di proposte per la pre­ven­zio­ne spam senza ricorrere ai captcha in un documento in­ti­to­la­to “Inac­ces­si­bi­li­ty of CAPTCHA – Al­ter­na­ti­ves to Visual Turing Tests on the Web”. Con il tempo si sono affermati in­nu­me­re­vo­li metodi per iden­ti­fi­ca­re richieste o input au­to­ma­ti­ci.

  • Blacklist: se si può in­di­vi­dua­re una fonte precisa di origine dei post spam o di molte richieste au­to­ma­ti­che, i gestori dei siti hanno la pos­si­bi­li­tà di impedire tutte le in­te­ra­zio­ni pro­ve­nien­ti da questa direzione in­se­ren­do­li in una blacklist. In questo caso si tratta di una lista in cui sono presenti gli indirizzi e-mail bloccati e che elenca tutti i server o gli indirizzi IP che devono essere bloccati in futuro. Una blacklist simile si può creare ma­nual­men­te tramite il file .htaccess. In al­ter­na­ti­va su Internet si trovano diverse reti antispam e servizi pro­fes­sio­na­li che mettono a di­spo­si­zio­ne delle liste cen­tra­liz­za­te e con­ti­nua­men­te ag­gior­na­te.
  • Honeypot: alcuni gestori di siti sma­sche­ra­no i po­ten­zia­li candidati per una blacklist, inserendo già nel modulo online dello spam. Questi co­sid­det­ti honeypot (let­te­ral­men­te “Barattoli di miele”) sono dei campi di input che vengono nascosti agli utenti umani tramite CSS o Ja­va­Script. I semplici spam bot, invece, estra­po­la­no so­li­ta­men­te solo il codice HTML di un sito e riempiono da soli i campi nascosti con contenuti generati au­to­ma­ti­ca­men­te. Un chiaro indizio di ciò è che l’in­te­ra­zio­ne con la pagina web non avviene tramite browser e quindi dietro alla richiesta non si nasconde un utente umano.
  • Filtro dei contenuti: una pos­si­bi­li­tà di arginare i commenti spam sui blog, negli online shop o nei forum è offerta dal filtro dei contenuti, che lavorano a loro volta con le blacklist. Così i gestori dei siti de­fi­ni­sco­no le co­sid­det­te “Hot words”, ovvero le keyword che compaiono in genere nei commenti spam, per iden­ti­fi­ca­re au­to­ma­ti­ca­men­te input sospetti come generati dal computer. Se viene uti­liz­za­to il filtro dei contenuti, aumenta però il rischio che vengano bloccati anche i post degli utenti umani, nel caso in cui con­ten­ga­no queste keyword della blacklist.
  • Impiego di filtri lato server: sulla maggior parte dei web server viene uti­liz­za­to un filtro che consente di ri­co­no­sce­re in­te­ra­zio­ni sospette in precise sezioni di un sito e limitare così i danni causati dagli spam bot. I filtri spam si ap­pog­gia­no ad analisi sta­ti­sti­che, eu­ri­sti­che e basate sui com­por­ta­men­ti, per in­di­vi­dua­re in­te­ra­zio­ni sospette ser­ven­do­si di segnali insoliti e schemi co­no­sciu­ti. Le analisi che avvengono grazie al filtro spam si ri­fe­ri­sco­no a ca­rat­te­ri­sti­che tecniche dello user agent. Vengono ad esempio valutati la quantità di dati richiesti, l’indirizzo IP, i metodi di im­mis­sio­ne dei dati uti­liz­za­ti, oltre che i dati della firma e delle pagine web già visitate. Inoltre ana­liz­zan­do la marca temporale si può com­pren­de­re quanto tempo è stato ne­ces­sa­rio tra la consegna dei dati di un modulo online e l’arrivo della risposta. Infatti, al contrario degli utenti umani, gli spam bot impiegano un tempo con­si­de­re­vo­le nel compilare i campi di input.

Un’al­ter­na­ti­va am­pia­men­te diffusa al classico captcha, che si appoggia sulle analisi basate sul com­por­ta­men­to, è fornita ugual­men­te da Google. Sotto il nome di “No CAPTCHA reCaptcha” Google offre a partire dal 2013 un servizio di Human Ve­ri­fi­ca­tion che protegge dagli abusi le pagine web in­te­rat­ti­ve in modo af­fi­da­bi­le e nella maggior parte dei casi senza usare captcha. Al posto di mettere davanti agli utenti un esercizio che si basa su relazioni visive, sonore o logiche, il nuo­vis­si­mo reCAPTCHA di Google comprende solo un semplice check box.

Se un utente mette una spunta su “Non sono un robot”, il software verifica in back­ground quanto sia probabile che si tratti di un input au­to­ma­ti­co. Così Google si basa su un rischio di analisi avanzato. Ma l’azienda non rivela quali passaggi comprenda questo algoritmo di verifica. In rete vengono però discussi i seguenti modi:

  • Cookie
  • Indirizzi IP
  • Movimenti del mouse nell’area del check box
  • Durata della per­ma­nen­za

Se il software arriva alla con­clu­sio­ne che si tratti di un utente umano, allora il vi­si­ta­to­re può pro­se­gui­re senza ostacoli. Solo se il risultato dell’analisi lascia presagire un alto rischio di spam, allora deve essere risolto un captcha. No CAPTCHA è così un pro­ce­di­men­to di verifica pre­e­si­sten­te che valuta se sia ne­ces­sa­ria una Human Ve­ri­fi­ca­tion tramite il test di Turing o se possa essere saltata. Ciò viene incontro all’utente in termini di usabilità, ma solleva questioni relative alla pro­te­zio­ne dei dati personali. I gestori dei siti che uti­liz­za­no il nuovo reCAPTCHA tra­smet­to­no a Google au­to­ma­ti­ca­men­te i dati di movimento dei loro utenti. I vi­si­ta­to­ri devono perciò venire espli­ci­ta­men­te informati nell’in­for­ma­ti­va sulla privacy del fatto che software di terze parti vengono uti­liz­za­ti come pro­te­zio­ne contro lo spam. Risulta anche strano che Google indichi per il nuovo reCAPTCHA le con­di­zio­ni generali di utilizzo così come un’in­for­ma­ti­va sulla privacy globale, che viene uti­liz­za­ta anche per tutti gli altri servizi di Google. Non è perciò da escludere che l’azienda impieghi i dati raccolti anche per l’ot­ti­miz­za­zio­ne dei propri servizi (ad esempio per la pub­bli­ci­tà), al di là che per la pre­ven­zio­ne contro lo spam. Questa questione viene af­fron­ta­ta in un articolo del magazine online Business Insider. Sebbene il servizio di Google goda di una grande po­po­la­ri­tà, la normativa sulla privacy fa capo a leggi americane, più blande rispetto a quelle europee. Sulla pagina iniziale attuale del progetto reCaptcha (dati ag­gior­na­ti a gennaio 2017) Google annuncia con Invisible reCAPTCHA uno sviluppo del No CAPTCHA reCAPTCHA che si presenta senza il check box in­te­rat­ti­vo.

In teoria Invisible reCAPTCHA funziona nel modo seguente: se un utente compila un modulo online, si svolgono in back­ground diversi processi di analisi, su cui Google finora tace.

Vai al menu prin­ci­pa­le