Telefony OnePlus z systemem OxygenOS powodują wyciek numeru IMEI telefonu za każdym razem, gdy telefon sprawdza dostępność aktualizacji. Telefon korzysta z niezabezpieczonego żądania HTTP POST.
The Jeden dodać jeden był jednym z pierwszych smartfonów z Androidem, który udowodnił, że konsumenci nie muszą wydawać ponad 600 dolarów, aby cieszyć się flagowym produktem. Innymi słowy, nawet przy niższej cenie powinieneś nigdy się nie rozstrzygaj za zakup gorszego produktu.
Do dziś pamiętam szum wokół ujawnienia specyfikacji OnePlus One – firma wykorzystała fanatyzm entuzjastów Androida w kwestii wycieków. OnePlus zdecydował się na powolne ujawnianie specyfikacji telefonu jedna po drugiej na kilka tygodni przed oficjalną premierą – i to zadziałało.
W tym czasie śliniliśmy się na myśl o korzystaniu z telefonu ze Snapdragonem 801 z 5,5-calowym wyświetlaczem 1080p, a także o bardzo kuszącej współpracy z raczkującym start-upem Cyanogen Inc. (z których byli entuzjaści Androida bardzo podekscytowany popularnością CyanogenMod). A potem OnePlus rzucił na nas wszystkich największą bombę – cenę początkową 299 dolarów. Tylko jeden telefon naprawdę zadziwił mnie swoją wydajnością – Nexus 5 – i
OnePlus One wysadził go w powietrze. Pamiętam, że wielu entuzjastów Nexusa było rozdartych pomiędzy uaktualnieniem do OnePlus One a oczekiwaniem na premierę kolejnego Nexusa.Ale potem OnePlus zrobił szereg decyzji to, chociaż niektóre były uzasadnione ekonomicznie, zabiło dynamikę marki wśród entuzjastów Androida. Najpierw były kontrowersje wokół systemu zaproszeń, potem pojawiły się kontrowersyjne reklamy i wypadanie z cyjanogenem, Następnie firma spotkała się z nienawiścią za OnePlusa 2 uwolnić, co w oczach wielu ludzi nie udało się przeżyć do pseudonimu „Flagship Killer” i Wreszcie tam jest rudowłosy pasierb OnePlus X smartfon, który dopiero co otrzymał Android Marshmallow A kilka dni temu.
Dwa kroki do przodu, jeden krok do tyłu
Trzeba przyznać, że OnePlus firmie się to udało ponownie rozpalić szum otaczając swoje produkty OnePlusa 3. Tym razem OnePlus nie tylko zajął się wieloma skargami recenzentów i użytkowników wobec OnePlus 2, ale nawet poszedł dalej, rozpatrywanie skarg związanych z wczesnym przeglądem I udostępnienie kodu źródłowego dla twórców niestandardowych ROMów. Po raz kolejny OnePlus stworzył produkt na tyle przekonujący, że ponownie zastanowiłem się nad oczekiwaniem na premierę kolejnego telefonu Nexus i skłoniłem kilku pracowników do zakupu takiego (lub dwa) dla siebie. Jest jednak jedna kwestia, do której niektórzy nasi pracownicy mają zastrzeżenia – oprogramowanie. Jesteśmy dość podzieleni w kwestii tego, jak korzystamy z naszych telefonów – niektórzy z nas żyją na krawędzi i flashują niestandardowe ROMy, takie jak Nieoficjalny Cyanogenmod 13 firmy Sultanxda dla OnePlus 3, podczas gdy inne uruchamiają tylko standardowe oprogramowanie na swoich urządzeniach. Wśród naszych pracowników istnieją pewne różnice zdań co do jakości niedawno wydanych materiałów Kompilacja społecznościowa OxygenOS 3.5 (co omówimy w przyszłym artykule), ale jest jedna kwestia, co do której wszyscy się zgadzamy: całkowite zdziwienie faktem, że OnePlus używa protokołu HTTP do przesyłania numeru IMEI podczas sprawdzania dostępności aktualizacji oprogramowania.
Tak, dobrze to przeczytałeś. Twój IMEI, numer, który jednoznacznie identyfikuje Twój konkretny telefon, jest wysłany niezaszyfrowane do serwerów OnePlus, gdy telefon sprawdza dostępność aktualizacji (z udziałem użytkownika lub bez). Oznacza to, że każdy, kto podsłuchuje ruch sieciowy w Twojej sieci (lub bez Twojej wiedzy, podczas przeglądania naszych fora po podłączeniu do publicznego hotspotu) mogą pobrać Twój numer IMEI, jeśli Twój telefon (lub Ty) zdecyduje, że nadszedł czas, aby sprawdzić dostępność aktualizacja.
Członek zespołu portalu XDA i były moderator forum, b1nny, odkryłem problem przez przechwytywanie ruchu jego urządzenia za pomocą mitmproxy i opublikował o tym post na forach OnePlus powrót 4 lipca. Po dokładnym zbadaniu, co się dzieje, gdy jego OnePlus 3 sprawdza dostępność aktualizacji, b1nny odkrył, że OnePlus nie wymaga ważnego IMEI aby zaoferować użytkownikowi aktualizację. Aby to udowodnić, b1nny użył a Aplikacja Chrome o nazwie Postman wysłać żądanie HTTP POST do serwera aktualizacji OnePlus i edytować swój IMEI za pomocą danych śmieciowych. Serwer nadal zwrócił pakiet aktualizacji zgodnie z oczekiwaniami. b1nny dokonał innych odkryć dotyczących procesu OTA (takich jak fakt, że serwery aktualizacji są współdzielone Oppo), ale najbardziej niepokojący był fakt, że przesyłany był ten unikalny identyfikator urządzenia HTTP.
Nie widać jeszcze rozwiązania
Po odkryciu problemu związanego z bezpieczeństwem b1nny dołożył należytej staranności i próbował skontaktować się z obydwoma podmiotami Moderatorzy forum OnePlus I przedstawiciele obsługi klienta który mógłby być w stanie przekazać problem dalej w łańcuchu do odpowiednich zespołów. Moderator rzeczywiście twierdził, że problem zostanie przekazany; nie udało mu się jednak uzyskać żadnego potwierdzenia, że sprawa jest badana. Kiedy początkowo zwrócono uwagę na problem Redditorów w subreddicie /r/Android, wiele osób było zaniepokojonych, ale było przekonanych, że problem zostanie szybko rozwiązany. W portalu XDA również wierzyliśmy, że niebezpieczna metoda HTTP POST używana do pingowania serwera OTA w celu uzyskania aktualizacji zostanie w końcu naprawiona. Początkowe wykrycie problemu dotyczyło wersji 3.2.1 systemu operacyjnego OxygenOS (chociaż mógł on istnieć w poprzednich wersjach, ponieważ cóż), ale b1nny potwierdził nam wczoraj, że problem nadal występuje w najnowszej stabilnej wersji Oxygen OS: wersja 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
Jednak wraz z niedawnym wydaniem kompilacji społecznościowej OxygenOS 3.5 ponownie byliśmy ciekawi, czy problem nadal występuje. Skontaktowaliśmy się z OnePlus w sprawie tego problemu i rzecznik firmy powiedział nam, że problem rzeczywiście został załatany. Jednak jeden z członków naszego portalu wgrał najnowszą wersję społecznościową i użył mitmproxy do przechwytywania ruchu sieciowego swojego OnePlus 3 i ku naszemu zaskoczeniu odkryliśmy, że OxygenOS nadal wysyłał numer IMEI w żądaniu HTTP POST do serwera aktualizacji.
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, pomimo pozornego potwierdzenia, że problem został rozwiązany, głęboko niepokoi nas w XDA. Nie ma sensu, aby OnePlus używał protokołu HTTP do wysyłania żądań do swoich serwerów, jeśli tylko tego chce zrobić, to użyć naszego IMEI do celów eksploracji danych, wtedy prawdopodobnie mogliby to zrobić w znacznie bezpieczniejszy sposób metoda.
Wycieki IMEI i Ty
Nie ma nic w zasadzie niebezpieczne w przypadku wycieku numeru IMEI przez sieć publiczną. Chociaż jednoznacznie identyfikuje Twoje urządzenie, istnieją inne unikalne identyfikatory, które mogą zostać wykorzystane w złośliwy sposób. Aplikacje mogą żądać dostępu aby łatwo zobaczyć numer IMEI swojego urządzenia. Więc o co chodzi? W zależności od tego, gdzie mieszkasz, Twój numer IMEI może zostać wykorzystany do śledzenia Cię przez rząd lub hakera, który najwyraźniej jest Tobą wystarczająco zainteresowany. Ale tak naprawdę nie są to obawy przeciętnego użytkownika.
Największym potencjalnym problemem może być nielegalne wykorzystanie Twojego numeru IMEI: w tym między innymi umieszczenie Twojego numeru IMEI na czarnej liście lub klonowanie numeru IMEI w celu użycia go na telefonie czarnorynkowym. Jeśli zdarzy się którykolwiek ze scenariuszy, wykopanie się z tej dziury może być ogromną niedogodnością. Innym potencjalnym problemem są aplikacje, które nadal używają numeru IMEI jako identyfikatora. Na przykład Whatsapp używał pliku Wersja odwrócona z skrótem MD5 Twojego IMEI jako hasła do Twojego konta. Po rozejrzeniu się po Internecie niektóre podejrzane witryny twierdzą, że mogą włamać się na konta Whatsapp przy użyciu numeru telefonu i IMEI, ale nie mogę ich zweryfikować.
Nadal, ważne jest, aby chronić wszelkie informacje, które jednoznacznie identyfikują Ciebie lub Twoje urządzenia. Jeśli kwestie prywatności są dla Ciebie ważne, ta praktyka OnePlus powinna Cię niepokoić. Mamy nadzieję, że ten artykuł posłuży do poinformowania Cię o potencjalnych konsekwencjach związanych z bezpieczeństwem praktykę i zwrócenie uwagi OnePlus na tę sytuację (jeszcze raz), aby można było ją naprawić natychmiast.