As poderosas APIs ocultas no Huawei Mate 30 permitem a instalação de aplicativos do Google


O aplicativo "LZPlay" se conecta às APIs Huawei não documentadas para instalar aplicativos do Google – um risco potencial à segurança?

O que você precisa saber

  • O pesquisador de segurança John Wu encontrou APIs não documentadas que permitem que aplicativos com privilégios de administrador instalem novos aplicativos de sistema no Mate 30.
  • As permissões são usadas pelo aplicativo "LZPlay" para instalar a estrutura e os serviços do Google, mas Wu diz que eles também são um risco à segurança.
  • A Huawei diz que o Mate 30 não é fornecido com o GMS e que "não tem envolvimento" com o LZPlay.

Logo após a publicação desta atualização, o site do LZPlay foi retirado do ar e o aplicativo não funciona mais. Mate 30 dispositivos com aplicativos do Google instalados a partir do LZPlay não passam mais pelo CTS (conjunto de testes de compatibilidade) do Google para itens como suporte a DRM e Google Pay.

O Mate 30 Pro é o primeiro carro-chefe da Huawei a ser lançado desde que a empresa chinesa foi adicionada à lista de entidades do governo dos EUA, o que significa que não pode ser enviado com aplicativos e serviços do Google. Logo após o lançamento, o aplicativo "Google Service Assistant" (também conhecido como LZPlay, a partir do URL do site) ficou conhecido como uma maneira simples de restaurar os serviços do Google para o Mate 30. No entanto, exatamente como ele funcionava não era conhecido até que John Wu, desenvolvedor e especialista em segurança do Android, ficou preso em seu funcionamento interno.

Em um artigo publicado hoje no Medium Wu diz que o aplicativo usa permissões não documentadas do Huawei MDM (gerenciamento de dispositivos móveis) para instalar os principais componentes e aplicativos do Google como sistema aplicativos – uma situação incomum com implicações para a segurança do dispositivo. Além disso, a pesquisa de Wu afirma que, para usar essas poderosas permissões não documentadas, o desenvolvedor anônimo do LZPlay precisaria ter recebido a certificação da Huawei. Em uma declaração ao Android Central a Huawei negou qualquer envolvimento com o LZPlay.

   Normalmente, você não pode instalar novos aplicativos do sistema.

A principal razão pela qual você não pode simplesmente instalar o Google Framework, o GMS Core e os outros fundamentos dos serviços do Google, como um arquivo APK normal, é porque eles são aplicativos do sistema e usam permissões especiais não disponíveis para aplicativos regulares. Os aplicativos do sistema podem ter muito mais controle sobre o seu telefone do que um aplicativo que você baixaria da Google Play Store. E embora os aplicativos do sistema possam possam ser atualizados com novas versões – por exemplo, da Play Store – os originais devem primeiro ser carregados na partição / system pelo fabricante do telefone. As versões atualizadas dos aplicativos devem ser assinadas com a mesma chave de segurança que a versão original.

A partição / system normalmente não pode ser alterada pelos usuários, a menos que o telefone esteja enraizado . Como tal, os usuários do Android normalmente não podem instalar novos aplicativos do sistema – o que, por razões de segurança, é uma coisa muito boa.

Como a Huawei não pode legalmente fazer negócios com empresas norte-americanas, não pode carregar esses aplicativos na fábrica. No entanto, os usuários também não podem instalar diretamente os serviços do Google, porque são aplicativos do sistema. (E como a Huawei bloqueia seus gerenciadores de inicialização, o enraizamento também está fora de questão.)

A solução, para os criadores do LZPlay, é usar um subconjunto poderoso, mas não documentado, das APIs de gerenciamento de dispositivos móveis da Huawei. As APIs do MDM oferecem uma enorme quantidade de controle sobre o dispositivo e são frequentemente usadas pelas empresas para gerenciar telefones pertencentes à empresa.

   Duas permissões poderosas e não documentadas estão no coração do LZPlay

As duas permissões não documentadas do MDM descobertas por John Wu são:

  • com.huawei.permission.sec.MDM_INSTALL_SYS_APP
  • com.huawei.permission.sec.MDM_INSTALL_UNDETACHABLE_APP

Com o risco de afirmar o óbvio: o primeiro é uma permissão para instalar aplicativos do sistema e o segundo é uma permissão para instalar um aplicativo que não pode ser desinstalado posteriormente. Ambos são incomuns, mesmo no mundo do MDM, e, de acordo com Wu, nenhum dos dois atualmente aparece na documentação oficial da Huawei.

Mas espere um minuto – não é impossível instalar novos aplicativos do sistema?

A pesquisa de Wu mostra que aplicativos como o LZPlay não instalam aplicativos diretamente na partição / system, que é somente leitura, mas tem o mesmo armazenamento gravável que qualquer outro aplicativo. Graças à permissão MDM "instalar aplicativo do sistema", o Android os "sinaliza" como aplicativos do sistema, concedendo a eles as permissões corretas para funcionar. E é isso que está acontecendo quando o LZPlay baixa os principais componentes do Google a partir de … onde quer que os retire.

Essa permissão não documentada é muito incomum e, se abusada, potencialmente prejudicial à segurança. Os usuários, no entanto, precisam escolher para conceder permissões de administrador a um aplicativo antes que elas possam ser afetadas. E existem outras medidas de segurança em vigor, as quais entraremos em breve, com a Huawei atuando como guardião de todas as suas várias permissões de MDM. No entanto, como Wu explica em seu artigo, o armazenamento das versões originais dos aplicativos do sistema no mesmo armazenamento gravável que outros aplicativos do usuário abre a possibilidade de adulteração mais fácil se outra vulnerabilidade de segurança for descoberta. (Improvável, mas certamente não impossível.)

Wu procurou na documentação chinesa o MDM SDK da Huawei para obter mais pistas. Ele diz que, para usar qualquer uma das APIs do MDM, os desenvolvedores precisam assinar contratos com a Huawei, justificar o uso de permissões do MDM e enviar arquivos APK para aprovação. Uma vez aprovado, diz Wu, a Huawei fornece um certificado digital necessário para que as permissões funcionem.

   Quem está por trás do LZPlay parece desesperado para permanecer anônimo

E isso só torna a situação com o LZPlay ainda mais estranha. Ter permissões não documentadas do MDM que podem instalar novos aplicativos do sistema certamente não é normal, mas ao mesmo tempo é a única maneira que os usuários podem instalar os serviços do Google em um telefone não licenciado, sem que completamente torpedeie a segurança interna do Android. No entanto, a idéia do desenvolvedor anônimo do LZPlay passando pelo longo processo de aprovação da API do MDM e obtendo a bênção da Huawei é ainda mais bizarra.

Wu acusa a Huawei de "estar ciente" do LZPlay e de permitir sua existência contínua:

   Nesse momento, é bastante óbvio que a Huawei está ciente desse aplicativo "LZPlay" e explicitamente permite sua existência. O desenvolvedor deste aplicativo deve, de alguma forma, estar ciente dessas APIs não documentadas, assinar os acordos legais, passar por várias etapas de revisões e, eventualmente, ter o aplicativo assinado pela Huawei. O único objetivo do aplicativo é instalar os Serviços do Google em um dispositivo não licenciado, e isso me parece muito superficial, mas não sou advogado, portanto não tenho absolutamente nenhuma idéia de sua legalidade.

No entanto, a Huawei negou qualquer envolvimento com o aplicativo ou o site. Em um comunicado ao Android Central um porta-voz da Huawei disse:

   A mais recente série Mate 30 da Huawei não está pré-instalada com o GMS, e a Huawei não teve nenhum envolvimento com www.lzplay.net

O esboço legal em potencial a que Wu se refere talvez seja por isso que é impossível rastrear as origens do LZPlay. A interface do aplicativo não oferece informações sobre o (s) autor (es). As informações WHOIS do domínio se referem apenas à divisão de serviços em nuvem da Alibaba na China, com a faixa de IP dos servidores em que estão hospedados e de propriedade da mesma empresa. Além do mais, não há pistas encontradas no próprio site de uma página nem no código-fonte HTML, CSS ou Javascript dessa página. As primeiras referências a ele que pudemos encontrar on-line foram em posts da comunidade no fórum Huawei Club por volta de meados de julho, ainda não oferecendo informações sobre suas origens.

E Wu diz que o arquivo APK em si é igualmente opaco:

   O aplicativo "LZPay" (sic) é ofuscado / criptografado por QiHoo Jiagu (加固 虎 加固) e não é trivial para a engenharia reversa.

(nota da editora: QiHoo Jiagu é uma empresa sediada na China especializada em segurança de aplicativos móveis)

Alguém pagou dinheiro para criar este aplicativo, conseguiu, de alguma forma, obtê-lo e, em seguida, começou a projetar seu site com aparência profissional e hospedar seus arquivos e, no entanto, não quer crédito. De fato, parece que eles se esforçaram para permanecer completamente anônimos.

A pesquisa original de Wu vale bem a pena ser lida se você estiver pensando em usar o método LZPlay para instalar aplicativos do Google em um telefone Huawei. (Ou se você apenas deseja apreciar a ciência louca da engenharia de software necessária para fazer tudo isso funcionar.) Entre o anonimato do aplicativo e o poder das permissões que ele usa, definitivamente vale a pena olhar para o LZPlay com um olhar crítico.





Source link



Os comentários estão desativados.