SafetyNet do temido hardware de certificação, que está rolando para fora, tornando muito mais difícil para Magisk para ocultar raiz

de Volta em Março, alguns usuários com Magisk instalado percebeu que os seus dispositivos foram falhando SafetyNet atestado. Esta notícia foi preocupante para a comunidade no XDA porque significa que muitos aplicativos bancários/financeiros cruciais e jogos populares como Pokémon Go E Fate/Grand Order estavam se recusando a correr em dispositivos enraizados. Por algum tempo, pareceu como se as restrições apertadas em SafetyNet foram puxadas para trás, apenas para rolar novamente para um punhado de usuários nas últimas semanas. No entanto, o Google confirmou calmamente no início de Maio que eles testaram o certificado de hardware para respostas SafetyNet, que foi o que fez Magisk incapaz de esconder o estado de desbloqueio do bootloader em Março. Se esta mudança se estender, significará que os usuários terão que escolher entre ter acesso a root/custom ROMs/kernels/etc. ou os seus aplicativos e jogos bancários preferidos. Um dos maiores apelos do Android para os usuários de energia poderia em breve desaparecer.Para recapitular esta série de eventos, devemos primeiro falar sobre a própria SafetyNet. SafetyNet é um conjunto de APIs no Google Play Services. A API de atestação SafetyNet é uma dessas APIs, e pode ser chamada por aplicativos de terceiros para verificar se o ambiente de software do dispositivo foi adulterado de alguma forma. A API verifica várias coisas como sinais de binários de superusuário, o estado de desbloqueio do bootloader, e muito mais. Quando você root um dispositivo com Magisk, ele” um ‘ambiente seguro’ isolado para o processo de detecção, e ele vai através da API do Google para criar um resultado SafetyNet legítimo que não reflete o estado real do dispositivo”, por Topjohnwu Desenvolvedor Sênior reconhecido XDA. Isso permite que o usuário root seu telefone, garantindo que a API sempre retorna “false” para qualquer verificação de desbloqueio do bootloader. Este método de contornar a detecção de desbloqueamento do bootloader da SafetyNet tem funcionado para a Magisk nos últimos anos, mas isso é apenas porque a Google se atrasou na verificação da integridade da imagem de boot usando o certificado de hardware. Em Março, parecia que o Google estava finalmente começando a empregar o certificado de hardware na SafetyNet para verificar a imagem de boot, mas nunca recebemos uma declaração oficial do Google confirmando a mudança e apenas alguns usuários foram afetados. Como observado pelo membro sênior do XDA Displax, no entanto, o Google confirmou em 5 de Maio de 2020, que as respostas API de Certificação SafetyNet de alguns dispositivos agora incluem verificações com suporte a hardware.

no Google Group para “SafetyNet API Clients”, o Google detalhou um novo recurso para a API de atestação: evaluationType. A resposta JSON Web Signature (JWS) de alguns dispositivos terá um campo chamado “evaluationType” que “irá fornecer aos desenvolvedores uma visão sobre os tipos de sinais/medidas que contribuíram para cada resposta individual da API de atestado SafetyNet.”Um dos tokens suportados neste campo é “HARDWARE_BACKED”, o que indica que a API ” os recursos de segurança com suporte de hardware disponíveis do dispositivo remoto (por exemplo, certificado de chave com suporte de hardware) para influenciar a avaliação.”O Google diz que eles estão” atualmente avaliando e ajustando os critérios de elegibilidade para dispositivos onde vamos confiar em recursos de segurança com suporte a hardware.”O que isso significa é que, em alguns dispositivos, o Google Play Services está agora usando atestado com suporte de hardware para detectar que o software do dispositivo não foi adulterado. O Google não documentou oficialmente esta mudança fora do anúncio no Grupo Google, de modo que alguns desenvolvedores que usam SafetyNet podem não estar cientes desta mudança (e, portanto, ainda não estão verificando para o campo “HARDWARE_BACKED” em Respostas JWS.) No entanto, para os aplicativos que estão verificando para este campo, não há agora nenhuma maneira de esconder o acesso root deles, desde que seu dispositivo seja parte do teste que o Google está executando.

SafetyNet Attestation API response with evaluationType returning ” BASIC.” Credito: Membro sénior do XDA Displax
SafetyNet Response BASIC and HARDWARE_BACKED
SafetyNet Attestation API response with evaluationType returning ” BASIC “and” HARDWARE_BACKED.”Credits: XDA Senior Member Displax

According to topjohnwu, hardware-backed attestation means that Google Play Services now” an unmodified keystore certificate to SafetyNet servers, its legitimacy, and certificate extension data to know whet your device verified boot enabled (bootloader status).”Uma vez que as chaves privadas das quais os certificados de teclado são derivados são suportados pelo ambiente seguro isolado do telefone, recuperá-los envolveria derrotar a segurança do ambiente de execução confiável do telefone (TEE) ou módulo de segurança de hardware dedicado (HSM). Se alguém fosse de alguma forma capaz de vazar uma chave privada, as chaves seriam rapidamente revogadas assim que o Google descobrisse. O Google oferece centenas de milhares de dólares em recompensas por quaisquer vulnerabilidades críticas de segurança que afetem o TEE em telefones Pixel, O que apenas mostra que é incrivelmente improvável que esta seja uma potencial avenida para contornar o bootloader desbloqueando detecção de qualquer maneira.

outra forma potencial de que o Magisk poderia continuar a paródia do Estado de desbloqueamento do bootloader é modificando o código cliente-side da SafetyNet Para Sempre usar a avaliação básica. Como topjohnwu observa, no entanto, isso exigiria injetar código personalizado no Google Play Services através de um framework de encapuzamento como o Xposed Framework. Isto não é apenas difícil de fazer porque os Serviços do Google Play são altamente ofuscados, mas também é impossível esconder como “alguma análise de espaço de memória irá revelar manipulação de código muito facilmente.”Além disso, isso também só funcionaria se os servidores da Google continuassem a aceitar avaliações básicas e se as avaliações HARDWARE_BACKED não fossem aplicadas em dispositivos que as suportassem. (SafetyNet responses ” from Google servers and are signed with Google’s private key,” according to topjohnwu, so the real responses can’t be spoofed.)

desde o Android 7 Nougat, o Google tem exigido que todos os dispositivos tenham um ambiente seguro isolado, o que significa que esta mudança de como a SafetyNet verifica o desbloqueamento do bootloader afetará a maioria dos dispositivos que estão lá fora. Uma vez que os dispositivos mais antigos sem um ambiente seguro isolado obviamente não podem realizar atestação com suporte a hardware, Magisk ainda será capaz de esconder o acesso de raiz nesses dispositivos. Mas se esta mudança se concretizar amplamente, todos os outros terão que fazer uma escolha difícil entre o acesso root e aplicativos bancários.

infelizmente, há provavelmente um monte de aplicativos lá fora que usam verificações de SafetyNet quando eles realmente não precisam. Um exemplo Citado por topjohnwu é o aplicativo oficial Mcdonald’s, que aparentemente se recusa a correr em um dispositivo desbloqueado bootloader. No Twitter, topjohnwu invoca aplicativos que usam excessivamente a API como criando um ambiente hostil para os usuários de energia. XDA reconheceu o desenvolvedor Quinny899 se junta a uma anedota sobre como sua equipe considerou usar o SafetyNet para verificar o estado de segurança do dispositivo. Eles finalmente decidiram não avançar com ele, uma vez que o aplicativo de sua equipe criptografa todos os dados sensíveis com que ele trabalha. SafetyNet, ele argumenta, não deve ser usado em vez de práticas adequadas de segurança e tratamento de dados, especialmente quando se considera a possibilidade de exploração de superusuário.

I advocate @AndroidDev to restrict hardware-backed SafetyNet evaluation to “real” security sensitive apps. Os desenvolvedores devem passar por um processo de aplicação para qualificar este nível de acesso API. É ridículo que o McDonalds se recuse a correr num dispositivo desbloqueado.

— John Wu (@topjohnwu) junho 29, 2020

para mais informações sobre como a nova mudança de SafetyNet afeta a Magisk, confira o excelente FAQ de topjohnwu no Twitter. Se você só quiser verificar se o seu dispositivo faz parte do novo teste SafetyNet da Google, então você pode seguir este guia pelo membro sênior do XDA Displax ou baixar a última versão do Magisk Manager.

Atualizado Magisk Manager para refletir o evaluationType campo em SafetyNet verifica, assim, as pessoas podem começar a contar os últimos dias de glória 😅 pic.twitter.com/x61tGjM7IK

— John Wu (@topjohnwu) de junho de 30, 2020

Este artigo foi atualizado em 10:46 AM EST em 30 de junho de 2020, para corrigir que o Google só paga recompensas para TEE vulnerabilidades encontradas em Pixel telefones. Além disso, foram adicionados detalhes sobre a última versão do Magisk Manager, que agora mostra o campo de avaliação do tipo no verificador SafetyNet embutido.

Leia Esta Próximo


  • os formulários do Google Android Pronto SE Aliança para conduzir a adoção de digital chaves do carro e carteira de habilitação de motorista


  • Fairphone 2, a partir de 2015 agora receber atualização oficial para o Android 9 de Pizza


  • Motorola, Moto G50 ostenta um orçamento 5G chip e um baixo preço


  • ASUS lança novas atualizações para o ROG Telefone 5, ROG Telefone 3, e ROG Telefone II com patches de segurança e correções de bugs


«

+