Un grande data breach degli account di Twitter provocato dallo sfruttamento di una vulnerabilità nel core della piattaforma: una violazione di sicurezza che ha consentito ai cyber criminali di estrarre un’enorme collezione di dati appartenenti a utenti in tutto il mondo, compresi dati protetti da impostazioni privacy come e-mail e numeri di telefono.
Ecco una nostra analisi di come tutto ciò sia stato possibile.
Indice degli argomenti
Data breach Twitter: i dati sono già in vendita
Da quello che sappiamo finora, un utente di nome “devil” ha messo in vendita con un annuncio su un noto forum underground un archivio contenente una massiccia collezione di dettagli su account Twitter. Come riferito dall’autore nell’annuncio stesso, si tratta per l’esattezza di 5.485.636 account. Una mole di dati enorme se si pensa che ognuna di quelle righe è composta da venti colonne, tra le quali evidenziamo quelle relative ai dettagli come creazione dell’account, e-mail e numero di telefono. Il tutto comodamente formattato in qualcosa che va a metà strada tra CSV e un JSON.
Gli autori di Restore Privacy, che hanno riportato per primi la vicenda, hanno contattato “devil” e sono riusciti a quantificare un prezzo per questa trattativa, non specificato nel thread del forum: i 5,4 milioni di account Twitter sono in vendita per 30.000 dollari.
Come è stato possibile rubare dati da Twitter
A prima vista, potrebbe sembrare l’annuncio del solito scraping malevolo, molto in voga ultimamente sui canali underground, per attirare l’interesse degli acquirenti. L’autore dell’annuncio ha però inserito come allegato un sample, con poche righe di quello che è il contenuto in vendita.
Analizzando questo sample emerge subito un’evidenza importante: i dettagli che sono contenuti nell’archivio non sono reperibili unicamente con attività di scraping (che, ricordiamo, equivale a “pescare a strascico” dalle pagine degli account tutte le informazioni visibili e collezionarle in maniera ordinata). Qui, infatti, ci sono informazioni estratte direttamente dai database del social network, numeri di telefono ed e-mail non sono visibili.
Come è stato possibile dunque estrarre una mole di dati simile da uno dei più importanti social network? Bisogna fare un leggero passo indietro e guardare a gennaio scorso. In effetti, un utente registrato come “Zhirinovskij”, aveva segnalato una vulnerabilità nell’autenticazione delle API di Twitter, secondo la quale interrogandole con una certa query partendo da un numero di telefono o da una e-mail, si poteva ottenere il TwitterID, elemento estremamente importante per fare poi qualsiasi altra ricerca pubblica, al fine di collegare quel dato alla persona reale o account Twitter.
Venne dimostrato, dallo stesso contributore al bug bounty di Twitter, che tutto questo era possibile sempre, anche in occasione di impostazioni ristrette sulla privacy degli utenti. Le API restituivano comunque il dato richiesto.
A questa segnalazione Twitter ha subito mostrato interesse, facendo capire si potesse trattare effettivamente di una seria vulnerabilità. Effettivamente il 6 gennaio (cinque giorni dopo la segnalazione), lo staff di Twitter ha risposto che stanno indagando sulla questione per dettagliarne il profilo di rischio e cercare una soluzione. Ancora pochi giorni più avanti, il 12 gennaio Twitter stabilisce che è una vulnerabilità seria e riconosce il premio di 5.000 dollari al ricercatore Zhirinovskij che l’aveva segnalata. Il 13 gennaio chiude il caso come risolto, dichiarando di aver sistemato la falla, eliminando l’errore sui controlli API che provocava la perdita dei dati. Nella fase intercorsa tra la scoperta della vulnerabilità e la sua correzione da parte di Twitter, ovviamente, nessuno degli attori coinvolti ha pubblicamente diffuso dettagli su questo problema. È però evidente che altri attori fossero già a conoscenza da tempo del problema e ne hanno fatto un malevolo utilizzo per un lungo periodo, collezionando così un grande campione degli “abitanti” di Twitter.
Analizzata la vulnerabilità di gennaio e dettagliato questo data breach attuale, quindi, è possibile ipotizzare che gli operatori malevoli abbiano utilizzato un altro grosso data leak, uno dei tanti presenti online, che colleziona numeri di telefono o indirizzi e-mail di tutto il mondo, per darlo in pasto alle query da passare poi alle API di Twitter (affette dal problema di vulnerabilità). Automatizzando il tutto con script appositi è possibile recuperare tanti TwitterID, ai quali si può assegnare a questo punto una e-mail o un numero di telefono anche se l’utente ha espresso sulle impostazioni di nascondere queste informazioni e di non renderle visibili. TwitterID utile per partire poi a completare l’opera con tutti i dettagli che questo permette pubblicamente di intercettare, quali immagine del profilo, data di creazione, username, location, followers ecc.
Sono bastati sette mesi, dunque, per vedere realizzato ciò che il ricercatore della vulnerabilità a gennaio aveva semplicemente posto come un rischio possibile, l’esfiltrazione di dati avvalendosi di script appositi. Tutto questo ci dà anche la dimensione di quanto sia pericolosa una cattiva esposizione di database ricchi di dettagli utente. Inoltre quanto sia pericoloso avere collezioni di dati in giro per la rete e di dominio pubblico, fruibili da chiunque. Ci sarà infatti sempre qualcuno che utilizzerà quei dati per fini illeciti e continuare a violare ulteriormente la privacy delle persone.
Anche un vecchio database di indirizzi e-mail, apparentemente non più servibile, può risultare utilissimo (come in questo caso), per dare un volto a quell’indirizzo e-mail. Anche se il titolare ha espressamente indicato di non mostrare il proprio indirizzo e-mail al pubblico.