Può capitare di subire il furto di un account: una disattenzione, un messaggio di phishing aperto distrattamente, una password troppo facile da indovinare (cosa evitabile con un buon password manager, a proposito). Succede ogni giorno e può capitare a chiunque.
Ma immaginate di creare un account e scoprire subito dopo che era già compromesso. Come sarebbe possibile? Proprio questa possibilità viene presentata da Malwarebytes che, sul proprio blog, spiega come avverrebbe un fenomeno del genere.
Tutto parte da una ricerca di Avinash Sudhodanan e Andrew Paverd di Microsoft, che hanno definito questa tecnica come "attacco pre-hijacking", a cui nemmeno i siti e i servizi online più frequentati sarebbero immuni.
I cinque attacchi pre-hijacking
I due ricercatori hanno individuato cinque tipi di attacchi di pre-hijacking: il primo è noto come CFM (Classic-Federated Merge) in cui si sfrutta una falla nell'interazione fra gli indirizzi di creazione di un account. Nella fattispecie, sarebbe possibile creare due account con lo stesso indirizzo e-mail, uno normale, aperto dall'utente (noto come percorso "classico") e uno da parte dell'hacker, una vera è propria identità federata (da qui "percorso federato"). In questo modo entrambi i soggetti possono accedere all'account. Questo tipo di attacco va in porto soprattutto se l'utente usa l'SSO (Single Sign-On) per accedere, dato che la password definita dall'hacker per l'account non viene modificata.
Il secondo attacco è noto come NV (Non-Verifying Identity Provider), che è l'esatto opposto del precedente: l'hacker crea un account tramite l'indirizzo classico, mentre l'utente segue quello federato. Quindi, l'hacker usa un identity provider che non verifica la proprietà dell'indirizzo e-mail. Entrambi i soggetti accederanno normalmente all'account nel caso in cui il sito o il servizio unisca i due account in base all'indirizzo e-mail in modo errato.
La terza tipologia di attacco è nota come UEC (Unexpired Email Change) e prevede lo sfruttamento di una falla per cui il sito o il servizio online non riesca a invalidare la richiesta di cambio di e-mail quando l'utente reimposta la propria password. Dunque, l'hacker crea un account con l'indirizzo e-mail della vittima, quindi invia una richiesta di modifica dell'e-mail senza però confermarla. Quando la vittima reimposta la password, l'hacker procede a convalidare il controllo ottenendo l'accesso e la gestione dell'account.
Il quarto attacco, indicato come US (Unexpired Session), sfrutta un'altra falla, ovvero quando l'utente autenticato non si disconnette da un account attivo dopo la reimpostazione della password. L'hacker mantiene attivo l'account tramite uno script automatico dopo la sua creazione. Anche se l'utente crea un account con lo stesso indirizzo e-mail e poi reimposta la password, l'hacker manterrà l'accesso a tale account.
Infine, il quinto e ultimo attacco è noto come TID (Trojan Identifier) e corrisponde all'uso congiunto degli attacchi CFM e US.
Come funziona un attacco pre-hijacking
Questi cinque attacchi hanno livelli di gravità diversi, ma tutti fanno affidamento sull'incapacità di un sito web di verificare un identificatore fornito dall'utente prima di autorizzare l'uso dell'account.
La verifica, spesso, avviene in maniera asincrona per migliorare l'esperienza d'uso del servizio o del sito, tuttavia, è proprio questo a rendere possibili gli attacchi pre-hijacking.
Nel report, i ricercatori affermano che l'obiettivo degli hacker è accedere all'account della vittima, facendo attenzione a restare invisibili. Le conseguenze di un attacco di questo tipo (che ha lo stesso impatto dei "normali" attacchi account hijacking) possono essere anche gravi, come il furto dell'identità della vittima, l'accesso e la modifica di dati sensibili come numeri di conto corrente, cronologia, messaggi, furto di denaro e molto altro.
Per effettuare un attacco di pre-hijacking, gli hacker devono conoscere almeno un identificatore univoco della vittima, ad esempio un indirizzo e-mail, un numero di telefono o altre informazioni ottenibili ad esempio tramite scraping dei social network.
Tra i brand vulnerabili a questa tipologia di attacchi, i due ricercatori citano Dropbox, Instagram, LinkedIn, WordPress e Zoom.
Come difendersi?
Sebbene il successo di questi attacchi dipenda principalmente dal livello di vulnerabilità dei siti web e dei servizi online colpiti, ci sono comunque delle azioni che si possono compiere per evitare un pre-hijacking.
Gli utenti, innanzitutto, dovrebbero utilizzare un metodo di autenticazione a due fattori o ancora meglio multifattoriale.
I servizi e i siti dovrebbero rafforzare i propri sistemi, ad esempio richiedendo la verifica degli indirizzi e-mail in modo prioritario rispetto a qualsiasi altra funzione del sito/servizio, anche tramite SMS o chiamata. Oppure, in caso di reimpostazione della password, l'utente dovrebbe essere disconnesso da tutte le sessioni attive mentre tutti i token di autenticazione dovrebbero essere invalidati.
Una serie di passaggi ancora più approfondita è disponibile sul blog MSRC di Microsoft.