De-anonimizzare gli UDID Apple con OpenFeint: nuova polemica all'orizzonte


Nuovo possibile “scandalo” in arrivo: è possibile forzare l’anonimato degli UDID Apple tramite OpenFaint. Come saprete i dispositivi iPhone, iPad e iPod touch hanno un Unique Device Identifier (UDID) associato, una sorta di numero seriale segnato all’interno del terminale che non può essere modificato o rimosso. Il numero viene mostrato agli sviluppatori di app tramite un’API, senza che il proprietario lo sappia o permetta il procedimento.

Alcuni utenti Apple si sono resi conto del problema accorgendosi che i propri UDID erano stati utilizzati più volte senza permesso. Una ricerca svela che il 68% delle applicazioni invia senza preavviso gli UDID su server. Agli UDID si accompagnano spesso informazioni su come, quando e dove il telefono venga utilizzato. La maggior parte del traffico contenente queste informazioni va ad Apple stessa, seguita da Flurry (network di analisi sul mercato mobile) e OpenFeint, una compagnia che offre esperienze di gioco mobile social. Flurry e OpenFeint risultano essere due “ultra-aggregatori” di UDID e informazioni degli utenti, poichè moltissime applicazioni usano le loro API.

Oltre alle due compagnie vi sono centinaia di siti di sviluppatori indipendenti, server e altri nomi minori nel campo delle ricerche. Al momento gli utenti non hanno modo di bloccare questo flusso di informazioni o di sapere esattamente a chi vengano inviati i dati. Questa situazione, insieme a quella del tracciamento delle coordinate geografiche, ha scatenato diverse polemiche seguite anche dal Wall Street Journal, a cui si aggiungono due denunce ad Apple.

In realtà l’UDID non è legato all’identità reale e fisica dell’utente. Se fosse realmente possibile de-anonimizzare del tutto gli UDID si configurerebbe una gravissima violazione della privacy. Apple è a conoscenza del problema e ha esplicitamente ribadito agli svilupattori che non sono autorizzati a collegare la UDID all’account di un utente. Aldo Cortesi ha creato uno strumento chiamato Mitmproxy, un proxy man-in-the-middle che permette di intercettare e monitorare il traffico HTTP tramite crittografia SSL, e lo ha utilizzato per monitorare il traffico di dati criptati inviati dal suo stesso terminale iOS.

Cortesi è stato in grado di osservare il flusso di protocolli e dati incriminati, ma ciò che lo ha più preoccupato è la possibilità di de-anonimizzare un UDID tramite OpenFeint, linkando direttamente l’account dell’utente all’identificativo del terminale. Quando un’applicazione abilitata ad OpenFeint viene aperta per la prima volta, carica sui server OpenFeint l’UDID dell’utente, ottenendo indietro una lista di account associati che costituisce fondamentalmente una chiamata non identificata al terminale:

https://api.openfeint.com/users/for_device.xml?udid=XXX

Potete verificare copiando questa stringa nel browser, sostituendo XXX con il vostro UDID. Facendo questo esperiemento, Cortesi ha ricevuto i seguenti dati legati al proprio UDID (sono stati ovviamente rimossi i dati sensibili):

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<user>
<chat_enabled>true</chat_enabled>
<gamer_score>XXX</gamer_score>
<id>XXX</id>
<last_played_game_id>187402</last_played_game_id>
<last_played_game_name>tiny wings</last_played_game_name>
<lat>XXX</lat>
<lng>XXX</lng>
<online>false</online>
<profile_picture_source>FbconnectCredential</profile_picture_source>
<profile_picture_updated_at>XXX</profile_picture_updated_at>
<profile_picture_url>http://XXX>
<uploaded_profile_picture_content_type nil="true">
</uploaded_profile_picture_content_type>
<uploaded_profile_picture_file_name nil="true">
</uploaded_profile_picture_file_name>
<uploaded_profile_picture_file_size nil="true">
</uploaded_profile_picture_file_size>
<uploaded_profile_picture_updated_at nil="true">
</uploaded_profile_picture_updated_at>
<name>XXX</name>
</profile_picture_url></user>
</resources>

I dati includono latitudine e longitudine, gli ultimi giochi utilizzati, il nome dell’account e l’url alla sua foto di profilo di Facebook. Se l’utente consente a OpenFeint di utilizzare le coordinate geografiche, le ritroverà poi nei dati legati al suo profilo. Associando poi anche l’account Facebook, otteniamo un URL legato alla foto di profilo che viene inclusa nei dati. L’URL include 11 numeri che riportano all’identità Facebook dell’utente.

Cortesi ha riportato il problema ad OpenFeint più di un mese fa, il 5 Aprile ma non ha ricevuto risposta immediata. OpenFeint stava comunque lavorando sul problema perchè le API hanno smesso di utilizzare le coordinate GPS e gli URL della foto di Facebook nel frattempo. Il 12 Aprile Cortesi ha ricevuto una risposta da Jason Citron, CEO OpenFeint, che richiedeva una conversazione telefonica in presenza di avvocati. La conversazione è avvenuto il 20 di Aprile, con un ringraziamento per aver segnalato il problema e la rassicurazione di aver maggiormente chiuso le proprie API. Cosa comporta tutto ciò? Almeno 7.5 milioni di utenti avevano l’account Facebook legato al proprio UDID almeno fino a un paio di settimane fa. Circa 22.5 milioni di utenti avevano le coordinate GPS legate al proprio UDID. Circa 15 milioni di utenti potrebbero ancora avere informazioni identificative nel proprio account OpenFeint e tutti i 75 milioni di utenti hanno ancora dettagli personali legati ai giochi utilizzati.

[Via AldoCortesi]

Ti consigliamo anche

Link copiato negli appunti