Попереджаємо: незважаючи на визнання проблеми, OnePlus усе ще розкриває ваш IMEI, коли ви перевіряєте наявність оновлень

click fraud protection

Телефони OnePlus під керуванням OxygenOS витікають з вашого телефону IMEI щоразу, коли ваш телефон перевіряє наявність оновлень. Телефон використовує незахищений запит HTTP POST.

The OnePlus One був одним із перших Android-смартфонів, який довів, що споживачам не потрібно викладати понад 600 доларів США за флагманський досвід. Іншими словами, навіть за нижчою ціною ви повинні ніколи не погоджуватися за придбання неякісного товару.

Я все ще пам’ятаю ажіотаж навколо оприлюднення специфікацій OnePlus One – компанія скористалася фанатизмом ентузіастів Android, коли справа дійшла до витоків інформації. OnePlus вирішила повільно оприлюднити специфікації телефону одну за одною протягом кількох тижнів до офіційного запуску – і це спрацювало.

У той час у нас текла слина через використання в телефоні процесора Snapdragon 801 із 5,5-дюймовим дисплеєм 1080p, а також дуже привабливого партнерства з молодим стартапом Cyanogen Inc. (з яких були ентузіасти Android дуже у захваті через популярність CyanogenMod). І тоді OnePlus обрушив на нас найбільшу бомбу – стартова ціна в 299 доларів. Лише один телефон по-справжньому вразив мене своєю економічною ефективністю – Nexus 5 – і

OnePlus One здув його з води. Я пам’ятаю, як багато ентузіастів Nexus розривалися між оновленням до OnePlus One або очікуванням випуску наступного Nexus.

OnePlus One привернув увагу шанувальників Nexus, яку не міг би привернути жоден інший телефон

Але потім OnePlus зробив ряд рішень що, хоча деякі з них були економічно виправданими, призвело до певного стимулу для бренду серед ентузіастів Android. Спочатку це була суперечка навколо системи запрошень, потім з’явилася суперечлива реклама випадання з Cyanogen, потім компанія отримала певну ненависть до OnePlus 2 реліз, який в очах багатьох людей не вдалося дожити до свого прізвиська «Вбивця флагманів» і нарешті ось рудий пасинок OnePlus X смартфон, який тільки що отримав Android Marshmallow a кілька днів тому.


Два кроки вперед, один крок назад

До честі OnePlus, компанія змогла це зробити розпалити ажіотаж оточуючи свої продукти з OnePlus 3. Цього разу OnePlus не тільки подбав про вирішення багатьох скарг рецензентів і користувачів на OnePlus 2, але навіть вийшов за межі розгляд скарг на ранній перевірці і випуск вихідного коду для розробників ПЗУ на замовлення. Знову OnePlus створив достатньо привабливий продукт, щоб я передумав дочекатися випуску наступного телефону Nexus і попросив кількох наших співробітників купити один (або два) для них самих. Але є одна проблема, щодо якої дехто з наших співробітників насторожено ставиться до програмного забезпечення. Ми досить розбіжні в тому, як ми використовуємо наші телефони - деякі з нас живуть на краю стікаючих крові та флешують спеціальні ПЗУ, як неофіційний Cyanogenmod 13 від sultanxda для OnePlus 3, тоді як інші запускають лише стандартну прошивку на своєму пристрої. Серед наших співробітників є певні розбіжності щодо якості нещодавно випущених Збірка спільноти OxygenOS 3.5 (яке ми дослідимо в наступній статті), але є одне питання, з яким ми всі згодні: повне здивування тим фактом, що OnePlus використовує HTTP для передачі вашого IMEI під час перевірки оновлень програмного забезпечення.

Зверніть увагу на (відредагований) IMEI, включений у тіло запиту HTTP POST

Так, ви правильно прочитали. Ваш IMEI, номер, який унікально ідентифікує ваш телефон, надсилається незашифрований на сервери OnePlus, коли ваш телефон перевіряє наявність оновлень (з або без введення користувача). Це означає, що кожен, хто прослуховує мережевий трафік у вашій мережі (або без вашого відома, коли ви переглядаєте наші форуми під час підключення до загальнодоступної точки доступу) може отримати ваш IMEI, якщо ваш телефон (або ви) вирішите, що настав час перевірити наявність оновлення.

Член команди порталу XDA та колишній модератор форуму, b1nny, виявив проблему перехоплення трафіку його пристрою використовуючи mitmproxy і опублікував про це на форумах OnePlus повернувся 4 липня. Додатково дослідивши, що відбувалося, коли його OnePlus 3 перевіряв наявність оновлень, b1nny виявив, що OnePlus не вимагає дійсного IMEI щоб запропонувати оновлення користувачеві. Щоб довести це, b1nny використав a Програма Chrome під назвою Postman щоб надіслати запит HTTP POST на сервер оновлення OnePlus і відредагував свій IMEI за допомогою сміттєвих даних. Сервер як і очікувалося, повернув пакет оновлень. b1nny зробив інші відкриття щодо процесу OTA (наприклад, той факт, що сервери оновлень надаються спільно з Oppo), але найбільше хвилювало те, що цей унікальний ідентифікатор пристрою передавався HTTP.


Виправлення ще не видно

Виявивши проблему з безпекою, b1nny провів належну обачність і спробував зв’язатися з обома Модератори форуму OnePlus і представники служби підтримки клієнтів хто міг би передати проблему вгору по ланцюжку відповідним командам. Модератор заявив, що випуск буде переданий; однак він не зміг отримати підтвердження того, що питання розглядається. Коли проблема була вперше звернута до уваги Redditors на /r/Android subreddit, багато хто був стурбований, але були впевнені, що проблема буде швидко вирішена. На порталі XDA ми також вірили, що незахищений метод HTTP POST, який використовувався для перевірки пінгу OTA-сервера для оновлення, зрештою буде виправлено. Початкове виявлення проблеми було в OxygenOS версії 3.2.1 ОС (хоча вона могла існувати в попередніх версіях як добре), але вчора b1nny підтвердив нам, що проблема все ще зберігається в останній стабільній версії ОС Oxygen: версія 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

Однак після нещодавнього випуску збірки спільноти OxygenOS 3.5 нам знову було цікаво дізнатися, чи проблема не зникає. Ми звернулися до OnePlus щодо цієї проблеми, і представник компанії сказав нам, що проблему справді виправлено. Однак один із учасників нашого порталу оновив останню збірку спільноти та використав mitmproxy для перехоплення мережевого трафіку свого OnePlus 3, і, на наш подив, ми виявили, що OxygenOS все ще надсилав IMEI у запиті 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"}

Це, незважаючи на очевидне підтвердження того, що проблему було вирішено, сильно турбує нас у XDA. OnePlus не має сенсу використовувати HTTP для надсилання запиту на свої сервери, якщо вони цього хочуть використовувати наш IMEI для аналізу даних, тоді вони, ймовірно, могли б зробити це набагато безпечніше метод.


Витік IMEI і ви

Немає нічого суттєво небезпечно через витік вашого IMEI через загальнодоступну мережу. Хоча він унікально ідентифікує ваш пристрій, існують інші унікальні ідентифікатори, які можуть бути використані зловмисно. Програми можуть запитувати доступ щоб легко побачити IMEI свого пристрою. Так у чому ж проблема? Залежно від того, де ви живете, ваш IMEI може використовуватися для відстеження вас урядом або хакером, який, очевидно, достатньо вами зацікавлений. Але це не дуже хвилює пересічного користувача.

Найбільшою потенційною проблемою може бути незаконне використання вашого IMEI: включаючи, але не обмежуючись, занесення вашого IMEI в чорний список або клонування IMEI для використання на телефоні чорного ринку. Якщо трапиться будь-який із цих сценаріїв, викопатися з цієї ями може бути дуже незручно. Інша потенційна проблема стосується програм, які все ще використовують ваш IMEI як ідентифікатор. WhatsApp, наприклад, раніше використовував Хешована MD5, зворотна версія IMEI як пароль вашого облікового запису. Після пошуку в Інтернеті деякі тіньові веб-сайти стверджують, що можуть зламати облікові записи Whatsapp за допомогою номера телефону та IMEI, але я не можу їх підтвердити.

все-таки важливо захистити будь-яку інформацію, яка однозначно ідентифікує вас або ваші пристрої. Якщо питання конфіденційності важливі для вас, то така практика OnePlus має насторожити. Ми сподіваємося, що ця стаття повідомить вам про потенційні наслідки для безпеки, які стоять за цим практики та звернути увагу OnePlus на цю ситуацію (ще раз), щоб її можна було виправити оперативно.