Android: що потрібно знати про сертифікацію Google

  1. Сертифікація пристроїв від Google
  2. Сертифікація Google в китайських смартфонах
  3. Google є. Сертифікації - немає. Чим це загрожує користувачу?
  4. Резервні копії. Чи ні
  5. шифрування даних
  6. Безпека даних відбитку пальців
  7. Factory Reset Protection: захист від крадіжки
  8. Ласкаво просимо: root-доступ з коробки
  9. реакція Google
  10. реакція виробників
  11. додаткова інформація

Пропозиція пристроїв під управлінням операційної системи Android перевищує уяву. Користувачам доступний вибір з кількох сотень актуальних моделей. Вибір стає ще ширше, якщо звернути увагу на екзотичні пристрої з Китаю.

Ми вже неодноразово писали про китайських смартфонах; дана стаття - не про те чи не зовсім про те. Сьогодні ми поговоримо про цілком конкретному властивості пристроїв на Android, а саме - про сертифікацію Google і про те, що вона дає споживачеві з точки зору безпеки. Особливий інтерес ця тема представляє в світлі того, що Google починає блокувати не пройшли офіційної сертифікації пристрої, що використовують сервіси Google Play.

Сертифікація пристроїв від Google

Як відомо, операційна система Android доступна у вигляді вихідних кодів і поширюється абсолютно безкоштовно. Будь-який користувач, розробник, виробник має право на повністю законних підставах скористатися напрацюваннями Google і зібрати власну версію Android без єдиного цента виплат на адресу Google або кого б то не було ще. Більш того, Google готовий захищати виробників від патентних нападок, якщо такі стануться.

Щедрою пропозицією Google скористалося незліченну кількість виробників як в Китаї (де сервіси Google, як ми пам'ятаємо, заборонені), так і за його межами. Однак «чистий» Android - це не зовсім те, що уявляє собі більшість користувачів. У «чистому» Android не буде такою корисною речі, як служби Google. Сюди включається далеко не тільки Google Play Store, який дає доступ до величезної бібліотеці додатків і контенту. Зрештою, магазинів додатків - море, і без магазину від Google можна принципово обійтися. В сервіси Google включаються і такі речі, як енергоефективна доставка push-повідомлень в режимі реального часу; служби визначення координат і історія місця розташування, а також найпотужніше картографічне додаток на їх основі; ефективна система «хмарної» синхронізації і резервного копіювання.

Всі ці сервіси також доступні виробникам абсолютно безкоштовно, але - при дотриманні певних умов. Для того, щоб отримати право встановлювати на свої пристрої додатки Google, виробники повинні підписати контракт MADA, який накладає на виробника ряд зобов'язань. Зокрема, виробник зобов'язується точно слідувати правилам, описаним в Android Compatibility Definition Document , А також віддати остаточний варіант пристрою з фінальної прошивкою на сертифікацію в одну з лабораторій Google.

У той же час, ніхто не змушує виробників займатися сертифікацією. Їй і не займаються більшість китайських виробників, які торгують в основному в межах континентального Китаю. У західному світі найвідоміший приклад використання Android без сервісів Google - компанія Amazon, яка у величезних кількостях продає планшети лінійки Kindle Fire і приставки Amazon Fire TV.

Сертифікація коштує грошей, нехай і відносно невеликих - порядку $ 10,000 на пристрій. Сертифікація забирає час. Ще більше часу у виробника може зайняти усунення знайдених на етапі сертифікації недоробок і несумісності.

Наскільки саме сертифікація Google може затримати вихід нової версії прошивки можна уявити за двома прикладами. Так, для телефонів Lenovo ZUK Z2 китайська (без сервісів Google і сертифікації) прошивка на основі Android 7.0 вийшла в лютому 2017, а сертифіковану для Індії обіцяють не раніше червня. Інший приклад - компанія Xiaomi, «глобальні» прошивки якої часто виходять із запізненням близько 4 місяців щодо їх же китайських збірок.

Крім грошових і часових витрат на сертифікацію Google, виробникам доводиться йти і на інші жертви. Так, їм доводиться забезпечувати належний рівень безпеки пристрою згідно з вимогами все того ж Android Compatibility Definition Document. Ці вимоги посилюються з виходом кожної нової версії Android. Наприклад, для Android 5.x ніяк не регламентувався використання датчика відбитків пальців - але вже для Android 6.0 до реалізації біометричної аутентифікації застосовувалися цілком чіткі вимоги. Інший приклад - шифрування розділу даних, яке стало обов'язковим для всіх виробників, що випускають пристрої з Android 6.0 на борту. Починаючи з Android 7 Google намагається регулювати і зовнішній вигляд прошивок, обмежуючи політ фантазії китайських дизайнерів (наприклад, шторку повідомлень виробники тепер повинні реалізовувати стандартно, а не «як у iPhone, тільки красивіше»).

Само собою зрозуміло, що сертифіковані пристрої повинні в повній мірі забезпечувати коректну роботу сервісів Google. Підкреслю: всіх сервісів Google, а не тільки пошуку та магазину.

Сертифікація Google в китайських смартфонах

Для багатьох китайських виробників вимоги до сертифікації Google здаються тягарем. У той же час, їм доводиться встановлювати сервіси Google на пристроях, які вони офіційно продають за межами Китаю: користувач просто не зрозуміє пристрою, на якому не буде звичного магазину Google Play.

Виробники вирішують цю проблему по-різному.

Наприклад, у компанії Xiaomi є пристрої, призначені тільки для внутрішнього ринку. Для таких пристроїв ніколи не виходить прошивок з сервісами Google; вони не проходять сертифікацію. У компанії також є пристрої, які продаються і за межами Китаю. Для таких пристроїв виходять так звані «глобальні» прошивки, часто з великою затримкою. Ця категорія прошивок сертифікується і на офіційних підставах включає в себе сервіси Google.

Схожим чином надходить Lenovo зі своїм суб-брендом ZUK. ZUK Z1 продавався як в Китаї, так і по всьому світу; для нього було доступно дві гілки прошивок, китайська та глобальна. Модель ZUK Z2 офіційно доступна в Китаї і Індії, і якщо для Китаю пропонуються суто китайські прошивки, то для ринку Індії розробляється зовсім окрема, сертифікована прошивка, в яку входять сервіси Google і в якій немає типових для китайської версії проблем (наприклад, з приходом повідомлень ).

Компанія LeEco надходить схожим чином, паралельно розробляючи прошивки для китайського і зовнішніх ринків. Ми вже писали про різницю в цих прошивках; так, якщо в «міжнародних» версіях пристроїв LeEco за замовчуванням активовано шифрування розділу даних, а робота датчика відбитків пальців реалізована в суворій відповідності з Android Compatibility Definition Document, то в «китайських» прошивках шифрування відключено, а датчик відбитків працює абияк (дані відбитків не шифруються і доступні відразу після «холодної» завантаження).

Зараз же в нашу лабораторію потрапив цікавий екземпляр: смартфон Meizu Pro 6, який офіційно продається на західному ринку (свій екземпляр ми замовили в Amazon, який - що важливо - продає їх самостійно, а не через посередників). Пристрій працює під управлінням останньої глобальної версії Flyme OS 5.2.4.0G, яка встановлюється для телефонів для міжнародного ринку.

При тому, що Meizu Pro 6 продається на території Росії і Європи, у телефону немає сертифікації Google. Сертифікації немає, а магазин Google Play - є. Вже одне це нас сильно зацікавило, і ми придбали примірник для тестування.

Google є. Сертифікації - немає. Чим це загрожує користувачу?

Отже, користувач купує телефон - наприклад, Meizu Pro 6. Питання сертифікації Google його не досконале хвилюють, та й не повинні. Більш того, переважна більшість користувачів взагалі не замислюється про сам факт існування подібних сертифікацій. Пристрій працює «з коробки»? Магазин Google Play є? Начебто, більше нічого і не потрібно.

Насправді ні.

Розглянемо процес початкової настройки смартфона під управлінням Android. Запускається стандартний майстер активації, який пропонує вибрати мову, просить підключитися до мережі Wi-Fi, оновлює компоненти Google Services, перевіряє стан Factory Reset Protection (ми вже писали про це в статті Understanding and Bypassing Reset Protection ), Просить ввести дані облікового запису Google Account. Якщо пристрій було скинуто «неправильно», без попередньої відв'язування від облікового запису Google, то необхідно ввести дані тієї облікового запису, яка використовувалася на пристрої в якості основної безпосередньо перед скиданням. Двухфакторная аутентифікація, автоматичне відновлення налаштувань, додатків і даних з «хмарної» резервної копії, і через якийсь час у користувача в руках телефон, яким можна користуватися.

Що відбувається, коли ми активуємо телефон Meizu? Китайська компанія не захотіла проходити сертифікацію, а й продавати телефони без сервісів Google за межами Китаю вона теж не зможе. В результаті в компанії придумали спосіб, як обдурити Google, а заодно і користувачів.

Отже, під час налаштування Meizu Pro 6 нас зустрічає щось схоже на стандартний майстер настройки. Після вибору мови запитується пароль від Wi-Fi, пропонується завести обліковий запис Meizu. І ... і все. Користувач відразу потрапляє на робочий стіл. Але де магазин додатків? Його немає. Замість нього - китайський магазин додатків (його не могло б бути на пристрої, якби воно було сертифіковано: відсутність альтернативних джерел додатків - одна з вимог MADA). Втім, моментально з'являється пропозиція завантажити і встановити пакет сервісів Google. Погодившись на пропозицію, користувач (а зовсім не Meizu!) Самостійно встановлює сервіси Google на телефон - точно так само, як він міг би це зробити у випадку з будь-яким іншим китайським пристроєм.

Для початку потрібно скачати «установник додатків Google»:

Після чого програма автоматично завантажить і встановить сервіси Google:

І ось у користувача на робочому столі з'явилася заповітна іконка Google Play. Здавалося б, проблема вирішена. Зрештою, яка користувачеві різниця, яким саме чином виробник встановлює магазин Google на телефон, якщо їм можна користуватися? І тут починається найцікавіше.

Резервні копії. Чи ні

По-перше, ніхто особливо не тестував прошивку на сумісність з сервісами Google. Ні, китайці напевно запустили Play Store і встановили з нього кілька додатків, але про який-небудь систематичному тестуванні і мови не йде. В результаті в перші ж хвилини користування телефоном стало зрозуміло, що весь потужний механізм хмарного резервного копіювання Google Backup Transport непрацездатний.

Що це означає на практиці? Всього-на-всього те, що одне з основних переваг Android 6.0 - автоматичне резервне копіювання і автоматичне же відновлення даних - стає недоступним. (У дужках зауважимо, що і друга основна перевага Android 6.0, режим doze, в даному телефоні теж працювати не хоче).

Зупинимося на цьому докладніше. Користувачі, у яких на телефоні встановлено десятки і сотні додатків (наприклад, у мене їх - 163) доведеться вбити кілька годин, встановлюючи додатки з магазину, а потім ще стільки ж - відновлюючи їх налаштування. Всі паролі Wi-Fi доведеться вводити заново. Чи не відновляться дані про дзвінки, не стануть доступними повідомлення, отримані на попередньому пристрої. Якщо телефон буде скинутий - все доведеться встановлювати і налаштовувати заново, як це було за часів Android 4.x (вже в п'ятій версії з'явилася можливість відновлювати список встановлених додатків). А коли прийде пора змінити смартфон, на новому пристрої теж доведеться все налаштовувати заново. На нашу думку, це - абсолютно неприйнятно. Втім, для деяких користувачів це не стане великим недоліком.

Замість стандартного механізму резервного копіювання в Meizu передбачили свій, що працює в рамках одного пристрою. Дані з внутрішньої пам'яті телефону зберігаються в резервну копію у власному форматі, яка створюється ... у внутрішній пам'яті телефону. Мабуть, ми не будемо коментувати особливості такого підходу до створення резервної копії.

шифрування даних

Ми вирішили перевірити, активовано чи в телефоні шифрування даних, як того вимагає Android Compatibility Definition Document. І не змогли: пункт «шифрування» просто відсутня в налаштуваннях. Відповідно, «звичайний» користувач не отримає ніякого захисту даних взагалі: як відомо, без шифрування дані з телефону витягуються фахівцями за лічені хвилини, а нефахівцями - після кількох годин читання форумів.

При цьому Android Compatibility Definition Document не допускає подвійних тлумачень: пристрої, які виходять з Android 6.0 на борту і які відповідають мінімальним вимогам продуктивності (а їм відповідають навіть бюджетники) зобов'язані повністю зашифровувати розділ даних до моменту, коли майстер початкової настройки закінчить роботу. На жаль, тут - провал.

Об'єктивності заради відзначимо, що шифрування - базова можливість Android, і викинути її з кінцями не так і просто. Так що діалог, що дозволяє активувати шифрування, за допомогою intent нам викликати вдалося:

Навіть за зовнішнім виглядом скриншота видно, наскільки ця функція далека від того, щоб пред'явити її користувачам. Активувати шифрування в такому вигляді ми не ризикнули.

Безпека даних відбитку пальців

Android Compatibility Definition Document для шостої версії Android чітко визначає механізми безпеки, які допустимо використовувати для біометричної аутентифікації по датчику відбитків пальців. Аби не заглиблюватися в деталі, при включенні пристрою дані, які використовує датчик, повинні бути зашифровані аж до моменту розблокування телефону за допомогою PIN-коду, патерну або пароля. Відповідно, після включення або перезавантаження телефон необхідно спершу розблокувати за допомогою пароля, і тільки потім активується датчик відбитків.

На жаль, загальний підхід китайських виробників до безпеки можна однозначно виразити словом «наплювати». Відсутність сертифікації Google дозволяє винаходити найвитонченіші способи обійти системи безпеки Android, в тому числі і систему дактилоскопічної аутентифікації.

Для того, щоб телефон отримав сертифікацію Google, компанія вимагає точного дотримання специфікаціям Android Compatibility Definition Document. На відміну від вимог до шифрування, які застосовуються тільки до пристроїв, випущених з Android 6.0 на борту, вимоги до датчиків відбитків пальців єдині як для пристроях, що вийшли з Android 6.0 на борту, так і для тих, які отримують Android 6.0 у вигляді оновлення. Слабкі, небезпечні рішення просто не пройдуть сертифікацію.

Що робить Meizu? Пристрій не сертифіковане Google, а значить, і слідувати якимось вимогам зовсім не потрібно. Дані датчика відбитків не зашифровані і ніяк не захищені, а розблокувати телефон відбитком пальців можна відразу після включення. Втім, в світлі глобального відсутності шифрування розділу даних це - дрібна витівка, просто ще одна дірка в решеті.

Factory Reset Protection: захист від крадіжки

Factory Reset Protection - важливий механізм, який не тільки дозволяє користувачеві віддалено блокувати вкрадені пристрої, але і здатний перешкодити злодієві активувати пристрій після скидання до заводських налаштувань. Найбільш досконала реалізація даного механізму у Apple: в пристроях під управлінням iOS обійти захист від скидання, реалізовану через прив'язку до профілю iCloud, можна тільки непростим втручанням в апаратну частину. Сам факт наявності такого захисту вже помітно знижує кількість злочинів, пов'язаних з крадіжкою телефонів.

У Google також реалізований механізм для захисту від крадіжки. Якщо скинути телефон до заводських налаштувань, для його активації потрібно ввести пароль від останньої облікового запису, яка використовувалася в пристрої. Так, цей механізм недосконалий, але це - краще, ніж нічого.

У випадку з Meizu Pro 6 немає навіть такого захисту. З усіх пунктів, які могли б мати відношення до factory reset protection, ми знайшли тільки загадкову опцію, підписану ламаною англійською: «Verify phone number when change phones».

Ласкаво просимо: root-доступ з коробки

Вишенька на торті - доступність root-доступу прямо з коробки. Мабуть, на цьому місці можна зупинитися і припинити аналіз системи безпеки Meizu Pro 6.

реакція Google

Meizu викотили пробну кулю, спробувавши обійти правила гри, встановлені на ринку смартфонів Google. Треба думати, багато китайські виробники з інтересом стежили за ситуацією. Яка буде реакція Google?

Наївним було б вважати, що в Google не помітять спроби обійти MADA. У березні 2017 року пішла реакція. У Google Play Services з'явилася малопомітна напис, яка показує, чи сертифіковане пристрій для використання сервісів Google чи ні:

У момент появи перевірка сертифікації працювала з рук геть погано: навіть власні пристрої Google Pixel часто визначалися як «несертифіковані». Втім, з набором статистики ситуація стала стрімко виправлятися, і на поточний момент помилкові позитивні і помилкові негативні спрацьовування трапляються значно рідше, ніж раніше.

Що Google собирается робити з цією інформацією? Рік по тому, в березні 2018, Google начали блокуваті пристрої, віпущені виробника, Які хотят обійті MADA. При початковій настройці телефону користувачі можуть зіткнутися з таким попередженням:

Таким чином, продажу пристроїв, які не пройшли офіційну сертифікацію, поставлено серйозну перешкоду. У виробників залишається можливість очистити склади, розпродавши телефони, що працюють на старих збірках Android - але продавати за межами Китаю телефони, що використовують сервіси Google без офіційної сертифікації більше не вийде. Цікавий момент: для кінцевих користувачів (зокрема, користувачів кастомних прошивок) залишена можливість вручну додати пристрій до «білого списку». Більш того, блокування стосується тільки пристроїв, що працюють під управлінням збірок Android, випущених (згідно з даними з build.prop) в березні 2018 або пізніше.

реакція виробників

Метою Google стали виробники пристроїв під управлінням Android, які випускали на міжнародні ринки смартфони, укомплектовані пропрієтарними сервісами Google без ліцензії. Політика сертифікації сервісів Google принесла очікувані плоди. Наприклад, що вийшов на європейський ринок телефон Meizu Pro 7 поставляється з попередньо встановленими сервісами Google - і пройшов офіційну сертифікацію. Вигода для Google очевидна, та й користувачі тільки виграють від поліпшеної сумісності та стандартизації Android. Виробникам ж доведеться затратити трохи більше зусиль на випуск більш якісних і безпечних прошивок, що відповідають стандартам безпеки Google.

додаткова інформація

Висновок

Сьогодні ми розглянули деякі особливості несертифікованих прошивок, причому розглянули їх в основному з точки зору безпеки. Питання про сумісність додатків, своєчасній доставці push-повідомлень і багато інших речей, які відносяться скоріше до зручності використання пристрою, ніж до його безпеки, залишилися за рамками цієї статті. Можливо, ми ще повернемося до опису особливостей китайських прошивок, але головний висновок ми вже зробили: китайські прошивки сильно відрізняються від прошивок, сертифікованих Google, в першу чергу ставленням до безпеки. Відсутність шифрування і навіть можливості його включити, безграмотна реалізація розблокування датчиком відбитків пальців, неадекватна захист від крадіжок, відсутність стандартного механізму резервного копіювання та відновлення, наявність root-доступу «з коробки» - ось основні «принади» прошивок, які не пройшли через лабораторію Google.


Чим це загрожує користувачу?
Чим це загрожує користувачу?
Пристрій працює «з коробки»?
Магазин Google Play є?
Що відбувається, коли ми активуємо телефон Meizu?
Але де магазин додатків?
Зрештою, яка користувачеві різниця, яким саме чином виробник встановлює магазин Google на телефон, якщо їм можна користуватися?
Що це означає на практиці?
Що робить Meizu?
Яка буде реакція Google?