La nuova vulnerabilità di Instagram che mette a rischio i dati degli utenti come è stata risolta?
Facebook ha confermato che una vulnerabilità di Instagram recentemente scoperta potrebbe aver messo a rischio i dati, lasciando gli utenti aperti agli attacchi degli attori delle minacce. La vulnerabilità – che avrebbe consentito a un utente malintenzionato di accedere ai dettagli dell’account e ai numeri di telefono – era abbastanza grave che, dopo aver contattato Facebook per aumentare il profilo della divulgazione del ricercatore di sicurezza, mi chiedevano tempo aggiuntivo per apportare modifiche prima della pubblicazione. Facebook ha ora apportato queste modifiche a Instagram per proteggere i suoi utenti.
Nel mettere insieme questo articolo, ho fatto eseguire al test del ricercatore sulla sicurezza dei test sulla piattaforma e ha recuperato con successo i dati “sicuri” degli utenti che so essere reali. Questi dati includevano i nomi reali degli utenti, i numeri e le maniglie degli account Instagram e i numeri di telefono completi. Il collegamento di questi dati è tutto ciò che un utente malintenzionato dovrebbe avere come target quegli utenti. Consentirebbe inoltre agli script e ai robot automatizzati di creare database di utenti che potrebbero essere cercati, collegando gli utenti di alto profilo o altamente vulnerabili con i loro dettagli di contatto.
Solo una settimana fa, Facebook ha colpito i titoli dei punti deboli della sua sicurezza dei dati. È stato scoperto un database online che elenca i numeri di telefono e di account per 419 milioni di utenti. Facebook ha difeso la perdita, sostenendo che i dati erano stati compilati prima che disabilitasse uno strumento di ricerca all’indomani di Cambridge Analytica. La piattaforma ha anche sottolineato che i server su cui sono stati trovati i dati non appartenevano a Facebook, in sostanza si trattava di una perdita di terze parti di “vecchi” dati di Facebook che utilizzavano uno strumento ormai defunto.
Ma un hacker israeliano che si affida a @ ZHacker13 ha scoperto una vulnerabilità con Instagram, parte della scuderia dei social media di Facebook, che apre ancora lo stesso tipo di dati utente da abusare. Ciò significa che la sicurezza della piattaforma è stata ignorata per fornire numeri di telefono e di account, collegati a nomi utente e nomi reali.
Facebook mi ha confermato che la vulnerabilità era autentica, che l’exploit avrebbe consentito a un “cattivo attore” di collegare numeri di telefono e dettagli dell’utente e che aveva richiesto di apportare modifiche. Mi hanno fatto notare che il processo di exploit è “complesso”, ma ha comunque lasciato la piattaforma aperta agli abusi e messo a rischio gli utenti.
“Ho trovato un’alta vulnerabilità su Instagram che può causare una grave perdita di dati”, mi ha detto la settimana scorsa @ ZHacker13 . “La vulnerabilità è ancora attiva — e sembra che Facebook non sia molto serio nel tracciarla.” Lo sfruttamento di questa vulnerabilità consentirebbe a un utente malintenzionato che utilizza un esercito di bot e processori di creare un database di utenti ricercabili / attaccabili, aggirando le protezioni che proteggono tali dati .
È l’importatore di contatti della piattaforma, utilizzato insieme a un attacco di forza bruta sul suo modulo di accesso, che ha aperto la vulnerabilità. Un portavoce di Facebook mi ha ora confermato che “abbiamo cambiato l’importatore di contatti su Instagram per aiutare a prevenire potenziali abusi. Siamo grati al ricercatore che ha sollevato questo problema e all’intera comunità di ricerca per i loro sforzi. ”
Quindi, come funziona?
Innanzitutto, l’attaccante utilizza un semplice algoritmo per forzare la forza del modulo di accesso di Instagram, controllando un numero di telefono alla volta per quelli collegati a un account Instagram dal vivo. Il modulo restituirà un sì / no: il numero è valido o non lo è. Una singola istanza dell’algoritmo può raccogliere più di 1.000 numeri Instagram originali ogni giorno. E non c’è limite al numero di algoritmi che possono essere eseguiti in parallelo. In media, @ ZHacker13 prevede che 15.000 richieste restituiscano circa 1.000 numeri in tempo reale.
In secondo luogo, l’attaccante sfrutta un secondo processo per trovare il nome e il numero dell’account collegati al numero di telefono. Questo sfrutta la funzionalità di sincronizzazione dei contatti di Instagram. Un bot crea un nuovo account e Instagram quindi chiede al nuovo utente (il nostro bot) se desidera sincronizzare i propri contatti. Normalmente questo restituirebbe una massa di numeri e nomi di account, senza la possibilità di collegare tali dettagli dell’account ai numeri di telefono. Tuttavia, se l’elenco dei contatti contiene un singolo numero, verranno restituiti i dettagli collegati.
Instagram ha una sincronizzazione limitata a tre volte al giorno per account. Ciò significa che ogni bot può restituire i dettagli di tre utenti ogni giorno. Ancora una volta, non vi è alcun limite al numero di robot che possono essere eseguiti: 40 o più possono funzionare in modo continuo su una singola macchina. “In teoria”, mi ha detto @ ZHacker13, “posso ottenere tutti i dettagli e i numeri di telefono di tutti gli utenti di Instagram”. In teoria, perché il fattore limitante è l’elaborazione: enumerare i numeri di telefono e quindi eseguire abbastanza robot per superare le tre sincronizzazioni al giorno.
Ho eseguito due test con @ ZHacker13, dandogli numeri incompleti che avrebbero avuto fino a 1.000 numeri potenziali. In ogni caso, ha restituito i dettagli dell’account validi collegati al numero di telefono completo. “Con risorse”, ha dichiarato @ ZHacker13, “Potrei creare un ampio database di milioni di record degli utenti di Instagram”. Mi ha dato le statistiche sulla quantità di elaborazione di cui avrebbe bisogno per raccogliere milioni di identità. Era fattibile.
Ho chiesto a Lukas Stefanko di ESET di darmi la sua visione dell’exploit, fornendo dettagli e il POC. “Dato che ci sono numeri forzati,” ha detto, “e poiché” Sincronizza contatti “è una funzione che in realtà restituisce nomi basati su quel numero, dovrebbe funzionare”.
“Aprendo 40 account utente”, ha spiegato @ ZHacker13 nel suo articolo, “siamo riusciti a ottenere 143 dettagli degli account casuali di Instagram. Con solo 40 account possiamo collegare 840 numeri di telefono ogni settimana. In questo attacco mostriamo prove di una perdita di dati valida di utenti Instagram casuali (Numero di telefono, ID utente, Nome utente, Nome completo). ”
“Si tratta di un bug che perde dati in Instagram”, ha confermato Stefanko, “anche se Instagram utilizza una limitazione di sincronizzazione dei contatti – massimo tre scansioni in 24 ore – questo potrebbe essere utilizzato in modo improprio creando account bot.” E ha confermato che “questo problema con il possibilità di verificare se un numero di telefono è registrato su Instagram o meno potrebbe scaricare lentamente un database di utenti e rivelare alcuni dei loro dati. ”
@ ZHacker13 ha informato Facebook della vulnerabilità all’inizio di agosto, per dire che “le vulnerabilità di enumerazione che dimostrano che un determinato indirizzo e-mail o numero di cellulare è legato a un account Instagram” sono considerate “a rischio estremamente basso”. Ma ” le vulnerabilità che consentono a un utente malintenzionato di determinare a quale ID utente specifico è associato un indirizzo e-mail o un numero di cellulare “verrebbero visualizzate in modo diverso.
Un mese dopo, dopo aver confermato la vulnerabilità, Facebook ha risposto che “sembra che il team di [Facebook Security] fosse già a conoscenza del problema a causa di una scoperta interna e sta per applicare limiti di frequenza ancora più severi”.
Nel suo ultimo scambio, Facebook ha confermato a @ ZHacker13 che “questo è un problema valido: il team sta attualmente studiando il problema e la sua soluzione a lungo termine”. @ ZHacker13 mi ha espresso grande frustrazione per il fatto che, nonostante abbia accettato il problema settimane fa, lì sembrava che non vi fosse alcuna urgenza da parte di Facebook di affrettarsi a risolvere il problema. Per fortuna è cambiato.
Facebook aveva anche dichiarato a @ ZHacker13 che, sebbene la vulnerabilità fosse grave, esisteva una consapevolezza interna del problema e quindi non era ammissibile a un premio nell’ambito del sistema di premi. Ciò avrebbe creato un terribile precedente e disincentivato i ricercatori dal farsi avanti con vulnerabilità simili. Ho interrogato Facebook sulla sua decisione e la società ha riconsiderato e mi ha detto che ha “rivalutato” la scoperta del bug e avrebbe premiato il ricercatore dopo tutto.
Non ci sono prove che i dati degli utenti siano stati sfruttati o abusati usando questa vulnerabilità, ma, di nuovo, non ci sono prove che non lo siano. Si spera che il fatto che l’exploit abbia richiesto due processi separati significa che la porta è stata chiusa in tempo.
Questo exploit indica un rischio più significativo rispetto a questo da solo, soprattutto se si tratta di una patch. Con un numero di telefono e un numero di account, gli aggressori possono accedere a ulteriori informazioni. Con un database di tali informazioni, è possibile condurre una ricerca inversa restituendo numeri di telefono per account mirati. E, poiché vediamo un uso sempre maggiore dei numeri di telefono per proteggere app e servizi, i rischi sono chiari.
Ho già scritto molte volte sui rischi per la privacy e la sicurezza inerenti all’accumulo e alla condivisione di set di dati di massa di informazioni sugli utenti da parte delle piattaforme di social media. E sui rischi per la sicurezza che derivano dal trading di sicurezza per funzionalità o convenienza. Ancora una volta, questa divulgazione sottolinea il punto.