Huawei убрала бэкдор, позволявший без труда устанавливать службы Google на Mate 30
С тех пор как появились первые новости о том, что новый флагманский смартфон Huawei не будет поставляться со службами Google из-за санкций США, людям стало любопытно, как это отразится на продажах и как отреагирует китайский технологический гигант. После запуска смартфонов Mate 30, которые, в самом деле, были лишены всяких сервисов Google, включая магазин Play, посыпались многочисленные обзоры. А вскоре был найден способ установить сервисы Google на новые устройства, так что даже Google Pay становится вполне работоспособным. Всё, что нужно сделать — это загрузить с особой страницы приложение LZPlay, установить его и следовать инструкциям в приложении.
Для тех, кто уже был знаком с китайскими Android-устройствами, загрузка пакета GMS (Google Mobile Service) не является чем-то чуждым. Китайские производители нередко выпускают приложения для установки GMS, чтобы пользователи за пределами Китая могли самостоятельно установить нужные службы. Но есть нюансы. Дело в том, что большинство таких установщиков работают по принципу простого развёртывания пакета приложений Google. На самом деле, пользователи могут скачивать соответствующие APK отдельно и устанавливать их сами — ничего особенного. Однако это работает только в том случае, если устройство уже использует лицензионный образ системы Google.
На Android системные и пользовательские приложения требуют разных прав — системные, разумеется, требуют дополнительных разрешений. Некоторые пакеты GMS должны быть установлены как системные приложения, поскольку для их правильной работы требуются привилегированные разрешения. Так как службы Google в КНР недоступны, большинство устройств Android не поставляются с полноценными сервисами GMS, но во многих случаях OEM-производители включают в систему своеобразные «заглушки», позволяющие устанавливать GMS.
Android позволяет пользователям обновлять системные приложения либо через магазин Play, либо через ручную загрузку, если обновление подписано тем же ключом, что и исходный ключ в системе. Проверка подписи очень важна, поскольку она не позволяет злоумышленникам распространять вредоносные обновления. Вышеупомянутые «заглушки» как раз и призваны обеспечить беспроблемную активацию — они включают подписи Google для совместимости с реальными APK GMS.
При этом в Huawei Mate 30 нет никаких заглушек. Согласно небольшому исследованию разработчика Magisk Джона Ву (John Wu), LZPlay опирается на недокументированные даже в китайском руководстве API, добавленные в набор интерфейсов для управления мобильными устройствами на предприятиях (MDM).
По каким-то причинам (о которых нетрудно догадаться) у Huawei есть недокументированные API-интерфейсы MDM, которые позволяют приложениям устанавливать системные и встроенные приложения. Конечно, энтузиасты Android знают, как прошить приложение, используя системные привилегии. Но, во-первых, в Mate 30 заблокирован загрузчик и принудительно включён режим Android Verified Boot. Во-вторых, Huawei форматирует системные разделы в сжатую файловую систему EROFS только для чтения. Это означает, что системная структура в ОС Huawei имеет встроенный бэкдор для обхода специальными приложениями всех этих мер защиты.
Согласно документации, получить доступ к SDK можно лишь заключив соглашение с Huawei, причём особые разрешения для каждого проекта Huawei должна одобрить. На данный момент очевидно, что Huawei в курсе о LZPlay и разрешает его существование. Разработчик этого приложения должен каким-то образом знать о недокументированных API, подписывать юридические соглашения, проходить несколько этапов проверок и, в конечном итоге, получит подпись от Huawei. При этом единственная цель ПО — устанавливать службы Google на нелицензионном устройстве.
Даже если это законно, подобный бэкдор не должен существовать с точки зрения безопасности. Системные приложения имеют дополнительные привилегии потому, что существуют в криптографически проверенном разделе только для чтения. А подобные методы нарушают принципы защиты устройства.
Вскоре после публикации расследования Джона Ву сайт lzplay.net был удалён. На данный момент неясно, был ли сайт закрыт разработчиками обходного пути, или это решение Huawei. Также сама Google, как сообщается, разработала защиту против установки магазина приложений Play через недокументированный API. Mate 30 с установленным магазином приложений Play больше не считается безопасным для SafetyNet, механизма безопасности на стороне сервера, реализованного Google для идентификации модифицированных смартфонов Android или аппаратов с правами Root.
После изменений в SafetyNet сервисы Google в смартфонах Huawei стали работать со сбоями. Например, некоторые тестеры отмечают, что магазин Pay теперь отказывается функционировать. Несколько дней назад все сервисы работали отлично. Без одобрения SafetyNet перестают работать и многие приложения вроде Netflix или Pokémon Go.
Источник:
© 3DNews