Содержание статьи
- Сертификация устройств от Google
- Сертификация Google в китайских смартфонах
- Flyme Account
- Google есть. Сертификации — нет. Чем это грозит пользователю?
- Резервные копии. Или нет
- Шифрование данных
- Безопасность данных отпечатка пальцев
- Factory Reset Protection: защита от кражи
- Об аналогах функций Google в китайских прошивках
- Добро пожаловать: root-доступ из коробки
- Реакция Google
- Предварительный итог
- Заключение
Предложение устройств под управлением операционной системы Android превышает воображение. Пользователям доступен выбор из нескольких сотен актуальных моделей. Выбор становится еще шире, если обратить внимание на экзотические устройства из Китая.
Мы уже неоднократно писали о китайских смартфонах; сегодняшняя статья — не о том или не совсем о том. Мы поговорим о неочевидной вещи, которая есть практически на каждом смартфоне под управлением Android, но о которой никто и никогда не задумывается, — о сертификации устройств и прошивок Google и о том, что именно ее наличие, а еще важнее — отсутствие дает пользователю.
Сертификация устройств от Google
Как известно, операционная система Android доступна в виде исходных кодов и распространяется совершенно бесплатно. Любой пользователь, разработчик, производитель имеет право на полностью законных основаниях воспользоваться наработками Google и собрать собственную версию Android без единого цента выплат в адрес Google или кого бы то ни было еще. Более того, Google готова защищать производителей от патентных нападок, если таковые случатся; особенно ярко это выражается в недавно заключенном основными производителями Android договора PAX о кросс-лицензировании патентов.
Щедрым предложением Google воспользовалось бесчисленное количество производителей как в Китае (где сервисы Google, как мы помним, запрещены), так и за его пределами. Однако «чистый» Android — это не совсем то, что представляет себе большинство пользователей. В «чистом» Android не будет такой полезной вещи, как службы Google. Они включают в себя далеко не только Play Store, который дает доступ к огромной библиотеке приложений и контента. В конце концов, магазинов приложений — море и без магазина от Google можно принципиально обойтись. В сервисы Google включаются и такие вещи, как энергоэффективная доставка push-уведомлений в режиме реального времени, службы определения координат и история местоположения, а также мощнейшее картографическое приложение на их основе, эффективная система облачной синхронизации и резервного копирования.
Все эти сервисы также доступны производителям совершенно бесплатно, но — при соблюдении определенных условий. Для того чтобы получить право устанавливать на свои устройства приложения Google, производители должны подписать контракт MADA, который накладывает на производителя ряд обязательств. В частности, производитель обязуется точно следовать правилам, описанным в Android Compatibility Definition Document, а также отдать окончательный вариант устройства с финальной прошивкой на сертификацию в одну из лабораторий Google.
В то же время никто не заставляет производителей заниматься сертификацией. Ей и не занимаются большинство китайских производителей, которые торгуют в основном в пределах континентального Китая. В западном мире самый известный пример использования Android без сервисов Google — компания Amazon, которая в огромных количествах продает планшеты линейки Kindle Fire и приставки Amazon Fire TV.
Сертификация стоит денег, пусть и относительно небольших: порядка 10 тысяч долларов на модель и еще меньше — на крупные обновления прошивки. Сертификация отнимает время. Еще больше времени у производителя может занять устранение найденных на этапе сертификации недоработок и несовместимостей.
Насколько именно сертификация Google может задержать выход новой версии прошивки, можно представить по двум примерам. Так, для телефонов Lenovo ZUK Z2 китайская (без сервисов Google и сертификации) прошивка на основе Android 7.0 вышла в феврале 2017-го, а сертифицированную для Индии обещают не раньше конца мая. Другой пример — компания Xiaomi, «глобальные» прошивки которой часто выходят с опозданием порядка четырех месяцев относительно их же китайских сборок.
Помимо денежных и временных затрат на сертификацию 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 — есть. Уже одно это нас сильно заинтересовало, и мы приобрели экземпляр для тестирования.
Flyme Account
Автор статьи в курсе, что на тот же Meizu можно установить и китайский вариант прошивки, доработать его напильником и получить работоспособные заместители сервисов Google в виде служб, завязанных на Flyme Account. Но цель статьи другая. Наша цель — посмотреть на то, что предлагается обычным пользователям, что называется, «из коробки».
Google есть. Сертификации — нет. Чем это грозит пользователю?
Итак, пользователь покупает телефон — например, Meizu Pro 6. Вопросы сертификации Google его не волнуют, да и не должны. Более того, подавляющее большинство пользователей вообще не задумывается о самом факте существования подобных сертификаций. Устройство работает из коробки? Магазин Google Play есть? Вроде бы больше ничего и не нужно.
На самом деле нет.
Рассмотрим процесс начальной настройки смартфона под управлением Android. Запускается стандартный мастер активации, который предлагает выбрать язык, просит подключиться к сети Wi-Fi, обновляет компоненты Google Services, проверяет состояние Factory Reset Protection (мы уже писали об этом в статье «Как взламывают защиту от сброса к заводским настройкам»), просит ввести данные учетной записи Google Account. Если устройство было сброшено «неправильно», без предварительной отвязки от учетной записи Google, то необходимо ввести данные той учетной записи, которая использовалась на устройстве в качестве основной непосредственно перед сбросом. Двухфакторная аутентификация, автоматическое восстановление настроек, приложений и данных из облачной резервной копии — и через какое-то время у тебя в руках телефон, которым можно пользоваться.
Что происходит, когда мы активируем телефон Meizu? Китайская компания не захотела проходить сертификацию, но и продавать телефоны без сервисов Google за пределами Китая она тоже не сможет. В результате в компании придумали способ, как обмануть Google, а заодно и пользователей.
Итак, при настройке Meizu Pro 6 нас встречает что-то похожее на стандартный мастер настройки. После выбора языка запрашивается пароль от Wi-Fi, предлагается завести учетную запись Meizu. И... и всё. Пользователь сразу попадает на рабочий стол. Но где магазин приложений? Его нет. Вместо него — китайский магазин приложений (его не могло бы быть на устройстве, если бы оно было сертифицировано: отсутствие альтернативных источников приложений — одно из требований MADA). Впрочем, моментально появляется предложение скачать и установить пакет сервисов Google. Согласившись на предложение, пользователь (а вовсе не Meizu!) самостоятельно устанавливает сервисы Google на телефон — точно так же, как он мог бы это сделать в случае с любым другим китайским устройством.
И вот у пользователя на рабочем столе появилась заветная иконка Google Play. Казалось бы, проблема решена. В конце концов, какая разница, каким именно образом производитель устанавливает магазин Google на телефон, если им можно пользоваться? И здесь начинается самое интересное.
Резервные копии. Или нет
Во-первых, никто особо не тестировал прошивку на совместимость с сервисами Google. Нет, китайцы наверняка запустили Play Store и установили из него несколько приложений, но о каком-либо систематическом тестировании и речи не идет. В результате в первые же минуты пользования телефоном стало понятно, что весь мощный механизм облачного резервного копирования Google Backup Transport неработоспособен.
Что это значит на практике? Всего-навсего то, что одно из основных преимуществ Android 6.0 — автоматическое резервное копирование и автоматическое же восстановление данных — становится недоступным. (В скобках заметим, что и второе основное преимущество Android 6.0, режим Doze, в данном телефоне тоже работать не хочет.)
Остановимся на этом подробнее. Пользователи, у которых на телефоне установлены десятки и сотни приложений (к примеру, у меня их 163), вынуждены будут убить несколько часов, устанавливая приложения из магазина, а потом еще столько же — восстанавливая их настройки. Все пароли Wi-Fi нужно будет вводить заново. Не восстановятся данные о звонках, не станут доступными сообщения, полученные на предыдущем устройстве. Если телефон будет сброшен — все придется устанавливать и настраивать заново, как это было во времена Android 4.x (уже в пятой версии появилась возможность восстановить список установленных приложений). А когда настанет пора сменить смартфон, на новом устройстве тоже понадобится все настраивать заново. По нашему мнению, это совершенно неприемлемо. Впрочем, для некоторых пользователей это не станет большим недостатком.
Вместо стандартного механизма резервного копирования в Meizu предусмотрели свой, работающий в рамках одного устройства. Данные из внутренней памяти телефона сохраняются в резервную копию в собственном формате, которая создается... во внутренней памяти телефона. Пожалуй, мы не будем комментировать особенности такого подхода к резервному копированию. В китайских версиях прошивки доступно резервное копирование в облако, точно так же оно работает и на устройствах под управлением Flyme.
Шифрование данных
Мы решили проверить, активировано ли в телефоне шифрование данных, как того требует 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». И снова: в китайских версиях прошивок Meizu предлагает собственную, нестандартную реализацию защиты от сброса к заводским настройкам, а также собственную реализацию сервиса Find My Device, позволяющую дистанционно обнаружить и заблокировать украденное устройство.
Об аналогах функций Google в китайских прошивках
Почему мы все время пишем об отсутствии той или иной возможности, если «за углом», в китайской прошивке, есть их полные или почти полные аналоги? Просто потому, что мы верим в стандартизацию. Нам удобно, когда всеми устройствами можно управлять из единственного места. Мы привыкли, что устройства автоматически сохраняют резервные копии в облако и восстановить их на любой новый смартфон (особо подчеркнем — от любого производителя, лишь бы работал с Android 6 или выше) будет делом от силы получаса — тоже в автоматическом режиме. Мы привыкли к безопасности данных, всегда включаем шифрование данных и очень расстраиваемся, когда его нет. Мы привыкли к бесперебойной и без шаманских плясок работе уведомлений. Наконец, мы доверяем наши персональные данные Google и точно знаем, при каких условиях наши данные могут быть выданы по запросу государственных органов, — но вовсе не уверены, что доверяем китайским производителям и китайскому правительству.
Добро пожаловать: root-доступ из коробки
Вишенка на торте — root-доступ прямо из коробки. Пожалуй, на этом месте можно остановиться и прекратить анализ системы безопасности Meizu Pro 6.
Реакция Google
Meizu выкатили пробный шар, попытавшись обойти правила игры, установленные на рынке смартфонов Google. Надо полагать, многие китайские производители с интересом следили за развитием событий. Что предпримет Google?
Наивным было бы полагать, что в Google не заметят попытки обойти MADA. В конце прошлого года последовала реакция. В Play Store появилась малозаметная надпись, которая показывает, сертифицировано ли устройство для использования сервисов Google или нет.
Сразу после появления проверка сертификации работала из рук вон плохо: даже собственные устройства Google Pixel часто определялись как «несертифицированные». Впрочем, с набором статистики ситуация стала стремительно выправляться, и на текущий момент ложные положительные и ложные отрицательные срабатывания случаются куда реже, чем прежде.
Что Google собирается делать с этой информацией? Точно не знает никто. Может быть, короткой надписью в настройках Google Play все и ограничится. Возможно, пользователям при настройке устройства будет показано уведомление о том, что работа сервисов Google на данном устройстве не гарантируется. Для большинства производителей — уже достаточный повод призадуматься.
Если же попытки китайских компаний обойти MADA приобретут заметные масштабы, мы допускаем возможность и более решительных шагов со стороны Google — к примеру, у пользователя может и не получиться зайти в учетную запись с несертифицированного устройства; не будет доступа к купленным приложениям, не будет синхронизации почты, календарей и контактов. Вполне вероятно, что пользователи, столкнувшиеся с такими ошибками на новом устройстве, просто захотят его вернуть, что должно нанести прямой ущерб производителям и заставить их наконец сертифицировать свои устройства. В возможность подобного сценария слабо верится — ведь в таком случае попадут под удар и пользователи кастомных прошивок и сборок, — но все будет зависеть от того, насколько сильно китайские производители будут стремиться обойти соглашения Google и насколько серьезной Google сочтет угрозу.
Предварительный итог
Подведем итоги. Чего именно нет в несертифицированной прошивке и на что пользователю стоит обратить внимание? Итак:
- Нет возможности шифрования данных (кстати, нет его и на китайских версиях прошивок для ZUK Z2).
- Нет ни резервного копирования в облако Google, ни возможности восстановить оттуда данные (и снова — в китайских прошивках ZUK Z2 будет то же самое).
- Небезопасная реализация датчика отпечатков пальцев.
- Не реализована защита от кражи методом Factory Reset Protection от Google (возможен эрзац от производителя с неизвестной степенью работоспособности и надежности).
- Проблемы с получением push-уведомлений.
- Зато есть root-доступ из коробки.
Из плюсов несертифицированных прошивок можно отметить более высокую (в теории) скорость выхода таких прошивок: не будет дополнительного этапа, связанного с сертификацией. На практике Android 7.0 для Meizu Pro 6 пока нет.
Заключение
Сегодня мы рассмотрели некоторые особенности несертифицированных прошивок, причем рассмотрели их в основном с точки зрения безопасности. Вопросы о совместимости приложений, своевременной доставке push-уведомлений и многие другие вещи, которые относятся скорее к удобству использования устройства, чем к его безопасности, остались за рамками данной статьи. Возможно, мы еще вернемся к описанию особенностей китайских прошивок, но главный вывод мы уже сделали: китайские прошивки сильно отличаются от прошивок, сертифицированных Google, в первую очередь отношением к безопасности. Отсутствие шифрования и даже возможности его включить, безграмотная реализация разблокирования датчиком отпечатков пальцев, неадекватная защита от краж, отсутствие стандартного механизма резервного копирования и восстановления, наличие root-доступа из коробки — вот основные «прелести» прошивок, не прошедших через лабораторию Google.