OnePlus tālruņi, kuros darbojas OxygenOS, nopludina jūsu tālruņa IMEI ikreiz, kad tālrunis meklē atjauninājumu. Tālrunis izmanto nedrošu HTTP POST pieprasījumu.
The OnePlus One bija viens no pirmajiem Android viedtālruņiem, kas pierādīja, ka patērētājiem nav jāmaksā vairāk nekā 600 $, lai iegūtu vadošo pieredzi. Citiem vārdiem sakot, pat par zemāku cenu jums vajadzētu nekad nenokārtot zemākas kvalitātes produkta iegādei.
Es joprojām atceros ažiotāžu ap OnePlus One specifikāciju atklāšanu — uzņēmums izmantoja Android entuziastu fanātismu, kad runa bija par noplūdēm. OnePlus nolēma dažas nedēļas pirms oficiālās palaišanas lēnām atklāt tālruņa specifikācijas pa vienam - un tas darbojās.
Toreiz mēs siekalojāmies par to, ka tālrunī tiek izmantots Snapdragon 801 ar 5,5 collu 1080p displeju, kā arī ļoti vilinošā sadarbība ar jaunizveidoto starta uzņēmumu Cyanogen Inc. (no kuriem bija Android entuziasti ļoti sajūsmā CyanogenMod popularitātes dēļ). Un tad OnePlus nometa lielāko sprādzienu mums visiem — sākuma cenu 299 USD. Tikai viens cits tālrunis mani bija patiesi pārsteidzis ar savu izmaksu veiktspēju — Nexus 5 — un
OnePlus One to izpūta no ūdens. Es atceros, ka daudzi Nexus entuziasti plosījās starp OnePlus One jaunināšanu vai nākamā Nexus izlaišanas gaidīšanu.Bet tad OnePlus izveidoja a lēmumu virkne kas, lai gan daži no tiem bija ekonomiski pamatoti, Android entuziastu vidū radīja zīmola stimulu. Vispirms tas bija strīds par ielūgumu sistēmu, pēc tam nāca pretrunīgi vērtētie sludinājumi un izkrišana ar cianogēnu, tad uzņēmums saņēma zināmu naidu par OnePlus 2 atbrīvot, kas daudzu cilvēku acīs neizdevās izdzīvot ar nosaukumu "Flagship Killer" un beidzot tur ir sarkanmatainais pabērns OnePlus X viedtālrunis, kas tikko saņemts Android Marshmallow a pirms dažām dienām.
Divi soļi uz priekšu, viens solis atpakaļ
OnePlus gods, uzņēmums to spēja atjaunot ažiotāžu apņem savus produktus ar OnePlus 3. Šoreiz OnePlus ne tikai pievērsās daudzām recenzentu un lietotāju sūdzībām pret OnePlus 2, bet arī pārspēja agrīnas izskatīšanas sūdzību risināšana un avota koda izlaišana pielāgotu ROM izstrādātājiem. Atkal OnePlus ir izveidojis pietiekami pārliecinošu produktu, lai es vēlreiz apsvērtu nākamā Nexus tālruņa izlaišanas gaidīšanu, un vairāki mūsu darbinieki to iegādājas (vai divas) pašiem. Taču ir viena problēma, par kuru daži mūsu darbinieki ir piesardzīgi — programmatūra. Mēs esam diezgan dalīti attiecībā uz to, kā mēs lietojam savus tālruņus — daži no mums dzīvo ļoti strauji un izmanto pielāgotus ROM, piemēram, sultanxda neoficiālais Cyanogenmod 13 OnePlus 3, savukārt citi savā ierīcē izmanto tikai akciju programmaparatūru. Mūsu darbinieku vidū ir dažas domstarpības par nesen izdotā satura kvalitāti OxygenOS 3.5 kopienas izveide (ko mēs izpētīsim nākamajā rakstā), taču ir viena problēma, par kuru mēs visi piekrītam: pilnīga apjukums par to, ka OnePlus izmanto HTTP, lai pārsūtītu jūsu IMEI, vienlaikus pārbaudot programmatūras atjauninājumus.
Jā, jūs izlasījāt pareizi. Jūsu IMEI — tas numurs unikāli identificē jūsu konkrēto tālruni, tiek nosūtīts nešifrēts uz OnePlus serveriem, kad tālrunis pārbauda atjauninājumu (ar vai bez lietotāja ievades). Tas nozīmē, ka ikviens, kurš klausās tīkla trafiku jūsu tīklā (vai jums nezinot, kamēr jūs pārlūkojat mūsu forumos, kamēr ir izveidots savienojums ar publisku tīklāju), var iegūt jūsu IMEI, ja jūsu tālrunis (vai jūs) nolemj, ka ir pienācis laiks pārbaudīt, vai Atjaunināt.
XDA portāla komandas dalībnieks un bijušais foruma moderators, b1nny, problēmu atklāja pārtverot viņa ierīces trafiku izmantojot mitmproxy un publicēja par to OnePlus forumos atkal 4. jūlijā. Pēc papildu izpētes par to, kas notika, kad viņa OnePlus 3 meklēja atjauninājumu, b1nny atklāja, ka OnePlus nav nepieciešams derīgs IMEI lai piedāvātu lietotājam atjauninājumu. Lai to pierādītu, b1nny izmantoja a Chrome lietotne ar nosaukumu Postman lai nosūtītu HTTP POST pieprasījumu OnePlus atjaunināšanas serverim un rediģētu viņa IMEI ar atkritumu datiem. Serveris joprojām atgrieza atjaunināšanas pakotni, kā paredzēts. b1nny veica citus atklājumus saistībā ar OTA procesu (piemēram, to, ka atjaunināšanas serveri tiek koplietoti ar Oppo), bet visvairāk satrauca tas, ka šis unikālais ierīces identifikators tika pārsūtīts HTTP.
Pagaidām nav labojumu
Pēc drošības problēmas atklāšanas b1nny veica pienācīgu rūpību un mēģināja sazināties ar abiem OnePlus foruma moderatori un klientu apkalpošanas pārstāvji kas varētu pārsūtīt problēmu pa ķēdi attiecīgajām komandām. Moderators apgalvoja, ka izdotais tiks nodots tālāk; tomēr viņš nevarēja saņemt apstiprinājumu, ka problēma tiek izskatīta. Kad problēmai sākotnēji tika pievērsta Redditors uzmanība /r/Android subreddit, daudzi bija noraizējušies, taču bija pārliecināti, ka problēma tiks ātri atrisināta. Arī XDA portālā mēs uzskatījām, ka nedrošā HTTP POST metode, kas tiek izmantota OTA servera pingēšanai, lai veiktu atjauninājumu, galu galā tiks novērsta. Sākotnēji problēma tika atklāta operētājsistēmas OxygenOS versijā 3.2.1 (lai gan tā varēja pastāvēt iepriekšējās versijās kā labi), bet b1nny vakar ar mums apstiprināja, ka problēma joprojām pastāv jaunākajā stabilajā Oxygen OS versijā: versija 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
Tomēr, nesen izlaižot OxygenOS 3.5 kopienas versiju, mēs atkal vēlējāmies redzēt, vai problēma joprojām pastāv. Mēs sazinājāmies ar OnePlus par šo problēmu, un uzņēmuma pārstāvis mums teica, ka problēma patiešām ir novērsta. Tomēr viens no mūsu portāla dalībniekiem lika atjaunināt jaunāko kopienas versiju un izmantot mitmproxy, lai pārtvertu viņa OnePlus 3 tīkla trafiku, un par pārsteigumu mēs atklājām, ka OxygenOS joprojām sūtīja IMEI HTTP POST pieprasījumā atjaunināšanas serverim.
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"}
Tas, neskatoties uz acīmredzamo apstiprinājumu, ka problēma ir atrisināta, mūs ļoti satrauc XDA. OnePlus nav jēgas izmantot HTTP, lai nosūtītu pieprasījumu saviem serveriem, ja vien viņi to vēlas izmantot mūsu IMEI datu ieguves nolūkos, tad viņi, iespējams, to varētu darīt daudz drošāk metodi.
IMEI noplūdes un jūs
Nav nekā būtiski bīstami jūsu IMEI noplūde publiskajā tīklā. Lai gan tas unikāli identificē jūsu ierīci, ir arī citi unikāli identifikatori, kurus var izmantot ļaunprātīgi. Lietojumprogrammas var pieprasīt piekļuvi lai diezgan viegli redzētu ierīces IMEI. Kas tad par problēmu? Atkarībā no jūsu dzīvesvietas jūsu IMEI var izmantot, lai jūs izsekotu valdība vai hakeris, kurš, šķiet, ir pietiekami ieinteresēts jūs. Bet vidusmēra lietotājam tas nav īsti jāuztraucas.
Lielākā iespējamā problēma varētu būt jūsu IMEI nelikumīga izmantošana, tostarp, bet ne tikai, IMEI iekļaušana melnajā sarakstā vai IMEI klonēšana, lai to izmantotu melnā tirgus tālrunī. Ja notiktu kāds no scenārijiem, izrakt sevi no šīs bedres varētu radīt lielas neērtības. Vēl viena iespējamā problēma ir saistīta ar lietojumprogrammām, kas joprojām izmanto jūsu IMEI kā identifikatoru. Piemēram, Whatsapp izmantoja MD5 jauktā, apgrieztā versija jūsu IMEI kā sava konta paroli. Pēc apskatīšanas tiešsaistē dažas ēnas vietnes apgalvo, ka var uzlauzt Whatsapp kontus, izmantojot tālruņa numuru un IMEI, taču es nevaru tos pārbaudīt.
Tomēr ir svarīgi aizsargāt visu informāciju, kas unikāli identificē jūs vai jūsu ierīces. Ja privātuma jautājumi jums ir svarīgi, šai OnePlus praksei vajadzētu būt satraucošai. Mēs ceram, ka šis raksts kalpos, lai informētu jūs par šo iespējamo ietekmi uz drošību praksē un pievērst OnePlus uzmanību šai situācijai (vēlreiz), lai to varētu labot nekavējoties.