Защо Magisk премахва поддръжката за скриване на root достъп от приложения

Magisk, популярният инструмент за руутване на Android, ще продължи да се разработва от topjohnwu, но без неговата функция за скриване на root, наречена MagiskHide.

През май topjohnwu, разработчикът на Magisk, обяви че се е присъединил към Google в екипа по сигурността на платформата Android. Като се има предвид, че Magisk се използва за руутване на устройства с Android, а също и за заобикаляне на мерките за откриване на корен в приложенията, много от тях бяха скептичен, че Google ще позволи на разработчика да продължи да работи по проекта в сегашната му форма или дори в всичко. За щастие, topjohnwu получи зелена светлина да продължи да разработва Magisk, но това одобрение зависи от това проектът да прекрати поддръжката на своята функция за скриване на root, наречена MagiskHide.

В публикация в блог, topjohnwu разглежда текущото състояние на разработката на Magisk и какво се променя за напредъка на проекта. Първата му точка опровергава обвиненията, че работодателят му Google му е забранил да работи по проекта, докато в действителност той просто трябваше да преодолее много бюрокрация, за да получи одобрението, от което се нуждаеше, за да работи по проект. Не е необичайно за технологични компании като Google да проверяват внимателно външната работа, която извършват техните служители, особено когато тази външна работа влияе пряко върху продукта, върху който служителят е бил нает да работи. В случая на topjohnwu работата му в екипа за сигурност на платформата Android му дава привилегирована представа за настоящите и бъдещите мерки за сигурност на Android, което представлява очевиден конфликт на интереси, когато MagiskHide — скриващият root компонент на Magisk — е предназначен да заобиколи една от настоящите мерки за сигурност на Google, това е SafetyNet Атестация. Поради тази причина topjohnwu няма друг избор освен да прекрати разработката на MagiskHide, както и да премахне по-голямата част от инфраструктурата си.

MagiskHide достига края на живота си

Прекратяването на разработката на MagiskHide обаче не беше трудно решение за topjohnwu. В личен план разработчикът казва, че е минало известно време, откакто за последен път му е било приятно да работи заобикаляне на методите за откриване на root, което е разбираемо, защото по същество е котка и мишка игра. Разбира се, популярността на Magisk до голяма степен може да се дължи на успеха му в заобикалянето на root откриването в Google Pay и Pokémon Go, но става уморително постоянно закърпване на проекта само за да сме в крак с непрекъснато променящия се пейзаж. Плюс това, с хардуерно обезпечено удостоверяване в играта заобикалянето на root откриването става много по-трудно и настоящи решения може да не работи вечно.

Въпреки че MagiskHide достига статус на край на живота си, инструментът все още ще бъде наоколо в много ограничен смисъл, тъй като topjohnwu вярва, че е важно приложенията да имат възможността да се „откажат“ от модифициране. Разработчикът казва, че потребителите „ще могат да присвоят списък за отказ на процеси, където Magisk отказва по-нататъшни модификации и връща всички промени, които е направил. Magisk няма да фалшифицира/променя/манипулира никакви несвързани с Magisk сигнали или следи, за да заобиколи откриването на състояние на устройството." По принцип, MagiskHide вече няма да крие root достъпа от приложения и вместо това ще се използва, за да гарантира, че избраните от потребителя приложения няма да бъдат модифициран. Улесняването на връщането на промените също ще ускори тестването на емулатори, тъй като разработчиците вече няма да трябва да рестартират или да коригират изображения на емулатор.

Разбира се, въпреки че официалното приложение Magisk отказва поддръжката за скриване на root достъп не означава, че не може да се разклони, за да се върне функцията, или че корен-скриващ модул не може да бъде освободен. Всички разработчици, които правят това обаче, в крайна сметка ще се сблъскат със същите проблеми, които topjohnwu направи, което означава те ще трябва да играят същата игра на котка и мишка, която допринесе за това topjohnwu да се разочарова от Крия.

Краят на централизираното репо на модула Magisk

Друга предстояща промяна в Magisk е премахването на репото на модула Magisk от приложението. Интеграцията на Magisk-модули-репо в приложението Magisk е това, което в момента позволява на потребителите да търсят и изтеглят модули от приложението. Премахването му ще означава, че потребителите ще трябва ръчно да изтеглят модулни ZIP файлове и да ги инсталират от в рамките на приложението, което е малко неудобно в сравнение със съществуващото решение, но изобщо не е трудно да направя. Плюс това, приложенията, които идват с компонент на модул Magisk, могат лесно да инсталират модула за потребителя, като стартират magisk --install-module ZIP команда, премахвайки ръчната стъпка от уравнението за потребителите.

По-голямата загуба обаче е за откриваемостта на нови модули чрез централизираното, курирано репо, но topjohnwu казва, че Magisk-Modules-Repo ще бъде прехвърлен на „доверени членове на общността“ скоро. Това означава самото репо няма да изчезне, но приложението засега няма да го посочи. В крайна сметка обаче, topjohnwu иска да позволи на потребителите да насочат приложението Magisk към какъвто и да е източник на онлайн модул, който желаят, нещо като F-Droid, но това не е висок приоритет за него в момента.

Тази промяна не беше предизвикана от работата на topjohnwu в Google, но вместо това трябваше да се случи предвид инвестицията във времето, необходима за модериране на репото.

Zygist - Magisk в Zygote

През последните няколко месеца topjohnwu и няколко други разработчици работят върху нещо, наречено „Zygisk“, което е Magisk в Zygote. Zygote е процесът на ОС, който обработва разклоняването на всеки процес на приложение, така че изпълняването на части от Magisk в процеса на зиготата ще направи модулите още по-стабилни (включително правейки скриването на root още по-мощно). Topjohnwu казва, че Zygisk също отговаря на неговата философия за Magisk "да се измъкне от пътя" на приложения, чиито разработчици не одобряват модифицирането, тъй като когато процес се добави към списъка за отказ на MagiskHide, Magisk "ще изчисти пространството в паметта на процеса, за да гарантира, че няма модифициране приложено."

Този проект все още е в процес на работа, но ще чуем повече подробности за внедряването, когато е готов за бета тестване.

Бъдещето на разработката на Magisk

Magisk започна и остава проект за любители на topjohnwu, но разработчикът иска да приеме проекта по-сериозно. Той вече е стартирал непрекъсната интеграция в GitHub и ще започне да регресионно тества промените преди всяка версия, като се интегрира с AVD.

Topjohnwu също така отбелязва, че други талантливи разработчици са внасяли полезни промени в кода в ядрото на Magisk, коригирайки много грешки и разширявайки съвместимостта на устройствата. Въпреки че е с отворен код от самото начало, Magisk е единственият домейн на topjohnwu, така че е хубаво да види как други хора допринасят за проекта, когато topjohnwu има по-малко време и енергия, за да му се посвети себе си.