Il ricercatore di sicurezza ha sottoposto la questione al social network che lo ha ricompensato. Facebook ha patchato un difetto che poteva essere sfruttato per violare l'account di qualsiasi utente, utilizzando i messaggi SMS, in meno di 60 secondi. Il social network ha premiato il ricercatore di sicurezza che ha scoperto il bug precedentemente riservato con una ricompensa pari a 20.000 dollari. Il ricercatore di sicurezza britannico Jack Whitton, alias Fin1te, che ha scoperto il bug, ha rivelato di aver segnalato il problema a Facebook il 23 maggio. Appena cinque giorni dopo, Facebook ha riconosciuto il suo rapporto del difetto e gli ha comunicato che la questione era stata fissata con successo.
Mercoledì, il programma "Facebook Bug bounty" - che premia i ricercatori che rivelano privatamente le falle di sicurezza a Facebook e aspettano di rendere pubblici i dettagli fino a dopo che Facebook riesce a risolvere il problema - ha ringraziato Whitton "per rendere Facebook più sicuro con questo grande errore". L'attacco di Whitton ha sfruttato una vulnerabilità di sicurezza relativa al collegamento di un numero di cellulare di un account Facebook. "Questo permette di ricevere aggiornamenti via SMS, e significa anche che si può effettuare il login utilizzando il numero piuttosto che il vostro indirizzo di posta elettronica", ha detto Whitton in un post sul blog. Il codice di registrazione inviato agli utenti arriva con un campo profile_id modificabile da un altro utente.
Grazie ad un difetto nel modo in cui Facebook gestisce la pagina PHP delle conferme SMS, Whitton ha identificato una tecnica di attacco a due fasi, che gli ha permesso di associare un telefono cellulare arbitrario con nessun account Facebook, quindi avviare un processo di reimpostazione della password che gli ha permesso di scegliere una nuova password per un account mirato, offrendo al medesimo l'accesso completo. Il titolare dell'account di destinazione, nel frattempo, non avrebbe avuto alcuna indicazione che l'hack era in corso fino a quando l'utente non era più in grado di accedere al suo account. L'exploit di Whitton ha approfittato del meccanismo di Facebook per l'attivazione e l'uso di SMS con la rete sociale.
Negli Stati Uniti, un relativo processo di set-up prevede l'invio di un messaggio di testo (short code) che contiene solo "F" o "fb" al 32654 (FBook), numero che varia in altri paesi (per l'Italia è 3399932665). Dopo un leggero ritardo, Facebook invia un SMS di nuovo al telefono cellulare con un codice di otto caratteri che deve essere immesso sulla pagina Impostazioni di cellulare dell'utente sul sito di Facebook prima che il collegamento con il telefono cellulare possa essere attivato. L'attacco di Whitton ha coinvolto la modifica del codice utilizzato dal modulo Impostazioni cellulare prima che fosse presentata la restituzione a Facebook.
Negli Stati Uniti, un relativo processo di set-up prevede l'invio di un messaggio di testo (short code) che contiene solo "F" o "fb" al 32654 (FBook), numero che varia in altri paesi (per l'Italia è 3399932665). Dopo un leggero ritardo, Facebook invia un SMS di nuovo al telefono cellulare con un codice di otto caratteri che deve essere immesso sulla pagina Impostazioni di cellulare dell'utente sul sito di Facebook prima che il collegamento con il telefono cellulare possa essere attivato. L'attacco di Whitton ha coinvolto la modifica del codice utilizzato dal modulo Impostazioni cellulare prima che fosse presentata la restituzione a Facebook.
In particolare, egli ha scoperto che poteva cambiare l'elemento "profile_id" - che fa riferimento al numero ID pubblico assegnato ad ogni account di Facebook ID dell'account di qualsiasi utente di Facebook. Dopo aver inviato il modulo, Facebook avrebbe legato il numero di telefono cellulare utilizzato al Facebook ID. Il file in questione è presente al percorso: /ajax/settings/mobile/confirm_phone.php Ciò che fin1te aveva scoperto era che uno degli elementi del modulo di attivazione cellulare conteneva, come parametro, l'ID del profilo dell'utente. Questo è il numero univoco associato all'account preso di mira dall'attaccante.
Questo valore lo si trova navigando su Facebook e analizzando il codice sorgente delle pagine. Se non si conosce il numerico ID del profilo è possibile utilizzare degli strumenti liberamente disponibili. Ora l'hacker era in grado di modificare l'elemento profile_id all'interno dell'fbMobileConfirmationForm. Seguendo alcune operazioni l'attaccante averebbe ottenuto l'attivazione dell Notifiche SMS sul suo cellulare per un profilo preso di mira. Una volta che si entra si ottiene un codice di stato come "OK". In particolare si ottiene la conferma del codice 200 "ok" ed un SMS verrà inviato al proprio numero con il messaggio di conferma.
Questo valore lo si trova navigando su Facebook e analizzando il codice sorgente delle pagine. Se non si conosce il numerico ID del profilo è possibile utilizzare degli strumenti liberamente disponibili. Ora l'hacker era in grado di modificare l'elemento profile_id all'interno dell'fbMobileConfirmationForm. Seguendo alcune operazioni l'attaccante averebbe ottenuto l'attivazione dell Notifiche SMS sul suo cellulare per un profilo preso di mira. Una volta che si entra si ottiene un codice di stato come "OK". In particolare si ottiene la conferma del codice 200 "ok" ed un SMS verrà inviato al proprio numero con il messaggio di conferma.
Quindi, un utente malintenzionato potrebbe utilizzare la funzione di reimpostazione della password di Facebook per richiedere un codice di conferma per reimpostare la password da inviare via SMS al telefono cellulare che era appena stato autorizzato per l'account. Questo codice può essere inserito nella schermata di reimpostazione della password su Facebook, e la password dell'account di un utente viene cambiata da una password scelta dall'attaccante. Ora da qui in poi è stato abbastanza facile per l'hacker di richiedere una nuova password per conto della vittima. Una volta che la richiesta è iniziata, un messaggio con il codice di reset sarà inviato al mobile.
Dopo che l'hacker inserirà il codice di reset nel modulo il gioco è fatto. A quel punto, l'aggressore avrebbe acquisito il controllo dell'account preso di mira. Recentemente un bug di Facebook ha portato a rivelare le informazioni di oltre 6 milioni di utenti. "La generosità assegnata a questo bug è stato di 20.000 dollari, dimostrando chiaramente la gravità del problema", ha detto Whitton. Facebook ha comunicato che ora non è più possibile alterare il profile_id. La correzione di Facebook corrispondente, nel frattempo, è stata semplice: "Facebook ha risposto non accettando più il parametro profile_id da parte dell'utente," ha detto. Come suggerisce il bounty pagato a Whitton , rivelare le vulnerabilità del software permette di guadagnare molti soldi.
Dopo che l'hacker inserirà il codice di reset nel modulo il gioco è fatto. A quel punto, l'aggressore avrebbe acquisito il controllo dell'account preso di mira. Recentemente un bug di Facebook ha portato a rivelare le informazioni di oltre 6 milioni di utenti. "La generosità assegnata a questo bug è stato di 20.000 dollari, dimostrando chiaramente la gravità del problema", ha detto Whitton. Facebook ha comunicato che ora non è più possibile alterare il profile_id. La correzione di Facebook corrispondente, nel frattempo, è stata semplice: "Facebook ha risposto non accettando più il parametro profile_id da parte dell'utente," ha detto. Come suggerisce il bounty pagato a Whitton , rivelare le vulnerabilità del software permette di guadagnare molti soldi.
Fonte: Fin1te
Via: The Register
Nessun commento:
Posta un commento