Traduzione dell’articolo di Gez Lemon “Accessibility of CAPTCHA” pubblicato il 10 settembre 2006 su  Juicy Studio

Premessa

La tecnica denominata CAPTCHA (Completely Automated Public Turing test to Tell Computers and Humans Apart) è utilizzata nel tentative di differenziare gli umani dalle macchine basandosi sulle sole abilità. DI qualunque tipologia esse siano, sensoriali, legate alla mobilità o cognitive, un test sulle abilità degli utenti creerà sempre e comunque delle barriere insormontabili per alcune persone, ancor più quando molte di esse affette da menomazioni sensoriali si basano su macchine come gli screen readers per bypassare tali menomazioni.

Quello che i servizi online realmente vogliono sapere, allo scopo di proteggere le loro risorse, non è il livello di abilità delle persone dall’altra parte della connessione, ma se la sessione corrente è sicura o no. Questo articolo si rivolge al networking sociale per capire se il problema della sicurezza è risolvibile prescindendo dalle abilità degli utenti.

Perchè i CAPTCHA non funzionano

I siti Web che hanno intenzione di proteggere le proprie risorse, utilizzano spesso un CAPTCHA allo scopo di evitare che I robots possano abusare dei loro servizi (consulta il rapporto del progetto WAI sull’inaccessibilità del CAPTCHA http://www.w3.org/TR/turingtest/). Essi cercano di distinguere gli umani dai robot attraverso un test sulle abilità, per esempio richiedendo ad un umano di riconoscere delle lettere all’interno di un’immagine distorta, o parole all’interno di suoni distorti. La distorsione è necessaria perché i robots utilizzati per infrangere tali difese possono contare su algoritmi molto sofisticati, e spesso superano gli umani nel decifrarli. 

CAPTCHA multipli

Avendo preso atto dei gravi problemi di accessibilità del CAPTCHA, alcune aziende hanno predisposto più metodi in parallelo, come un CAPTCHA visuale affiancato da un CAPTCHA sonoro. Pur essendo questa soluzione migliore del metodo singolo, non può essere utilizzato dalle persone che hanno più di un a disabilità (è cosa comune). Ed è improbabile che un utente anziano possa riuscire ad utilizzare un servizio che pretende di discernere tra umani e robots basandosi solo sulle abilità sensoriali, proprio mentre esse tendono a diminuire con l’età degli umani, non dei robots.

Alcuni servizi potrebbero persino arrivare a porre all’utente delle domande semplici, incredibilmente semplici per un umano, ma difficili per un computer. Un esempio potrebbe essere: “Di che colore è un’arancia?” con affianco una casella di testo per inserire la risposta. Potrebbe sembrare un approccio del tutto ragionevole, ma esso potrebbe causare problemi ad utenti con disabilità cognitive, così come a quelli che non conoscono bene la lingua utilizzata in quella pagina. Le domande che non potranno che essere semplici si basano necessariamente su schemi semplici, e saranno quindi superate con relativa facilità dai robots.

Oscurità come tecnica di difesa

Un’altra tecnica sorprendentemente popolare è la sicurezza per oscurità! Pur non potendo considerarsi questa una seria difesa contro un attacco online, su queste tipologie di tecniche si concentrano di solito molte attenzioni in quanto esse appaiono a prima vista efficienti.

Si tratta di successi quasi sempre di breve durata se la tecnica guadagna abbastanza attenzione e visibilità, visto che – per loro stessa natura – esse sono incredibilmente facili da superare. Ciò nonostante, i servizi generalmente richiedono all’utente di fare i salti mortali per il loro utilizzo.

Se il servizio che state fornendo non è caratterizzato da una richiesta molto elevata, l’oscurità avrà successo assai limitato; se qualcuno avrà intenzione di utilizzare il vostro servizio, l’oscurità avrà la stessa efficacia di una pentola di cioccolato!

Personalmente, credo che gli sviluppatori che si ostinano a distinguere gli umani dalle macchine non stanno chiedendosi la giusta domanda. Realisticamente, il loro scopo non è di sapere quali siano le capacità di ciò o colui che si trova dall’altra parte della connessione, bensì il suo livello di affidabilità. Testare le abilità non è la stessa cosa di testare l’affidabilità, ed è proprio quest’ultima a rientrare nell’interesse di un servizio che cerca di proteggere le proprie risorse. Sfortunatamente, l’affidabilità è un tratto difficile da testare.