captcha

Codici CAPTCHA: cosa sono, cosa fanno e come funzionano

Ti domandi perché alcuni siti web ti chiedono di selezionare una casella per confermare di non essere un bot? Oppure perché a volte vengono visualizzati codici CAPTCHA come immagini da inserire? In questo articolo troverai le risposte a tutte queste domande e a molte altre: spiegheremo cosa significa CAPTCHA, come funzionano i controlli di sicurezza e illustreremo i diversi tipi di CAPTCHA. Scoprirai inoltre come funzionano gli attacchi con CAPTCHA falsi e come proteggerti con Avira Free Security. 

Che cos’è un CAPTCHA e come funziona?

CAPTCHA sta per Completely Automated Public Turing Test to tell Computers and Humans Apart. In parole semplici, un CAPTCHA verifica se sei una persona reale o un programma automatizzato (un bot) che potrebbe avere cattive intenzioni, come ad esempio diffondere spam o sferrare un attacco informatico.

Esistono diversi tipi di test CAPTCHA. In alcuni casi è sufficiente selezionare una casella, mentre in altri potrebbe essere necessario superare una semplice verifica. In questo caso, il meccanismo di sicurezza verifica se l’utente è un essere umano tramite un test challenge-response, in cui viene chiesto di superare una verifica e inviare la risposta. 

Le verifiche vengono generate automaticamente da un generatore di numeri casuali in base a regole predefinite. La risposta viene quindi sottoposta a un processo di convalida, in cui appositi algoritmi analizzano la risposta e determinano la probabilità che sia stata generata da un essere umano. Se la verifica non viene superata, l’azione corrispondente solitamente viene bloccata. 

I CAPTCHA sono progettati per essere relativamente facili da superare per gli esseri umani, ma difficili per i bot. Tuttavia, questa situazione sta cambiando principalmente grazie all’uso dell’intelligenza artificiale (IA) e dell’apprendimento automatico: molte verifiche non rappresentano più un ostacolo insormontabile per i bot. Oltre ai CAPTCHA visibili, esistono anche CAPTCHA che operano in modo invisibile in background, un aspetto che approfondiremo nella sezione dedicata alle diverse tipologie di CAPTCHA.

A cosa servono i CAPTCHA?

La verifica CAPTCHA viene utilizzata sui siti web per impedire ai bot di interferire con le funzionalità del sito o di abusarne. 

I CAPTCHA sono utilizzati principalmente per: 

Che cosa attiva un test CAPTCHA?

Mentre i sistemi CAPTCHA più vecchi e semplici mostrano i test per impostazione predefinita durante i processi di sicurezza (come la registrazione, l’invio di un modulo, l’accesso o il ripristino della password), i sistemi CAPTCHA più recenti operano in modo invisibile in background, utilizzando diversi meccanismi per rilevare gli accessi automatizzati.  

Un CAPTCHA visibile viene mostrato solo se il sistema ritiene necessario un ulteriore controllo di sicurezza.

I sistemi CAPTCHA basati sul rischio avviano una valutazione a seconda di diversi parametri tecnici e comportamentali. Se il punteggio di rischio calcolato supera una soglia definita, può essere attivato un controllo di sicurezza.

I seguenti eventi possono attivare un controllo CAPTCHA:

Tipi di CAPTCHA ed esempi

Come già accennato, esistono tipi di CAPTCHA sia semplici che moderni. Tra i metodi di base rientrano le versioni tradizionali, come le immagini con testo distorto in cui occorre riconoscere lettere e numeri. Le soluzioni moderne analizzano il comportamento dell’utente e i parametri tecnici in background oppure utilizzano altri meccanismi, svolgendo talvolta il proprio lavoro senza alcuna verifica visibile. Poiché gli autori degli attacchi sviluppano costantemente nuovi metodi per aggirare i meccanismi di sicurezza, i fornitori devono migliorare continuamente i propri sistemi, creando una corsa senza fine tra i servizi di superamento dei CAPTCHA e i sistemi CAPTCHA stessi.

CAPTCHA testuali (codici CAPTCHA)

I CAPTCHA testuali sono costituiti da una sequenza casuale di lettere e/o numeri, da cui deriva il loro nome. Spesso vengono posizionati su sfondi colorati o a motivi, distorti con elementi grafici, barrati o deformati per rendere difficile ai bot la lettura automatica: in teoria sono tutte ottime misure di sicurezza, ma anche gli esseri umani spesso faticano a decifrare correttamente le stringhe di caratteri. 

CAPTCHA basati su immagini

Partendo dai CAPTCHA testuali, relativamente semplici, i CAPTCHA basati su immagini rappresentano la fase evolutiva successiva nello sviluppo dei CAPTCHA. Invece di inserire un codice CAPTCHA, l’utente deve selezionare, tra una serie di foto, quelle che contengono un oggetto specifico, come un semaforo o un’auto. In alcuni casi, l’utente deve perfino ruotare un’immagine nel verso corretto (detto CAPTCHA di rotazione). 

CAPTCHA a puzzle

In questo caso, devi posizionare correttamente i pezzi del puzzle usando un cursore o trascinandoli nella posizione giusta per completare l’immagine. Generalmente sono più intuitivi e facili da usare rispetto ai codici CAPTCHA tradizionali. 

CAPTCHA audio

I CAPTCHA audio sono stati sviluppati per gli utenti ipovedenti. Con questi CAPTCHA, la verifica audio viene generata dinamicamente e le lettere e i numeri visualizzati sono distorti o riprodotti con rumore di fondo. Lo svantaggio è che spesso sono così difficili da comprendere che non solo gli utenti con problemi uditivi, ma anche quelli con problemi visivi, faticano a risolverli. 

CAPTCHA logici

Questi CAPTCHA sono composti da semplici verifiche, come addizioni di base o domande di cultura generale, a cui è facile rispondere. Se visualizzati come testo semplice, anche le persone con disabilità visive possono risolverli, poiché le utilità di lettura dello schermo riescono a leggere le verifiche, a differenza dei CAPTCHA con testo grafico o immagini. Tuttavia, risultano facili da risolvere anche per i bot. 

CAPTCHA honeypot

I CAPTCHA honeypot attirano i bot in una trappola utilizzando un campo modulo invisibile integrato nel sito web, che gli utenti non riescono a vedere. I bot, d’altra parte, spesso compilano automaticamente tutti i campi, tradendo così la propria natura. Questo metodo è molto intuitivo, ma offre protezione solo contro semplici attacchi automatizzati. 

CAPTCHA crittografici (CAPTCHA proof-of-work)

Sistemi CAPTCHA alternativi come Friendly Captcha e mCaptcha rappresentano l’ultima tipologia di controllo di sicurezza, in cui il computer deve risolvere una verifica crittografica (proof-of-work) in background. Non devi fare nulla: il calcolo viene eseguito in modo automatico e invisibile nel browser. Il server convalida crittograficamente il risultato, rilevando all’istante le richieste manipolate o false. Se il sistema rileva segni di accesso automatizzato, aumenta la difficoltà della verifica. Questo rende la risoluzione più dispendiosa in termini di tempo e riduce la convenienza economica degli utilizzi impropri automatizzati. 

Un esempio è la soluzione Turnstile di Cloudflare. Utilizza un approccio ibrido in modalità gestita, con una verifica in più passaggi: il sistema controlla l’hardware e il browser, quindi analizza il comportamento dell’utente all’interno del widget. Le verifiche non interattive (inclusi i calcoli proof-of-work) vengono avviate in background solo se il sistema non è sicuro che l’utente sia legittimo. L’interazione da parte dell’utente, ad esempio tramite clic su una casella di controllo o un pulsante, è richiesta solo come ultima risorsa.

CAPTCHA comportamentali

Anche i CAPTCHA comportamentali sono invisibili e analizzano l’interazione dell’utente e altri fattori (denominati segnali) in background. In caso di comportamento sospetto da parte dell’utente, il sistema potrebbe attivare un ulteriore passaggio di verifica e mostrare un CAPTCHA visibile. Questo li rende facili da usare e garantisce un elevato livello di sicurezza. Gli esempi più noti includono reCAPTCHA v2 Invisible Badge di Google e hCaptcha Invisible di Intuition Machines.

Le soluzioni avanzate come reCAPTCHA v3, reCAPTCHA Enterprise e hCaptcha Enterprise adottano un approccio basato sul rischio, generando un punteggio di rischio a seconda di vari segnali. In base a questi dati, è il sito web (e non il sistema) a decidere i passi successivi. Sia hCaptcha che reCAPTCHA utilizzano sofisticati modelli di intelligenza artificiale e apprendimento automatico per valutare le informazioni del dispositivo e gli schemi di interazione in tempo reale.

Google reCAPTCHA

reCAPTCHA (abbreviazione di Reverse CAPTCHA) è un sistema CAPTCHA sviluppato nel 2007 da Luis von Ahn, Manuel Blum e Nicholas Hopper presso la Carnegie Mellon University. Da quando Google l’ha acquisito nel 2009, il sistema è stato continuamente sviluppato e ampliato, diventando uno dei servizi CAPTCHA più diffusi al mondo.

Esistono tre versioni di reCAPTCHA:

reCaptcha v1

La prima versione di reCAPTCHA è stata dismessa nel 2018. Visualizzava una cifra di controllo nota insieme a una parola tratta da documenti scansionati che il software OCR faticava a riconoscere. Se la parola di controllo veniva inserita correttamente, si presumeva che anche la seconda parola fosse stata trascritta correttamente. In questo modo, il controllo di sicurezza serviva anche a digitalizzare testi difficili da leggere, da cui il nome “reverse” CAPTCHA. 

In seguito, la seconda parola è stata sostituita con foto tratte dal progetto Google Street View. Gli utenti dovevano leggere e inserire numeri civici oppure cliccare su parti di un’immagine che mostravano oggetti specifici. In questo modo, contribuivano ad addestrare e migliorare il riconoscimento automatico degli oggetti.

reCAPTCHA v2

Esistono due varianti della seconda versione di reCAPTCHA. Se un utente viene classificato come sospetto, in entrambe le varianti potrebbe comparire un’ulteriore verifica tramite immagine.

  1. Variante con casella di controllo (No CAPTCHA reCAPTCHA): gli utenti visualizzano solo una casella di controllo con la dicitura “Non sono un robot”, che devono confermare. Google analizza il modo in cui l’utente interagisce con la casella di controllo e verifica schemi comportamentali sottili come i movimenti del mouse e le sequenze di clic.
  2. Variante con badge invisibile: in questo caso, un widget invisibile è incorporato nella pagina e si attiva tramite JavaScript, sia cliccando su un pulsante (come “Invia”) che automaticamente dopo una specifica interazione sul sito web. Viene anche verificato il comportamento interattivo.

reCAPTCHA v3

Con la terza versione di reCAPTCHA, i controlli di verifica vengono eseguiti in modo completamente invisibile in background, senza che sia richiesta alcuna interazione da parte dell’utente. Google analizza tutto il comportamento dell’utente sul sito web (come i movimenti del mouse, i modelli di interazione e la velocità di digitazione), tiene conto dei cookie e delle visite precedenti alle pagine e valuta le informazioni sul dispositivo e sul browser, nonché la reputazione dell’indirizzo IP dell’utente, calcolando un punteggio di rischio (0 = molto probabilmente un bot, 1 = molto probabilmente un essere umano). 

In base a questo punteggio, il gestore del sito web decide come il sito debba reagire al raggiungimento di determinate soglie, ad esempio consentendo l’accesso, visualizzando un ulteriore livello di verifica, attivando ulteriori meccanismi di sicurezza o bloccando l’azione. Gli utenti che hanno effettuato l’accesso con un account Google ottengono un punteggio migliore, perché sono più facili da identificare. 

reCAPTCHA v3 è spesso criticato perché Google raccoglie una grande quantità di dati degli utenti a scopo di analisi e può tracciare il comportamento di navigazione su diversi siti web, sollevando preoccupazioni in materia di protezione dei dati, soprattutto in relazione all’RGPD, il Regolamento generale sulla protezione dei dati dell’UE.

Svantaggi dei CAPTCHA

Sebbene i CAPTCHA offrano protezione dai bot, presentano anche alcuni svantaggi. A seconda del sistema CAPTCHA, i problemi vanno dalle già citate preoccupazioni in materia di protezione dei dati, agli errori e alle difficoltà con i test, alla scarsa accessibilità, fino all’indebolimento dell’efficacia causato da tecniche di elusione altamente specializzate.

Risolutori di CAPTCHA

I risolutori di CAPTCHA sono programmi che risolvono i CAPTCHA utilizzando algoritmi tradizionali oppure mediante l’intelligenza artificiale e l’apprendimento automatico. In combinazione con strumenti di automazione avanzati, simulano anche schemi di interazione umana, come la dinamica del mouse o il ritmo di digitazione, e utilizzano lo spoofing del browser per eludere l’analisi comportamentale e i controlli tecnici. I risolutori di CAPTCHA sono disponibili come semplici estensioni del browser per gli utenti ipovedenti, componenti aggiuntivi più potenti o strumenti di automazione indipendenti. Spesso utilizzano interfacce API per connettersi a servizi di risoluzione esterni, che forniscono la soluzione tramite modelli di intelligenza artificiale specializzati o operatori umani (vedi “CAPTCHA farm”).

Uno studio condotto da ricercatori dell’ETH di Zurigo mostra che un sistema di intelligenza artificiale appositamente addestrato è riuscito a risolvere con successo tutte le verifiche con immagini reCAPTCHA v2 testate, utilizzando un modello di riconoscimento degli oggetti (YOLO – You Only Look Once). Uno studio dell’Università della California dimostra che i sistemi di intelligenza artificiale specializzati ora risolvono i CAPTCHA testuali con un tasso di successo del 99,8%, mentre quello degli esseri umani al primo tentativo è compreso tra il 50 e l’84%, a seconda del livello di difficoltà. 

La corsa agli armamenti tecnologici sta quindi conducendo a un vicolo cieco con i CAPTCHA tradizionali: per ostacolare efficacemente i sistemi di intelligenza artificiale, i CAPTCHA devono essere così complessi da risultare quasi impossibili da risolvere per gli esseri umani. Per spezzare questo circolo vizioso, i moderni sistemi basati sul comportamento e sulla crittografia non si affidano più a verifiche visibili, ma a procedure di controllo in background. L’obiettivo è innalzare le barriere agli attacchi automatizzati da parte di bot basati sull’intelligenza artificiale a tal punto che la loro esecuzione diventi economicamente insostenibile a causa dell’enorme sforzo tecnologico o finanziario aggiuntivo richiesto.

CAPTCHA farm

Le “CAPTCHA farm” sono servizi organizzati in cui persone (spesso nei paesi a basso reddito) risolvono i CAPTCHA in massa e quasi in tempo reale. Criminali e operatori di spam utilizzano interfacce API per inoltrare automaticamente le query dei loro bot ai servizi di risoluzione, che a loro volta distribuiscono le attività alla forza lavoro. I token di soluzione generati dai lavoratori vengono quindi restituiti al bot tramite il provider del servizio. Questo consente di affrontare anche attività complesse che i sistemi di intelligenza artificiale basati esclusivamente su software spesso non sono ancora in grado di risolvere in modo affidabile. In combinazione con tecniche di offuscamento dell’IP, anche i sistemi con valutazioni basate sul rischio possono essere ingannati.

Scarsa usabilità e accessibilità

I CAPTCHA tradizionali possono compromettere significativamente l’usabilità di un sito web, causando frustrazione e l’abbandono della pagina, soprattutto se sono difficili da risolvere. Per le persone con disabilità visive o uditive, possono perfino rappresentare una barriera insormontabile. Ecco perché le soluzioni moderne eseguono la verifica CAPTCHA in background senza che l’utente debba fare nulla.

Problemi con i CAPTCHA

A volte possono verificarsi errori o problemi con i CAPTCHA. Se non riesci a risolvere un test CAPTCHA o hai inserito informazioni errate, di solito puoi richiedere una nuova verifica. Per farlo, in genere devi premere o toccare il pulsante di aggiornamento (una piccola icona a forma di freccia circolare). A volte vedrai anche un pulsante di aggiornamento o un link per generare una nuova immagine o un nuovo codice.

Possono esserci diversi motivi per cui un CAPTCHA non funziona, non viene visualizzato, la verifica non va a buon fine o si viene bloccati. Le cause più comuni di problemi con i CAPTCHA includono un browser o dati del browser obsoleti, estensioni del browser come utilità di blocco dei contenuti, cookie disabilitati, JavaScript disabilitato, una VPN attiva o una connessione Tor.

Come correggere gli errori dei CAPTCHA:

Truffe con CAPTCHA falsi

In alcuni casi, i criminali informatici utilizzano CAPTCHA falsi per diffondere malware. Nel caso delle truffe con CAPTCHA, gli utenti vengono ad esempio indotti da attacchi di phishing a visitare un sito web falso contenente un CAPTCHA manipolato. Cliccando sulla casella di controllo, viene eseguita in background una funzione che copia un comando dannoso negli Appunti del computer. 

All’utente viene quindi chiesto di incollare il comando nella finestra Esegui di Windows e di eseguirlo, operazione che scarica e installa il malware. GenDigital segnala che alcuni CAPTCHA vengono sfruttati in campagne malware per ingannare gli utenti e indurli a scaricare il malware Lumma Stealer. Questo malware è progettato per sottrarre dati sensibili come credenziali di accesso, portafogli di criptovaluta e altri dati di valore.

Proteggiti dagli attacchi CAPTCHA falsi

Una soluzione di protezione informatica come Avira Antivirus Security può aiutarti a difenderti dal malware diffuso tramite CAPTCHA falsi o con altri metodi. Questo perché include una protezione antivirus e dai download che permette di bloccare i malware. Inoltre, puoi controllare il computer per individuare eventuali infezioni eseguendo regolarmente scansioni antivirus. Potrai inoltre usufruire di molte altre funzionalità per rafforzare la sicurezza e la privacy online, come Avira Browser Safety per bloccare i siti infetti e i siti di phishing, una VPN e molto altro ancora. 

Friendly Captcha è un marchio registrato di Friendly Captcha GmbH
hCaptcha è un marchio registrato di Intuition Machines, Inc.
reCAPTCHA è un marchio registrato di Google LLC.
Turnstile è un marchio registrato di Cloudflare, Inc.

Questo articolo è disponibile anche in: IngleseTedescoFrancese

Exit mobile version