Telefoni OnePlus z operacijskim sistemom OxygenOS razkrijejo IMEI vašega telefona, kadar koli vaš telefon išče posodobitev. Telefon uporablja nevarno zahtevo HTTP POST.
The OnePlus One je bil eden prvih pametnih telefonov Android, ki je dokazal, da potrošnikom ni treba odšteti več kot 600 USD za vrhunsko izkušnjo. Z drugimi besedami, tudi po nižji ceni bi morali nikoli se ne poravnaj za nakup slabšega izdelka.
Še vedno se spomnim navdušenja okoli razkritja specifikacij za OnePlus One – podjetje je izkoristilo fanatizem, ki so ga pokazali navdušenci nad Androidom, ko je prišlo do uhajanja informacij. OnePlus se je odločil, da bo nekaj tednov pred uradno predstavitvijo počasi razkrival specifikacije telefona eno za drugo – in uspelo je.
Takrat so se nam cedile sline nad tem, da telefon uporablja procesor Snapdragon 801 s 5,5-palčnim zaslonom ločljivosti 1080p, kot tudi nad zelo vabljivim partnerstvom z nastajajočim startupom Cyanogen Inc. (med katerimi so bili navdušenci nad Androidom zelo navdušen zaradi priljubljenosti CyanogenMod). In potem je OnePlus na vse nas vrgel največjo bombo – začetna cena 299 $. Le še en telefon me je resnično presenetil zaradi svoje stroškovne učinkovitosti – Nexus 5 – in
OnePlus One ga je odpihnil iz vode. Spomnim se številnih navdušencev nad Nexusom, ki so bili razdvojeni med nadgradnjo na OnePlus One ali čakanjem na izdajo naslednjega Nexusa.Potem pa je OnePlus naredil vrsto odločitev ki so, čeprav so bili nekateri ekonomsko upravičeni, ubili nekaj zagona za znamko med navdušenci nad Androidom. Najprej je bila polemika v zvezi s sistemom povabil, nato so prišli sporni oglasi in izpadanje s cianogenom, potem podjetje je prejelo nekaj sovraštva za OnePlus 2 sprostitev, ki v očeh mnogih ljudi ni uspelo živeti njegovemu vzdevku "Ubijalec vodilnih" in končno tam je rdečelasi pastorek OnePlus X pametni telefon, ki je bil pravkar prejet Android Marshmallow a pred nekaj dnevi.
Dva koraka naprej, en korak nazaj
Po zaslugi OnePlusa je podjetje uspelo znova obuditi hype obdaja svoje izdelke z OnePlus 3. Tokrat OnePlus ni le poskrbel za obravnavo številnih pritožb, ki so jih imeli recenzenti in uporabniki do OnePlus 2, ampak je celo šel nad in presegel obravnavanje pritožb pred zgodnjim pregledom in sprostitev izvorne kode za razvijalce ROM po meri. Še enkrat je OnePlus ustvaril dovolj privlačen izdelek, da sem premislil, da počakam na izdajo naslednjega telefona Nexus in da ga je kupilo več članov našega osebja (ali dva) zase. Vendar obstaja ena težava, glede katere so nekateri naši zaposleni previdni – programska oprema. Glede tega, kako uporabljamo svoje telefone, smo precej razdvojeni – nekateri od nas živijo na samem robu in pomnijo ROM-e po meri, kot je sultanxda's neuradni Cyanogenmod 13 za OnePlus 3, medtem ko drugi na svojih napravah izvajajo samo osnovno vdelano programsko opremo. Med našim osebjem obstaja nekaj nestrinjanja glede kakovosti nedavno izdanega Zgradba skupnosti OxygenOS 3.5 (kar bomo raziskali v prihodnjem članku), vendar obstaja ena težava, s katero se vsi strinjamo: popolna zmeda nad dejstvom, da OnePlus uporablja HTTP za prenos vašega IMEI med preverjanjem posodobitev programske opreme.
Da, prav ste prebrali. Vaš IMEI, številka, ki edinstveno identificira vaš telefon, je poslano nešifrirano na strežnike OnePlus, ko vaš telefon preveri, ali je na voljo posodobitev (z ali brez uporabniškega vnosa). To pomeni, da vsakdo, ki prisluškuje omrežnemu prometu v vašem omrežju (ali ne da bi vedel, medtem ko brskate po naših forumih, medtem ko ste povezani z javno dostopno točko) lahko prevzame vaš IMEI, če se vaš telefon (ali vi) odloči, da je čas, da preveri nadgradnja.
Član ekipe portala XDA in nekdanji moderator foruma, b1nny, je težavo odkril avtor prestrezanje prometa njegove naprave uporabo mitmproxy in o tem objavil na forumih OnePlus nazaj 4. julija. Potem ko je b1nny še nekaj poglobil v dogajanje, ko je njegov OnePlus 3 iskal posodobitev, je ugotovil, da OnePlus ne zahteva veljavnega IMEI ponuditi posodobitev uporabniku. Da bi to dokazal, je b1nny uporabil a Aplikacija Chrome, imenovana Postman da pošlje zahtevo HTTP POST OnePlusovemu strežniku za posodabljanje in uredi svoj IMEI z odpadnimi podatki. Strežnik še vedno vrnil paket posodobitev, kot je bilo pričakovano. b1nny je prišel do drugih odkritij v zvezi s postopkom OTA (kot je dejstvo, da so strežniki za posodabljanje v skupni rabi z Oppo), najbolj zaskrbljujoče pa je bilo dejstvo, da se je ta edinstveni identifikator naprave prenašal HTTP.
Popravila še ni na vidiku
Potem ko je odkril varnostno težavo, je b1nny opravil skrbni pregled in poskušal vzpostaviti stik z obema Moderatorji foruma OnePlus in predstavniki službe za stranke ki bi morda lahko posredoval zadevo po verigi ustreznim ekipam. Moderator je trdil, da bo izdaja posredovana naprej; vendar ni mogel prejeti nobene potrditve, da se zadeva preučuje. Ko so Redditorji na /r/Android subreddit prvič opozorili na težavo, so bili mnogi zaskrbljeni, vendar so bili prepričani, da bo težava hitro rešena. Tudi na portalu XDA smo verjeli, da bo nevarna metoda HTTP POST, ki se uporablja za pinganje strežnika OTA za posodobitev, sčasoma popravljena. Začetno odkritje težave je bilo v operacijskem sistemu OxygenOS različice 3.2.1 (čeprav bi lahko obstajalo v prejšnjih različicah kot no), toda b1nny nam je včeraj potrdil, da je težava še vedno prisotna v najnovejši stabilni različici OS Oxygen: različica 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
Vendar pa nas je ob nedavni izdaji gradnje skupnosti OxygenOS 3.5 spet zanimalo, ali se težava še vedno pojavlja. V zvezi s to težavo smo se obrnili na OnePlus in tiskovni predstavnik podjetja nam je povedal, da je bila težava res popravljena. Vendar pa smo enemu od naših članov portala dali posodobiti najnovejšo gradnjo skupnosti in uporabiti mitmproxy za prestrezanje omrežnega prometa njegovega OnePlus 3, in na naše presenečenje smo ugotovili, da OxygenOS je strežniku za posodabljanje še vedno pošiljal IMEI v zahtevi HTTP POST.
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"}
To kljub navidezni potrditvi, da je bila težava rešena, nas pri XDA močno skrbi. Nima smisla, da OnePlus uporablja HTTP za pošiljanje zahteve svojim strežnikom, če sploh želi uporabijo naš IMEI za namene podatkovnega rudarjenja, potem bi to verjetno lahko storili na veliko bolj varen način metoda.
Puščanje IMEI in vi
Ničesar ni bistveno nevarno zaradi uhajanja vašega IMEI prek javnega omrežja. Čeprav edinstveno identificira vašo napravo, obstajajo tudi drugi edinstveni identifikatorji, ki bi jih lahko uporabili zlonamerno. Aplikacije lahko zahtevajo dostop za dokaj enostaven ogled IMEI vaše naprave. Torej, kaj je narobe? Odvisno od tega, kje živite, lahko vaš IMEI za sledenje uporabi vlada ali heker, ki se očitno dovolj zanima za vas. Toda to v resnici ni zaskrbljujoče za povprečnega uporabnika.
Največja možna težava bi lahko bila nezakonita uporaba vašega IMEI: vključno z, vendar ne omejeno na, uvrstitvijo vašega IMEI na črni seznam ali kloniranjem IMEI za uporabo na telefonu na črnem trgu. Če bi se zgodil kateri koli od scenarijev, bi lahko bilo veliko neprijetnosti, če bi se izkopali iz te luknje. Druga možna težava je v zvezi z aplikacijami, ki še vedno uporabljajo vaš IMEI kot identifikator. Whatsapp je na primer nekoč uporabljal MD5-zgoščena, obrnjena različica vašega IMEI kot gesla vašega računa. Po ogledu spleta so nekatera sumljiva spletna mesta trdila, da lahko vdrejo v račune Whatsapp s telefonsko številko in IMEI, vendar jih ne morem preveriti.
še vedno pomembno je zaščititi vse podatke, ki vas ali vaše naprave enolično identificirajo. Če so vprašanja zasebnosti za vas pomembna, bi morala biti ta praksa OnePlus zaskrbljujoča. Upamo, da vas bo ta članek obveščal o morebitnih varnostnih posledicah za tem prakso in OnePlus (še enkrat) opozoriti na to situacijo, da jo lahko popravijo nemudoma.