Una delle principali attività di hacking è la violazione delle password.

Ottenere l’accesso ad account e servizi consente di entrare in possesso di autorizzazioni necessarie a portare avanti una moltitudine di attività illecite molto redditizie, che vanno: dalla vendita delle credenziali violate, alla compromissione di sistemi.

Alla luce di queste dinamiche, non stupisce che si siano sviluppate numerose tipologie di attacco alle password.

attacchi alle password

Queste differiscono essenzialmente per l’approccio utilizzato: si va dall’utilizzo della “forza bruta”, fino all’impiego di malware, passando per l’intercettazione delle comunicazioni private.

Capiamone di più con alcuni esempi, osservando anche alcune azioni da intraprendere al fine di prevenirli.

  1. Principali tipologie di attacco alle password
  2. Attacchi alle password basati su malware
  3. Attacchi alle password tramite phishing e vishing
  4. Attacchi alle password basati sull’intercettazione di comunicazioni
  5. Come prevenire gli attacchi alle password
  6. Conclusione

Principali tipologie di attacco alle password

Come accennavamo, le tecniche di violazione delle password sono molteplici e variano in base

  • alle capacità tecniche dell’attaccante
  • al livello di sicurezza dei servizi presi di mira

Di seguito vedremo alcune tipologie di attacco più frequenti, tutte finalizzate al password-cracking, analizzandone anche l’evoluzione.

Attacchi brute force e derivati

Questi attacchi sono accomunati dal cercare di indovinare la password giusta, talvolta tramite processi automatizzati, altre volte sfruttando banche dati di credenziali precedentemente trafugate.

In larga parte, molti attacchi di questo tipo si originano da quello brute force e ne perfezionano le dinamiche.

Attacco brute Force

Attacco ancora molto utilizzato, specie se le password sono deboli e facilmente indovinabili.

Nel brute force, l’hacker utilizza dei software che, dopo aver provato l’accesso con password molto frequenti e banali, producono stringhe casuali al fine di indovinare la combinazione giusta.

Sebbene funzioni egregiamente con password banali, questo sistema di attacco richiede diversi tentativi prima di andare a buon fine.

Ad oggi, sono ampiamente diffuse misure di sicurezza anti-bot ed infliggono un concreto impedimento ad attacchi del genere.

Secondo i dati, tuttavia, l’attacco brute force rimane ancora molto redditizio per i cybercriminali.

Attacchi a dizionario

Negli attacchi a dizionario il concetto è sempre quello di indovinare la password dopo vari tentativi, come nel brute force.

A differenza di quest’ultimo, però, le password con le quali vengono effettuati i tentativi sono recuperate da database di password già esfiltrate.

Le liste (dizionari) sono facilmente adattabili ai requisiti di complessità che il servizio da violare impone.

Il dizionario andrà a riempirsi di password:

  • entro una data lunghezza
  • con un determinato insieme di caratteri speciali

Intuitivamente, se si utilizza una password debole, con ogni probabilità sarà molto simile ad altre già trafugate e, dunque, sarà molto suscettibile a questo attacco.

Anche in questo caso, l’efficacia è condizionata dall’utilizzo di sistemi di analisi dei tentativi di login e da quelli anti-bot.

Credential Stuffing

Questa tipologia di attacco viene utilizzata successivamente ad una violazione andata a buon fine.

Le credenziali violate (solitamente e-mail e password) vengono utilizzate per tentare l’accesso ad una moltitudine di servizi.

L’efficacia di tale approccio è data dalla tendenza a riciclare le password, abitudine purtroppo ancora molto diffusa tra gli utenti.

Infatti, anche il credential stuffing risulta ancora molto efficace, favorito dal non subire direttamente l’azione difensiva dei sistemi di login: semplicemente, se l’insieme di credenziali è giusto, l’accesso avverrà al primo tentativo.

Password Spraying

Se l’attaccante dispone di un cospicuo database di identificativi, può tentare di violarne gli account associati sfruttando l’attacco di password spraying.

L’idea è quella di provare la stessa password per molti account.

In breve:

  • l’hacker seleziona una password comune e debole
  • la associa ai vari identificativi
  • tenta l’accesso sui servizi a cui tali identificativi sono associati

Concettualmente è l’inverso degli attacchi brute force, dove invece si producono diverse stringhe e si provano su un unico account alla volta.

L’inversione concettuale serve all’hacker per evitare di essere bloccato dal sistema di difesa presente nei sistemi di accesso, dato che tra un tentativo e l’altro per un singolo identificativo, passa un tangibile lasso di tempo.

Attacco rainbow table

Le password presenti nelle banche dati dei vari servizi sono, sperabilmente, crittografate.

Questo livello di sicurezza aggiuntivo fa sì che, nell’eventualità di una violazione, l’attaccante entri in possesso delle cosiddette hash delle password: versioni crittografate e illeggibili dei codici segreti.

Al giorno d’oggi, gli algoritmi per l’hashing delle stringhe sono numerosi. A livello enterprise ve ne usano un insieme più ristretto, composto da quelli più moderni che rispettano determinati parametri di sicurezza.

Nonostante ciò, se non vengono adottate ulteriori precauzioni, quando si usa una funzione di hash allo stesso valore di ingresso corrisponde sempre lo stesso valore in uscita. Ciò implica che un hacker può costruire delle enormi tabelle nelle quali vengono presentate delle stringhe di testo, cui si associano le rispettive versioni crittografate secondo vari algoritmi. Queste tabelle prendono il nome di hash table.

In un rainbow table attack, l’hacker è in possesso di credenziali rubate, nelle quali le password sono crittografate. Per riuscire a violare gli account, però, c’è bisogno della versione in chiaro delle stringhe.

Ed ecco che entra in scena la hash table: l’attaccante deve iterativamente leggere una password presente nel leak e confrontarla con tutte quelle presenti nella tabella. Ovviamente il processo è interamente automatizzato con dei software, dato che le tabelle possono raggiungere dimensioni ragguardevoli, nell’ordine dei gigabyte.

L’attacco ha successo quando dal processo si ottiene una corrispondenza, poiché ciò implica che l’hacker è riuscito ad associare all’hash la sua versione in chiaro.

Attacchi alle password basati su malware

Salendo di livello, analizziamo il modo in cui un attaccante può fare uso di software malevolo per raggiungere i propri scopi. Non verrà descritto il modo in cui il malware viene iniettato nella macchina della vittima, quanto gli effetti che esso produce e che vengono attivamente sfruttati.

Keylogger

L’esempio più comune riguarda i keylogger, particolare categoria di spyware, che intercettano gli input provenienti da una tastiera e li riportano all’aggressore.

L’attaccante inganna l’utente, facendogli installare inavvertitamente il malware, talvolta nascondendolo in pacchetti apparentemente legittimi. Quando il keylogger si attiva, inizia a trasmettere informazioni provenienti direttamente dalla macchina infettata. Analizzando gli input dell’utente, eventualmente si intercetterà anche materiale sensibile, tra cui appunto le credenziali.

Non è detto che lo spyware venga individuato da un antivirus, poiché vengono sviluppati ogni giorno nuovi keylogger in grado di evitare il rilevamento da parte di software difensivi.

Una dimostrazione chiara delle potenzialità dei keylogger si ha nella vicenda LastPass, avvenuta a cavallo tra 2022 e 2023: un dipendente di elevata seniority ha installato inavvertitamente un keylogger sul laptop ad uso personale, fornendo inconsciamente dettagli operativi estremamente sensibili, oltre ovviamente alle credenziali personali.

Ne è risultata la parziale compromissione del servizio, dato che gli attaccanti hanno avuto modo di indagare tutti i processi e le metodologie aziendali, forti degli elevati privilegi illecitamente ottenuti.

Attacchi alle password tramite Phishing e Vishing

Il phishing, insieme a tutte le sue declinazioni, è ancora oggi una tipologia di attacco tra le più diffuse.

Si profila quando un attaccante, spacciandosi per un ente legittimo, invia una comunicazione fittizia, conducendo la vittima a comunicare le proprie credenziali, decretandone così la violazione.

Nel phishing tradizionale, il veicolo di offesa è rappresentato da una mail, apparentemente innocua, che tipicamente invita a sbloccare un determinato account tramite l’inserimento delle credenziali correlate. Viene comunicato che l’inserimento deve essere effettuato attraverso un link, fornito nel corpo della mail.

Ovviamente si tratta di un collegamento fittizio che condurrà su una pagina fraudolenta simile all’originale, dalla quale l’hacker estrapola le credenziali che gli utenti inseriscono.

Alternativamente, l’oggetto corrotto (link o allegato) può essere utilizzato per installare malware o spyware nel dispositivo della vittima.

Solitamente le campagne di phishing coinvolgono più utenti contemporaneamente. Se l’attacco è mirato si parla, invece, di spear phishing.

Il phishing è applicabile anche attraverso altri mezzi.

Le campagne di smishing, infatti, prevedono il massiccio invio di messaggi SMS, dove gli attaccanti fingono di essere compagnie telefoniche o entità bancarie. Alternativamente, nel caso di un attacco di vishing, gli attaccanti contattano le vittime con chiamate telefoniche.

Insomma: cambia il mezzo ma non la sostanza. L’obiettivo finale è quello di ottenere le credenziali per un dato servizio.

Attacchi alle password basati sull’intercettazione di comunicazioni

L’ultimo approccio riguarda l’intercettazione dei dati scambiati tra due host.

Nello specifico, un utente che interagisce con un server aziendale scambia, tra gli altri, dati necessari per l’accesso.

In un attacco Man in the Middle, nel percorso che attraversa la rete e che congiunge i due host, si inserisce l’attaccante. Egli riceve i messaggi dell’utente, li fa propri e poi li inoltra al legittimo ricevente.

In questo modo, riesce a trafugare anche le credenziali di accesso desiderate.

Solitamente gli attaccanti si servono di eventuali vulnerabilità presenti nelle reti di accesso, come ad esempio in reti WI-FI non sicure, ma può anche palesarsi l’eventualità di SSL hijacking.

Come prevenire gli attacchi alle password

Come è possibile osservare, il ventaglio di opzioni a disposizione degli attaccanti è piuttosto ampio. Ogni approccio ha le proprie peculiarità e sfrutta precise debolezze nel sistema.
Fortunatamente esistono delle misure precauzionali, atte a contrastare le azioni offensive degli hacker.
Seguendo alcune buone norme si può riuscire a garantire un ragionevole livello di sicurezza per i propri servizi.

Utilizzare password manager
Le password devono assolutamente rispettare dei criteri precisi, che ne decretano la robustezza. Per resistere alla moltitudine di attacchi ai danni delle credenziali, è necessario che le password siano lunghe e complesse, il che complica il compito di memorizzarle.

Se a questo si somma il fatto che ogni utente possiede numerosi account, va da sé che questa incombenza risulta essere estremamente ardua.

Per risolvere questo problema vengono sviluppati i password manager, software capaci di memorizzare un gran numero di password in maniera sicura, crittografandole con algoritmi specifici.

Quando si accede ad un servizio, il password manager offre la possibilità di salvare le credenziali inserite. Queste vengono crittografate, solitamente già sulla macchina dell’utente, e poi inviate al servizio di gestione.

Esistono anche soluzioni mirate per l’ambito enterprise, pensate e realizzate per ospitare credenziali con privilegi: oltre alle password anche chiavi SSH e informazioni sensibili relative al personale o ai prodotti. Le password vengono generate e sostituite ciclicamente in modo automatico, su richiesta dell’utente.

Produrre password robuste e uniche
Password solide resistono meglio ai tentativi di cracking. In breve, i parametri da rispettare riguardano:

  • lunghezza
  • complessità
  • unicità

Per quanto riguarda la lunghezza, non c’è consenso unanime sul numero minimo di caratteri che devono comporre la password. Solitamente si consiglia di usare almeno 12-14 caratteri ma, in molte circostanze, specialmente lavorative, la soglia può spostarsi oltre.

Ovviamente, tutto dipende anche dal tipo di servizio che si intende difendere. Memorizzare, modificare con dei sali la password e poi crittografarla sono operazioni che richiedono notevoli risorse.

Tuttavia, password lunghe proteggono poco se non sono abbastanza complesse: pertanto si raccomanda di usare sempre caratteri speciali e numeri insieme alle lettere (sia minuscole che maiuscole).
In aggiunta, se si intende prevenire attacchi come il credential stuffing, bisogna utilizzare stringhe radicalmente diverse per servizi diversi: è meglio evitare di “modificare” e riciclare password già in uso.

Autenticazione a più fattori
L’autenticazione a più fattori aggiunge uno o più strati aggiuntivi di sicurezza, oltre alle credenziali classiche. Ne sono un esempio l’utilizzo di codici temporanei oppure l’impiego di dati biometrici.

Anche in questo caso, le pratiche richiedono risorse, dunque il loro impiego va valutato secondo l’importanza del servizio da difendere. Ad oggi, persino i punti di accesso a social media offrono la possibilità di autenticarsi con un doppio fattore, dunque è ragionevole proteggere le utenze dotate di alti privilegi con molteplici fattori aggiuntivi, fino ad arrivare all’uso di OTP (One Time Password).

Conclusione

Il cracking delle password è un’attività essenziale per l’attaccante che vuole impadronirsi dei dati e dei privilegi di un servizio. Una volta ottenuti i giusti privilegi, gli hacker possono sfruttare eventuali vulnerabilità ed intraprendere ulteriori campagne di attacco.
È dunque cruciale conoscere tutte le tipologie di attacco ai danni delle password, al fine di implementare sistemi di difesa efficaci.

Seguendo le semplici regole viste in precedenza, si riuscirà ad ostacolare efficacemente le attività offensive dei criminali.