I telefoni OnePlus con OxygenOS perdono l'IMEI del telefono ogni volta che il telefono verifica la disponibilità di un aggiornamento. Il telefono utilizza una richiesta HTTP POST non sicura.
IL Uno più uno è stato uno dei primi smartphone Android a dimostrare che i consumatori non avevano bisogno di sborsare più di 600 dollari per un'esperienza di punta. In altre parole, dovresti farlo anche a un prezzo più basso non stabilirsi mai per aver acquistato un prodotto di qualità inferiore.
Ricordo ancora il clamore attorno alla rivelazione delle specifiche di OnePlus One: l'azienda ha sfruttato il fanatismo mostrato dagli appassionati di Android quando si trattava di fughe di notizie. OnePlus ha deciso di svelare lentamente le specifiche del telefono, una per una, alcune settimane prima del lancio ufficiale - e ha funzionato.
All'epoca eravamo entusiasti dell'uso dello Snapdragon 801 con display 1080p da 5,5" e della partnership molto allettante con la neonata startup Cyanogen Inc. (di cui erano appassionati Android
molto entusiasta a causa della popolarità di CyanogenMod). E poi OnePlus ha lanciato la bomba più grande su tutti noi: il prezzo iniziale di $ 299. Solo un altro telefono mi aveva davvero stupito per il suo rapporto qualità-prezzo - il Nexus 5 - e il OnePlus One lo ha fatto saltare fuori dall'acqua. Ricordo molti appassionati di Nexus combattuti tra l'aggiornamento a OnePlus One o l'attesa del rilascio del prossimo Nexus.Ma poi OnePlus ha creato un serie di decisioni ciò, sebbene alcuni fossero economicamente giustificabili, ha ucciso un po' di slancio per il marchio tra gli appassionati di Android. Prima c'è stata la controversia sul sistema degli inviti, poi sono arrivate le pubblicità controverse e litigare con Cyanogen, Poi la società ha ricevuto un po' di odio per il OnePlus2 rilascio che agli occhi di molte persone non è riuscito a essere all'altezza al suo soprannome di "Flagship Killer", e Finalmente c'è il figliastro dai capelli rossi OnePlusX smartphone che ha appena ricevuto Android Marshmallow UN pochi giorni fa.
Due passi avanti, uno indietro
A merito di OnePlus, l'azienda è riuscita a farlo riaccendere l'hype circondando i suoi prodotti con il OnePlus 3. Questa volta, OnePlus non solo si è assicurato di rispondere a molte delle lamentele che i recensori e gli utenti avevano nei confronti di OnePlus 2, ma è anche andato ben oltre affrontare i reclami di revisione anticipata E rilasciando il codice sorgente per sviluppatori di ROM personalizzate. Ancora una volta, OnePlus ha creato un prodotto abbastanza avvincente da farmi riconsiderare l'attesa del rilascio del prossimo telefono Nexus e convincere diversi membri del nostro staff ad acquistarne uno (o due) per loro. Ma c'è un problema riguardo al quale alcuni membri del nostro staff sono cauti: il software. Siamo piuttosto divisi su come utilizziamo i nostri telefoni: alcuni di noi vivono all'avanguardia e flashano ROM personalizzate come Cyanogenmod 13 non ufficiale di sultanxda per OnePlus 3, mentre altri eseguono solo il firmware stock sul proprio dispositivo. Tra il nostro staff c'è qualche disaccordo sulla qualità dei titoli recentemente rilasciati Creazione della comunità OxygenOS 3.5 (che esploreremo in un prossimo articolo), ma c'è una questione su cui siamo tutti d'accordo: il totale sconcerto per il fatto che OnePlus utilizza HTTP per trasmettere il tuo IMEI durante il controllo degli aggiornamenti software.
Sì, avete letto bene. Il tuo IMEI, il numero che identifica in modo univoco il tuo telefono specifico, è inviato non crittografato ai server di OnePlus quando il telefono verifica la disponibilità di un aggiornamento (con o senza input dell'utente). Ciò significa che chiunque sia in ascolto del traffico di rete nella tua rete (o a tua insaputa, mentre navighi nel nostro forum mentre sei connesso a un hotspot pubblico) può prendere il tuo IMEI se il tuo telefono (o tu) decide che è ora di controllare un aggiornamento.
Membro del team del portale XDA ed ex moderatore del forum, b1nny, scoperto il problema da intercettando il traffico del suo dispositivo utilizzando mitmproxy e ne ho parlato sui forum OnePlus di nuovo il 4 luglio. Dopo aver approfondito ulteriormente ciò che stava succedendo quando il suo OnePlus 3 stava controllando la presenza di un aggiornamento, b1nny ha scoperto che OnePlus non richiede un IMEI valido per offrire un aggiornamento all'utente. Per dimostrarlo, b1nny ha utilizzato a App Chrome chiamata Postino per inviare una richiesta HTTP POST al server di aggiornamento di OnePlus e ha modificato il suo IMEI con dati spazzatura. Il server ha comunque restituito il pacchetto di aggiornamento come previsto. b1nny ha fatto altre scoperte riguardanti il processo OTA (come il fatto che i server di aggiornamento sono condivisi con Oppo), ma la cosa più preoccupante era il fatto che veniva trasmesso questo identificatore univoco del dispositivo HTTP.
Nessuna soluzione ancora in vista
Dopo aver scoperto il problema di sicurezza, b1nny ha effettuato la dovuta diligenza e ha tentato di contattare entrambi Moderatori del forum OnePlus E rappresentanti del servizio clienti che potrebbe essere in grado di inoltrare il problema lungo la catena ai team competenti. Un moderatore ha affermato che il problema sarebbe stato trasmesso; tuttavia, non è stato in grado di ricevere alcuna conferma che la questione fosse stata esaminata. Quando il problema è stato inizialmente portato all'attenzione degli utenti Reddit sul subreddit /r/Android, molti erano preoccupati ma erano fiduciosi che il problema sarebbe stato risolto rapidamente. Anche nel portale XDA credevamo che il metodo HTTP POST non sicuro utilizzato per eseguire il ping del server OTA per un aggiornamento sarebbe stato finalmente risolto. La scoperta iniziale del problema è avvenuta sulla versione 3.2.1 del sistema operativo OxygenOS (anche se avrebbe potuto esistere nelle versioni precedenti come bene), ma b1nny ci ha confermato ieri che il problema persiste ancora sull'ultima versione stabile del sistema operativo Oxygen: versione 3.2.4.
POST:User-agent: UA/ONEPLUS A3003/XXX/OnePlus3Oxygen_16.A.13_GLO_013_1608061823/V1.0.0_20150407
Content-Type: text/plain; charset=UTF-8
Host: i.ota.coloros.com
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Length: 188
Raw
{"version":"1","mobile":"ONEPLUS A3003","ota_version":"OnePlus3Oxygen_16.A.13_GLO_013_1608061823","imei":"XXX","mode":"0","type":"1","language":"en","beta":"0","isOnePlus":"1"}
ANSWER:
Server: nginx
Date: Wed, 24 Aug 2016 18:20:24 GMT
Content-Type: application/json; charset=UTF-8
Connection: keep-alive
X-Server-ID: hz0231
No content
Tuttavia, con il recente rilascio della build della community OxygenOS 3.5 eravamo di nuovo curiosi di vedere se il problema persisteva. Abbiamo contattato OnePlus in merito a questo problema e un portavoce dell'azienda ci ha detto che il problema era stato effettivamente risolto. Tuttavia, abbiamo chiesto a uno dei membri del nostro portale di eseguire il flashing dell'ultima build della community e di utilizzare mitmproxy per intercettare il traffico di rete del suo OnePlus 3 e, con nostra sorpresa, abbiamo scoperto che OxygenOS stava ancora inviando un IMEI nella richiesta HTTP POST al server di aggiornamento.
POST http://i.ota.coloros.com/post/Query_Update HTTP/1.1.User-Agent: com.oneplus.opbackup/1.3.0
Cache-Control: no-cache
Content-Type: application/json; charset=utf-8
Host: i.ota.coloros.com
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Length: 188
Raw
{"version":"1","mobile":"ONEPLUS A3000","ota_version":"OnePlus3Oxygen_16.X.01_GLO_001_1608221857","imei":"XXX","mode":"0","type":"0","language":"en","beta":"0","isOnePlus":"1"}
Ciò, nonostante l'apparente conferma che il problema è stato risolto, preoccupa profondamente noi di XDA. Non ha senso che OnePlus utilizzi HTTP per inviare una richiesta ai propri server, se tutti lo desiderano Se non fosse altro che utilizzare il nostro IMEI per scopi di data mining, probabilmente potrebbero farlo in modo molto più sicuro metodo.
Perdite IMEI e tu
Non c'è niente sostanzialmente pericoloso per la perdita del tuo IMEI su una rete pubblica. Sebbene identifichi in modo univoco il tuo dispositivo, esistono altri identificatori univoci che potrebbero essere utilizzati in modo dannoso. Le applicazioni possono richiedere l'accesso per vedere l'IMEI del tuo dispositivo abbastanza facilmente. Allora qual è il problema? A seconda di dove vivi, il tuo IMEI potrebbe essere utilizzato per tracciarti dal governo o da un hacker apparentemente abbastanza interessato a te. Ma queste non sono realmente preoccupazioni per l'utente medio.
Il problema potenziale più grande potrebbe essere l'uso illecito del tuo IMEI: incluso ma non limitato all'inserimento nella lista nera del tuo IMEI o alla clonazione dell'IMEI per essere utilizzato su un telefono del mercato nero. Se si verificasse uno degli scenari, potrebbe essere un enorme inconveniente tirarsi fuori da questo buco. Un altro potenziale problema riguarda le applicazioni che utilizzano ancora il tuo IMEI come identificatore. Whatsapp, ad esempio, usava un file Versione invertita con hash MD5 del tuo IMEI come password del tuo account. Dopo aver cercato in rete, alcuni siti Web loschi affermano di essere in grado di hackerare gli account Whatsapp utilizzando un numero di telefono e un IMEI, ma non riesco a verificarli.
Ancora, è importante salvaguardare qualsiasi informazione che identifichi in modo univoco te o i tuoi dispositivi. Se i problemi di privacy sono importanti per te, allora questa pratica di OnePlus dovrebbe essere preoccupante. Ci auguriamo che questo articolo serva a informarti sulle potenziali implicazioni sulla sicurezza alla base di ciò pratica, e di portare questa situazione all'attenzione di OnePlus (ancora una volta) affinché possa essere risolta tempestivamente.