Quando parliamo di credential stuffing facciamo riferimento a una tecnica di attacco informatico che sfrutta credenziali rubate per ottenere i privilegi di accesso a siti e/o servizi Web.

Si tratta, in realtà, di una forma di aggressione piuttosto articolata rispetto alla semplicità della sua definizione, il cui autore, per decifrare i dati sensibili, non si avvale del metodo “brute force”- basato sulla dinamica “tentativi ed errori” – né tira a indovinare, ma automatizza gli accessi per un numero elevato (da migliaia a milioni) di coppie di credenziali scoperte in precedenza.

Ma andiamo in profondità, analizzando la natura del credential stuffing, il modo in cui viene condotto e come è possibile difendersi.

Cos’è un attacco di tipo credential stuffing

Nel credential stuffing, in realtà, chi attacca sfrutta un’abitudine errata da parte degli utenti, ossia quella di utilizzare più e più volte le stesse credenziali (username e password) per l’accesso a diversi portali, applicazioni e servizi web.

E tali credenziali – già in possesso dell’attaccante – vengono usate per ottenere l’accesso non autorizzato agli account degli utenti tramite richieste automatizzate. Che cosa significa, nel concreto? Che l’hacker automatizza i login per un ampio numero di utenti.

Ricordiamo che l’autore del credential stuffing lavora sulla base di un vero e proprio archivio di username/password raccolti in rete avvalendosi di diversi tool, tra cui – solo per citare alcuni esempi – i dorks di Google (query di ricerca immesse in un motore di ricerca, al fine di ottenere risultati specifici), il phishing e addirittura informazioni fornite da organizzazioni di criminal hacking.

Questi archivi contengono milioni – e in alcuni casi miliardi – di credenziali di accesso, per mezzo delle quali l’aggressore può giungere fino a circa mille account decifrati con successo. E se anche una piccola percentuale di questi è in grado di fornire dati utili (ad esempio, numeri di carte di credito), ecco che l’attacco è andato a buon fine.

Lo scopo del credential stuffing, infatti, è riuscire a ottenere l’accesso ad altri dati presenti nell’account hackerato, tra cui – appunto – il numero di carta di credito, l’indirizzo dell’utente, eventuali documenti memorizzati e i suoi contatti. Tutti dati preziosi, dai quali poter trarre enorme profitto.

Dal punto di vista tecnico, tra gli strumenti che consentono di attuare un attacco informatico di questo tipo, ricordiamo l’elenco di dati di accesso, l’elenco di servizi online che si intendono pendere di mira, una tecnica atta a utilizzare un grande numero di diversi indirizzi IP come mittenti e, infine, un bot, ovvero un programma che tenta automaticamente di accedere ai servizi online prescelti.

Servendosi di questi bot, è possibile tentare un accesso dopo l’altro a un servizio online, modificando continuamente l’indirizzo IP del mittente, in modo che il server di destinazione non blocchi i tentativi quando il numero di quelli non riusciti supera una certa soglia.

Nel momento in cui il login riesce, il bot può accedere ai dati e alle informazioni di cui si è detto sopra. Aggiungiamo, poi, che tutti i dati di accesso rubati vengono salvati per un loro eventuale utilizzo successivo.

Rispetto a metodi di hacking quali, ad esempio, brute force e social engineering, il credential stuffing è considerato più puntuale ed efficace.

In particolare, il primo metodo – di cui tratteremo più approfonditamente in seguito – necessita di un numero maggiore di tentativi di accesso, poiché si fonda su combinazioni di password del tutto casuali e non realmente esistenti.

Mentre il social engineering limita l’attacco a una singola piattaforma, in quanto non in grado di prendere di mira contemporaneamente centinaia di diversi servizi online.

Come viene condotto: alcuni esempi pratici

Dunque, gli autori del credential stuffing prima acquisiscono i dettagli degli account rubati e poi implementano i bot necessari ad automatizzare l’accesso a molti altri account utilizzando le medesime credenziali. E, trovato il modo di accedervi, compromettono l’account effettuando acquisti fraudolenti oppure sottraendo informazioni e dati riservati.

Nel caso, poi, in cui a cadere nella rete di questo tipo di attacco informatico siano le aziende, un’altra conseguenza pericolosa è data dal fatto che i server che gestiscono sito Web, applicazioni per lo smart working e accessi dei dipendenti si ritrovano a gestire un traffico dati eccessivo, con conseguenze sulla produttività, spingendo i responsabili IT a ridimensionare l’infrastruttura di rete, con un aumento dei costi che potrebbe incidere in modo considerevole sul bilancio dell’azienda stessa.

Un esempio piuttosto noto di credential stuffing è quello che, nel 2018, ha visto coinvolti migliaia di account TeamViewer e Dropbox, sui quali sono stati registrati numerosi accessi non autorizzati, realizzati servendosi del miliardo e mezzo di credenziali rubate durante un data breach di cui è rimasta vittima Yahoo durante lo stesso anno.

Questo tipo di attacco informatico, però – come anticipato – non si limita a sottrarre le credenziali degli utenti, ma mira a ottenere altri dati a proposito della vittima. Ne sono un esempio due incidenti emblematici, avvenuti nel 2018 e nel 2016. Nel primo, a essere colpito è stato un rivenditore di prodotti di bellezza del Regno Unito (Superdrug), preso di mira con un tentativo di ricatto: gli hacker hanno sottratto 20 mila account di utenti con l’obiettivo di raccogliere informazioni di ogni genere.

E due anni prima – precisamente nell’ottobre del 2016 – un altro attacco di credential stuffing è riuscito, dirottando gli account di dodici dipendenti, a ottenere l’accesso a un repository di un GitHub privato utilizzato da Uber, raggiungendo così 32 milioni di utenti e 3,7 milioni di driver, con relativi dati sensibili e informazioni private.

I fenomeni descritti rappresentano una minaccia, purtroppo, in crescita, sia per i privati che per le aziende. Ad affermarlo sono i dati contenuti nel Credential Stuffing Report di F5, i quali evidenziano un raddoppio dei furti di credenziali di accesso fra il 2016 e il 2020. Addirittura, solo nel 2020, la dimensione media di tali furti è cresciuta del 234% rispetto al 2019.

E l’aspetto più preoccupante messo in rilievo nel report è l’effetto domino creato da tali attacchi, in quanto le credenziali rubate vengono rivendute per foraggiare campagne di phishing, attacchi malware e ransomware.

Credential stuffing vs Brute Force

OWASP – Open Web Application Security Project, organizzazione internazionale dedicata alla sicurezza delle applicazioni Web – inserisce il furto e l’uso illecito delle credenziali nel sottoinsieme di “attacchi di forza bruta”, detti anche attacchi Brute Force.

Andando, però, più in profondità, il credential stuffing si distingue dai tradizionali attacchi di Brute Force.

Credential stuffing vs Brute Force
Credential stuffing vs Brute Force

Questi ultimi, infatti, tentano di “indovinare” le password, senza contesto di riferimento né indizi, ma ricorrendo a caratteri casuali a volte mescolati a suggerimenti di password comuni. Dove, invece, il credential stuffing poggia su dati esposti, riducendo drasticamente il numero di risposte corrette.

E se una buona difesa contro il Brute Force è una password complessa – composta da più caratteri, inclusi lettere maiuscole, numeri e caratteri speciali – questa, invece, non protegge dall’attacco di sottrazione e uso illecito di credenziali, in quanto, se è condivisa tra account diversi, il credential stuffing è comunque in grado di comprometterla.

A differenza di un attacco a forza bruta, infatti, il credential stuffing non forza alcuna password. L’hacker, in questo caso, tenta di effettuare il login a un servizio Web procedendo per tentativi, attingendo da coppie di credenziale scoperte in precedenza e automatizzando l’intero processo.

Come difendersi

Come già detto, il credential stuffing non ha come solo obiettivo quello di arrivare alla combinazione username-password, ma si prefigge – attraverso vere e proprie “campagne di attacco” – di ottenere l’accesso ad altri dati sensibili (e preziosi) contenuti negli account hackerati. Ecco allora che, per fare prevenzione, diventa necessario implementare molteplici livelli di sicurezza e definire precise policy aziendali.

Innanzitutto, si dovrebbero utilizzare sempre password univoche – cioè non collegate a informazioni personali e, quindi, facilmente riconducibili all’utente – per ogni diverso servizio. Se, infatti, si adoperano sempre password univoche, il riempimento delle credenziali non funziona sugli account.

E, come ulteriore misura di sicurezza, bisognerebbe abilitare sempre l’autenticazione a due fattori, misura preventiva per mezzo della quale il login non avviene soltanto mediante password di accesso, ma anche con un secondo fattore di autenticazione, ad esempio un codice inviato su smartphone, la risposta a una domanda personale oppure l’utilizzo di codici temporanei usa e getta.

Per quanto riguarda, invece, la prevenzione del rischio di credential stuffing ai danni delle aziende, il discorso è più articolato. In linea con quanto espresso nel GDPR – General Data Protection Regulation a proposito della protezione dei dati personali, la policy in materia dovrebbe innanzitutto prevedere la creazione di una blacklist per bloccare gli indirizzi IP sospetti, la pianificazione dell’aggiunta di un sistema di tracciamento dei log all’applicazione web-based o al sito web di riferimento e l’implementazione di un sistema di protezione web application.

Riguardo, poi, alla sensibilizzazione di dipendenti e collaboratori, il responsabile della sicurezza IT dell’azienda deve poter raccomandare la creazione di password univoche.

Il consiglio – se si usa un account aziendale – è quello di creare password complesse, che non siano mai uguali a quelle usate internamente, di non usare l’account aziendale per scopi privati – con divieto assoluto di accedere alla posta personale dai client aziendali – e di differenziare anche lo username ID aziendale, in modo che sia impossibile trovare un collegamento tra i due account.

Anche l’abilitazione di misure di sicurezza aggiuntive per proteggere gli accessi – tra cui, ad esempio, l’autenticazione a due fattori e la richiesta agli utenti di compilare i captcha durante l’accesso – aiuta a mitigare il riempimento delle credenziali e a bloccare i bot dannosi.

Inoltre, nel momento in cui l’organizzazione subisce un attacco di credential stuffing, è bene che si segua una procedura con le corrette attività da compiere, tra cui comprendere l’origine dell’attacco e limitarne gli effetti negativi, esaminare i file di log e attivare tutti i soggetti che dovranno cooperare alla gestione dell’incidente.

In secondo luogo, è necessario informare tutti gli utenti, chiedere loro di sostituire la password sul sito oggetto di attacco e su tutti gli altri siti sui quali vengono utilizzate le stesse credenziali e di bloccare le carte di credito, al fine di rendere inutilizzabili i dati che vi sono contenuti.

Infine, il GDPR – ai sensi dell’art. 33 – prevede la registrazione dell’incidente entro 72 ore con la comunicazione all’Autorità di controllo.