Et tu, Magisk?

Убитие надежд на Root-доступ эпохи Android 12+

Когда мы говорим о Root-доступе, то в 99,999% случаев имеется ввиду доступ в корневой раздел Android-устройства, смартфона или планшета, приставки или умного телевизора, в котором пользователь уполномочен священным кодом, написанном энтузиастами, удалять, изменять или добавлять системные приложения. За все время существования Android слишком шустрые пользователи Android постоянно пытались отключить навязываемую Google рекламу, удалить «ненужные», по их мнению, системные приложения, такие как Hangouts или Google фильмы. Более того, особо беспринципные пользователи вносили в системный раздел сторонние проигрыватели YouTube, такие как YouTube Vanced, которые предоставляют пользователям то, что в Google называют «премиальный доступ».

Подобные плевки в самую душу менеджмента инфраструктуры GP вызывали особенную боль, ведь чтобы расправиться с той же командой Vanced путем судебного запрета у Google попросту нет никаких юридических оснований. Звучит странно, но если сторонний разработчик создаст приложение, повторяющие функционал приложения Google, не используя код Google, а потом начнет его распространять, то это полностью законно. Мы с вами уже обсуждали сторонние магазины приложений и замену других стандартных апплетов из Купертино, но во всем этом деле есть краеугольный камень, на котором держится решительно все, и называется он Root-доступ. Чтобы пользователь с комфортом и чувством удовлетворения смог отказаться от финансовых амбиций Google, недостаточно просто отключить его системные приложения и установить рядом opensource замену. О нет, на большинстве телефонов, особенно из стана Б-брендов, отключение действует только до очередного обновления Google Pay или WebView, а затем отключенные приложения оживают, вступают в конфликт со своими заменами, или просто восстанавливают свои права, вновь становясь «приложениями по умолчанию».

Эта история приводит к поломке приложения-замены, и для успешного использования приходиться идти на радикальные меры — сбрасывать телефон до заводских настроек, обновлять все приложения до актуального уровня, вновь замораживать их и вновь устанавливать приложения-замены. У нищих слуг нет, и я знаю парочку пользователей, которые в ручном режиме довели этот процесс до автоматизма. Чтобы избежать этой ненужной возни, в том числе, и требуется Root-доступ в паре с управляющим приложением. Google не сможет обновить то, чего нет.

Android здорового человека, ничего лишнего

Эта история, история противостояния Google и сторонних разработчиков средств получения Root-доступа, получила новый виток, но сначала давайте вспомним как это было.

SuperSU и другие

Сам по себе Root-доступ не имеет смысла без программы-администратора, которая непосредственно выдает права доступа сторонним приложениям. Даже для простого удаления «гуглятины» потребуется файловый менеджер, который при наличии Root-доступа сможет хозяйничать в системном разделе. Долгие годы, вплоть до 4 октября 2017 года, таким администратором был апплет SuperSU.

Зеленая решетка навсегда осталась в сердцах любителей поковыряться в смартфонах. Увы, история умалчивает о причинах завершения проекта, который начинал и заканчивал человек под ником Chainfire (в переводе на русский –«цепной огонь», девятая книга в эпическом фэнтезийном сериале Терри Гудкайнда «Меч истины» и первая книга в трилогии), и даже его сообщение об этом поглотило время. Есть в этом какая-то насмешка судьбы, человек, который всю жизнь боролся с диктатом Google разместил пост в сервисе Google+, который потом похоронила сама Google, да так, что страницы даже в архивах не осталось.

-AdRiver-

Помимо классического способа получения Root-доступа, включающего в себя разблокировку системного загрузчика, установку TWRP и только потом внедрение эксплойта с приложением-администратором, существовали предложения «все в одном».

На примере KingRoot можно увидеть, что к 2019 году сторонние разработчики настолько «обнаглели» (если смотреть со стороны Google), что весь процесс получения Root-доступа сводился к нажатию одной кнопки. KingRoot обладал собственными серверами, в которых накапливалась критически важная информация о взломе прошивок смартфонов и с каждым годом сервис становился все лучше. Граждан не пугал сопутствующий хлам, которым хитрые азиаты-разработчики KingRoot наполняли смартфон пользователя, ведь все это можно было впоследствии удалить. Вслед за хламом от Google. Сладкая история закончилась 24 декабря 2019 года, когда без всяких предупреждений на странице KingRoot появилось сообщение:

Перевод:

Уважаемый KingRoot, Мастер очищения! Из-за корректировок бизнеса продукты KingRoot и Purification Master отключились 24 декабря 2019 года и официально прекратили обслуживание и операции, больше не предоставляя техническую поддержку и обслуживание. С немедленным вступлением в силу, каналы загрузки, такие как официальный сайт и основные рынки приложений, будут удалены. Мы приносим извинения за возможные неудобства и благодарим за поддержку и любовь.

Это сообщение направлено самой команде KingRoot, видимо, от какой-то большой интернет-шишки, возможно даже от регионального регулятора сети. Как бы то ни было, самый удобный и успешный сервис по получению Root-доступа с использованием облачных технологий прекратил существование.

Были и другие способы получения корневого доступа, но SuperSU и KingRoot были самыми популярными, с ними сталкивался хотя бы раз каждый пользователь Android, пытавшийся вылечить свой смартфон от Google-зависимости. И их всех также поглотили пучины Леты, а потом (в 2017-м) на горизонте нарисовалась зеленая мордочка Magisk.

Et tu, Brute Magisk?

Если отставить в сторону технические детали, то сервис Magisk похож на SuperSU. Для его интеграции в смартфон необходима модификация раздела Recovery («Восстановление»), «прошивка» из него эксплойта и установка фирменного управляющего приложения-администратора. Важным дополнением Magisk стало собственное Repo (облачное хранилище), в котором можно было найти готовые «улучшалки» для конкретной модели смартфона (в формате .zip), загрузить их и установить в несколько нажатий. Основное отличие Magisk от SuperSU заключалось в методе внесения изменений. SuperSU позволял файловому менеджеру (или другой программе) непосредственно изменять системный раздел, а Magisk действовал через виртуальную маску, все изменения вносились в процессе перезагрузки.

Почему я использовал прошедшую форму глагола? А потому, что империя Google снова нанесла ответный удар Root-повстанцам. История Джона Ву (разработчик Magisk, известный под псевдонимом topjohnwu) повторяет историю Дарта Вейдера из Звездных войн. Юный падаван перешел на темную сторону силы, соблазнился предложением императора Google и стал одним из разработчиков империи в сфере безопасности (Google Android Platform Security Team, сокращенно GAPST). Произошло это 17 мая 2021 года, но последствия того события накрыли пользователей только сейчас.

Наверное, стоит немного более подробно рассказать о конфликте интересов между Magisk и GAPST. Команда GAPST занимается тем, что выявляет уязвимости в платформе Android, форке ядра Linux Android и компонентах поставщиков с закрытым исходным кодом. Вся накопленная информация обрабатывается и уязвимости закрываются в очередных патчах безопасности от Google. Операционная система Android используется более чем на 2,5 миллиардах устройств по всему миру, поэтому Google жизненно необходимо иметь целую команду, отвечающую за ее безопасность. Трудно представить, чтобы один и тот же человек одновременно взламывал и защищал одну и ту же ОС, выпуская патчи, направленные против уязвимостей, которые он использует для получения Root-доступа в своем собственном продукте Magisk!

Однако, Джон Ву продолжает бороться, ведь сам по себе Root-доступ пользователя в системный раздел смартфона узаконен в далеком 2010 году, сам по себе он не является нарушением прав или закона. Пройдя все инстанции бюрократической системы Google, выпускник Тайваньского национального университета (и бывший работник Apple) добился того, чтобы Magisk продолжал существовать, хотя и в ограниченном режиме. Что имеется ввиду? Все упирается в модуль Magisk под названием Hide, который отвечает за жизненно важную вещь — сокрытие наличия Root-доступа для сторонних приложений. Вспомните, как приложение Сбербанка отказывалось запускаться на рутированных телефонах (включая jailbreak на iPhone), и вы поймете, о чем речь.

По словам разработчика Magisk, он устал постоянно обновлять модуль Hide и его обслуживание завершено. В этом есть здравое зерно, ведь компания Google еще в 2020 году начала геноцид рутированных смартфонов, запустив процесс регулярного обновления данных для аппаратной аттестации (SafetyNet), и тогда многим пользователям пришлось делать выбор между банковскими приложениями и комфортным использованием игр, чья безопасность была завязана на Google (например, Pokemon Go, Fate/Grand Order и других).

Само приложение Magisk тоже подвергнется изменениям. Во-первых, облачное хранилище «вкусняшек» Magisk-Modules-Repo будет передано «доверенным лицам», что означает временное прекращение его работы, с неизвестной судьбой в дальнейшем. А во-вторых, Magisk планируется использовать в основном для запрета обновлений (изменений) установленных приложений, как вспомогательное средство при отладке приложений через AVD и других не нужных пользователю вещей.

Заключение

Последняя наша «бубочка», как говорят на юге России, сломалась. На данный момент времени Magisk работает в смартфонах, но в последующих обновлениях и патчах исправлений уязвимостей Google пользователь, скорее всего, начнет получать сообщения об ошибках. Что же делать? И когда Роскомнадзор пойдет европейским путем, поставит Google в членистоногую позу и заставит выпускать смартфоны с прошивками, в которых пользователь сможет свободно удалять продукты жизнедеятельности компании?

Полный текст статьи читайте на mobile-review