I test CAPTCHA perché si usano
di Elvio Rossi
Risorse correlate
CaptchaSicurezza informatica
Testi simili in...
TecnologiaWebmaster
I test captcha sono quei campi in cui viene richiesto, all'utente, di riscrivere esattamente il contenuto riportato da una finestrella in cui i vari caratteri alfanumerici contenuti appaiono ruotati, distorti, mascherati o offuscati.
L'acronimo inglese CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) che significa grossomodo test automatico per distinguere i computer dagli umani, è stato coniato, dalla terminologia inglese, nel 2000 da Luis Von Ahn, Manuel Blum e Nicholas J. Hopper della Università Carnegie Mellon e da John Langford della IBM. Come succede normalmente nella terminologia informatica, il termine inglese è utilizzato pari pari anche in lingua italiana.
I test captcha più utilizzati sono quelli in cui viene richiesto, all'utente, di riscrivere esattamente il contenuto riportato da una finestrella in cui i vari caratteri alfanumerici contenuti appaiono ruotati, distorti, mascherati o offuscati. Lo scopo è appunto di poter distinguere se l'utilizzatore che sta interagendo, sia effettivamente un umano fornito di intelligenza od un semplice computer o un robot (BOT) che sta cercando di inserirsi in automatico.
I BOT più diffusi, programmati per navigare sul Web, sono i web crawler (letteralmente brulicatori della rete), e sono software piuttosto sofisticati anche detti spider (o ragni). Questi programmi scorrono continuamente le pagine Web seguendo i link ipertestuali che trovano nei testi e passano dall'una all'altra pagina raccogliendo informazioni sui contenuti allo scopo di indicizzarle opportunamente nei motori di ricerca.
Sui canali IRC (Internet Relay Chat) invece, i bot svolgono svariati compiti: dall'offerta di servizi di file sharing integrati nel sistema di chat, al ruolo di "maggiordomi" delle stanze virtuali più o meno sofisticate, fino ad arrivare al dannosissimo spamming rivolto automaticamente a tutti gli utenti che entrano in chat.
Proprio per evitare quest'ultima piaga dei software automatici, spesso utilizzati a scopo di hacking da malintenzionati, si è corsi ai ripari cercando soluzioni efficaci che possano distinguere gli hacker dai semplici utenti che usano la rete per professione o per diletto.
Oggi i test captcha sono quindi impiegati per contrastarei o impedire che i bot violino la rete con operazioni di hacking o utilizzino servizi come i forum, la registrazione verso i siti, la scrittura di commenti e tutte quelle operazioni che creano spam ed infestino i siti di immondizie che nulla c'entrano con lo scopo del servizio.
Ultimamente questo tipo di test viene utilizzato anche per contrastare lo spam generato dai bot obbligando il mittente, se non conosciuto dal destinatario, a superare un test captcha prima di consentirgli la consegna del messaggio.
Non bisogna però pensate che sia un problema da poco, i bot infatti si fanno sempre più agguerriti e molti riescono ormai a riconoscere lettere e numeri con sofisticatissimi programmi di riconoscimento (OCR) con una precisione fino a poco fa impensabile. Di conseguenza anche i sistemi anti intrusione devono evolversi di pari passo e scovare metodi e stratagemmi sempre più affidabili e compatibili.
Altro problema infatti è la compatibilità che si pone quando l'uso dei PC proviene dai non vedenti, utilizzando stringhe CAPTCHA troppo sofisticate si andrebbe a precluderne l'uso anche a questi soggetti che fanno affidamento su sistemi di riconoscimento per nulla diversi da quelli dei bot, per ovviare si è pensato anche alla comunicazione audio delle stringhe (facilmente riconoscibili dall'uomo ed ancora molto difficili da discriminare ai bot).
Gli algoritmi utilizzati per realizzare i test CAPTCHA vengono anche divulgati al pubblico (pur essendo protetti da brevetto). Tale politica di trasparenza serve a dimostrare che la sicurezza del metodo non risiede sulla conoscenza dell'algoritmo più o meno segreto. Al contrario, per scavalcare l'algoritmo è necessario risolvere un problema semplice per le persone ma piuttosto difficile se svolto da sistemi di intelligenza artificiale.
Altra tecnica, più sicura, che si sta sviluppando negli ultimi anni, è quella di realizzare dei test basati sul riconoscimento di un volto (chiamata RTT based on faces recognition).
Ma c'é un però; a seguito dell'uso massiccio di test captcha su ormai tantissimi siti che prevedono l'immissione di testo da parte del pubblico, sono state sviluppate alcune contromisure che permettono agli spammer di superare simili test.
Il primo metodo, più semplice, è di utilizzare un utente in carne ed ossa per risolvere il captcha. Per fare questo lo spammer deve avere un sito Internet con un servizio per cui gli utenti umani chiedono l'accesso, come un forum o immagini pornografiche. Quando un utente chiede di accedere, viene salvato un captcha esterno che viene quindi risolto dall'utente. Successivamente verrà riciclato il captcha già risolto.
È anche possibile affidare a persone pagate, il compito di risolvere un captcha, è dimostrato che un operatore può facilmente verificare centinaia di captcha in un'ora; questa possibile soluzione necessita di un investimento economico che però non tutti possono o vogliono intraprendere.
Greg Mori e colleghi hanno presentato nel 2003 un lavoro che illustra come aggirare uno dei sistemi più diffusi per realizzare test captcha, l'EZ-Gimpy; tale approccio risulta efficace nel 92% dei casi. Al momento non è però noto se tale algoritmo sia stato implementato anche al di fuori del contesto della ricerca.
Sono stati creati anche alcuni programmi per cercare una soluzione ripetutamente e altri per riconoscere i caratteri scritti, utilizzando tecniche apposite e non quelle standard degli OCR. Progetti come PWNtcha hanno fatto grandi passi avanti contribuendo alla generale migrazione verso captcha più difficili.
Ovviamente la ricerca è continua e promette innovazioni sempre più sofisticate; in questa perenne rincorsa tra guardie e ladri chi ne fa le spese sono, come al solito, gli utilizzatori finali che, per poter inserire un semplice commento su un blog, dovrà sempre di più arrabbattarsi con metodi che di sicuro non gli semplificano la vita.
Alla faccia della tecnologia!