Por que Magisk está abandonando o suporte para ocultar o acesso root de aplicativos

Magisk, a popular ferramenta de root do Android, continuará a ser desenvolvida pela topjohnwu, mas sem seu recurso de ocultação de root chamado MagiskHide.

Em maio, topjohnwu, o desenvolvedor do Magisk, anunciado que ele ingressou no Google na equipe de segurança da plataforma Android. Dado que o Magisk é usado para fazer root em dispositivos Android e também contornar medidas de detecção de root em aplicativos, muitos foram cético de que o Google permitiria que o desenvolvedor continuasse trabalhando no projeto em sua forma atual, ou mesmo em todos. Felizmente, topjohnwu recebeu luz verde para continuar desenvolvendo o Magisk, mas esta aprovação depende do projeto abandonar o suporte para seu recurso de ocultação de raiz chamado MagiskHide.

Em uma postagem de blog, topjohnwu aborda o estado atual do desenvolvimento do Magisk e o que está mudando para o avanço do projeto. Seu primeiro ponto refuta as acusações de que seu empregador, o Google, o proibiu de trabalhar no projeto, quando, na realidade, ele só teve que eliminar muita burocracia para obter a aprovação necessária para trabalhar no projeto. Não é incomum que empresas de tecnologia como o Google examinem minuciosamente o trabalho externo realizado por seus funcionários, principalmente quando esse trabalho externo impacta diretamente o produto para o qual o funcionário foi contratado. No caso de topjohnwu, o seu trabalho na Equipa de Segurança da Plataforma Android dá-lhe uma visão privilegiada das medidas de segurança atuais e futuras do Android, o que apresenta uma conflito de interesses óbvio quando MagiskHide - o componente de ocultação de raiz do Magisk - é projetado para contornar uma das medidas de segurança atuais do Google, que é SafetyNet Atestado. Por esta razão, topjohnwu não tem escolha senão interromper o desenvolvimento do MagiskHide, bem como remover a maior parte de sua infraestrutura.

MagiskHide chega ao fim da vida

No entanto, encerrar o desenvolvimento do MagiskHide não foi uma decisão difícil para topjohnwu. A nível pessoal, o desenvolvedor diz que já faz um tempo desde a última vez que ele achou agradável trabalhar contornando os métodos de detecção de raiz, o que é compreensível porque é essencialmente um jogo de gato e rato jogo. Claro, a popularidade do Magisk pode ser amplamente creditada ao seu sucesso em contornar a detecção de root no Google Pay e Pokémon Go, mas é cansativo ter que corrigir constantemente o projeto apenas para acompanhar o cenário em constante mudança. Além disso, com atestado apoiado por hardware em jogo, contornar a detecção de raiz torna-se muito mais difícil e soluções alternativas atuais pode não funcionar para sempre.

Embora o MagiskHide esteja chegando ao fim da vida útil, a ferramenta ainda existirá em um sentido muito limitado, já que topjohnwu acredita que é importante que os aplicativos tenham a capacidade de “desativar” a modificação. O desenvolvedor diz que os usuários “serão capazes de atribuir uma lista de bloqueios de processos onde o Magisk nega modificações adicionais e reverte todas as alterações feitas”. Magisk não falsificará/alterará/manipulará quaisquer sinais ou rastreamentos não relacionados ao Magisk para contornar qualquer detecção de estado do dispositivo." Basicamente, MagiskHide não ocultará mais o acesso root dos aplicativos e, em vez disso, será usado para garantir que os aplicativos selecionados pelo usuário não sejam modificado. Facilitar a reversão de alterações também acelerará os testes em emuladores, já que os desenvolvedores não precisarão mais reinicializar ou corrigir imagens do emulador.

Claro, mesmo que o aplicativo oficial Magisk esteja abandonando o suporte para ocultar o acesso root não significa que não possa ser bifurcado para trazer de volta o recurso ou que um módulo de ocultação de raiz não possa ser lançado. Qualquer desenvolvedor que fizer isso, no entanto, acabará enfrentando os mesmos problemas que topjohnwu, o que significa eles terão que jogar o mesmo jogo de gato e rato que contribuiu para que topjohnwu ficasse desiludido com Esconder.

O fim do repositório centralizado do módulo Magisk

Outra mudança futura no Magisk é a remoção do repositório do módulo Magisk do aplicativo. A integração do Magisk-Módulos-Repo no aplicativo Magisk é o que atualmente permite aos usuários pesquisar e baixar módulos de dentro do aplicativo. Sua remoção significará que os usuários terão que baixar manualmente os arquivos ZIP do módulo e instalá-los em dentro do aplicativo, o que é um pouco inconveniente em comparação com a solução existente, mas não é nada difícil pendência. Além disso, os aplicativos que vêm com um componente do módulo Magisk podem instalar facilmente o módulo para o usuário executando o magisk --install-module ZIP comando, eliminando a etapa manual da equação para os usuários.

A maior perda, porém, é a descoberta de novos módulos por meio do repositório centralizado e com curadoria, mas topjohnwu diz que o Magisk-Modules-Repo será transferido para “membros confiáveis ​​da comunidade” breve. Isso significa o repositório em si não desaparecerá, mas o aplicativo não apontará para ele por enquanto. Eventualmente, porém, topjohnwu deseja permitir que os usuários apontem o aplicativo Magisk para qualquer fonte de módulo online que desejarem, mais ou menos como o F-Droid, mas esta não é uma alta prioridade para ele implementar no momento.

Essa mudança não foi motivada pelo emprego de topjohnwu no Google, mas estava fadada a acontecer, dado o investimento de tempo necessário para moderar o repo.

Zygist - Magisk em Zigoto

Nos últimos meses, topjohnwu e vários outros desenvolvedores têm trabalhado em algo chamado “Zygisk”, que é Magisk em Zygote. Zygote é o processo do sistema operacional que lida com a bifurcação de cada processo de aplicativo, então executar partes do Magisk no processo do zigoto tornará os módulos ainda mais robustos (inclusive tornando a ocultação de raízes ainda mais poderosa). Topjohnwu diz que Zygisk também atende sua filosofia de Magisk “sair do caminho” de aplicativos cujos desenvolvedores não aprovam modding, como quando um processo é adicionado à lista de bloqueios do MagiskHide, o Magisk "limpará o espaço de memória do processo para garantir que nenhuma modificação seja aplicado."

Este projeto ainda está em andamento, mas ouviremos mais detalhes de implementação quando estiver pronto para o teste beta.

O futuro do desenvolvimento do Magisk

Magisk começou e continua sendo um projeto amador para topjohnwu, mas o desenvolvedor quer levar o projeto mais a sério. Ele já iniciou a integração contínua no GitHub e começará a testar as alterações de regressão antes de cada lançamento, integrando-se com AVD.

Topjohnwu também observa que outros desenvolvedores talentosos têm enviado alterações de código valiosas para o núcleo do Magisk, corrigindo muitos bugs e expandindo a compatibilidade do dispositivo. Apesar de ser de código aberto desde o início, Magisk tem sido domínio exclusivo do topjohnwu, então é legal ver outras pessoas contribuindo para o projeto quando topjohnwu tem menos tempo e energia para se dedicar a ele ele mesmo.