Mishaal Rahman / Autoridade Android
Resumo
- O Android 15 tem novas restrições sobre quais permissões podem ser facilmente concedidas a aplicativos carregados lateralmente.
- Aplicativos carregados lateralmente não podem mais receber permissão para desenhar na tela, obter estatísticas de uso, atuar como administrador do dispositivo e muito mais.
- Esta é uma expansão do recurso de configurações restritas introduzido no Android 13, que ainda pode ser desativado manualmente por aplicativo no Android 15.
Para usuários avançados, não há dúvidas de que poder instalar aplicativos de fora da Google Play Store, ou seja, sideloading, é uma das maiores vantagens do Android em comparação ao iOS. O sideloading dá aos usuários a liberdade de instalar qualquer aplicativo que desejarem, mesmo que não seja aprovado pelo Google ou, mais importante, pelas autoridades. Como distribuir aplicativos diretamente aos usuários é mais fácil do que publicá-los em lojas de aplicativos como o Google Play, muitos hackers contam com o sideloading para infectar os dispositivos dos usuários com malware. Para combater isso, o Google está introduzindo novas restrições no Android 15 que tornam mais difícil para aplicativos sideload obterem permissões confidenciais.
Antes de prosseguir, preciso abordar as intenções do Google com essa mudança. O Google está restringindo quais permissões os aplicativos sideload podem obter porque eles realmente querem proteger os usuários, ou eles estão fazendo isso para manter as pessoas na Google Play Store? Considerando os muitos processos judiciais e batalhas legais em que o Google se envolveu nos últimos anos, é fácil ser cético de que o Google tenha boas intenções com essa mudança. No entanto, é importante considerar dois fatos.
Primeiro, o sideload é um vetor comum para malware devido à menor barreira de entrada para distribuição. Segundo, essas restrições não se aplicam a nenhuma loja de aplicativos de terceiros para Android que utilize a API do sistema operacional especialmente desenvolvida para instalar aplicativos. Na verdade, as restrições do Android 15 em aplicativos sideload são meramente uma expansão de uma mudança de segurança introduzida em uma versão anterior, uma mudança que não impactou materialmente as lojas de aplicativos de terceiros e ainda pode ser desabilitada manualmente pelo usuário.
A mudança a que me refiro é chamada de configurações restritas, um recurso introduzido no Android 13 que torna mais difícil para aplicativos carregados lateralmente obterem certas permissões confidenciais.
Para fins do recurso de configurações restritas, o Android considera os aplicativos como “sideloaded” se eles foram instalados de um aplicativo que não usou a API de instalação desenvolvida especificamente para lojas de aplicativos. Normalmente, isso inclui instalações de aplicativos como navegadores da web, aplicativos de mensagens ou gerenciadores de arquivos. Se isso ocorrer, o aplicativo sideloaded terá o acesso negado às permissões que concedem o uso das APIs de acessibilidade e ouvinte de notificação do Android, que são duas das APIs mais poderosas que a plataforma oferece.
Essas duas APIs são comumente utilizadas por aplicativos maliciosos que buscam controlar o dispositivo do usuário ou roubar informações confidenciais, e é por isso que o Google tentou restringir o uso delas por aplicativos carregados lateralmente.
No entanto, os aplicativos instalados usando a API de instalação baseada em sessão não são restritos de solicitar permissões para usar as APIs de acessibilidade ou de ouvinte de notificação. Isso ocorre porque a API de instalação baseada em sessão é normalmente usada por lojas de aplicativos de terceiros. O Google projetou essas restrições para não impedir lojas de aplicativos de terceiros, e também as projetou para que usuários que sabem o que estão fazendo ainda possam contorná-las.
As permissões para usar as APIs de acessibilidade e ouvinte de notificação não são as únicas permissões sensíveis que o Android tem a oferecer. A permissão de tempo de execução de SMS permite que os aplicativos leiam todo o banco de dados de SMS do usuário. A permissão de administrador do dispositivo permite que os aplicativos bloqueiem ou limpem o dispositivo à vontade. A permissão de sobreposição permite que os aplicativos desenhem sobre outros aplicativos. A permissão de acesso de uso permite que os aplicativos rastreiem quais aplicativos você está usando e com que frequência você os usa. Todas essas permissões são incrivelmente poderosas, e é por isso que o usuário precisa concedê-las manualmente aos aplicativos.
A partir do Android 15, no entanto, essas permissões não podem ser facilmente concedidas a aplicativos sideload. O Google está expandindo o recurso de configurações restritas para cobrir todas as permissões que acabei de mencionar, bem como as funções de discador padrão e SMS. O Google fez alusão a essa expansão em uma postagem de blog de maio, mas eles só recentemente compartilharam quais são as restrições na íntegra quando publicaram o Documento de Definição de Compatibilidade (CDD) do Android 15 na semana passada.
Mishaal Rahman / Autoridade Android
A seção sobre configurações restritas no CDD do Android 15 é bem longa, mas, resumidamente, o Google está exigindo que as seguintes permissões e funções tenham o recurso “configurações restritas” aplicado a elas:
- Permissões especiais
- Acessibilidade
- Ouvinte de notificação
- Administrador do dispositivo
- Exibir sobre outros aplicativos
- Acesso de uso
- Funções (Aplicativos padrão)
- Permissões de tempo de execução
O recurso de configurações restritas deve ser aplicado quando um aplicativo é instalado “após ser baixado por meio de um aplicativo … diferente de um aplicativo de ‘loja de aplicativos’ identificado por PackageManager
como PACKAGE_DOWNLOADED_FILE
” ou quando o aplicativo é instalado “de um arquivo local … identificado por PackageManager
como PACKAGE_SOURCE_LOCAL_FILE
.”
O CDD exige que todos os dispositivos que executam o Android 15 habilitem configurações restritas por padrão, mas apenas recomenda fortemente que os OEMs não forneçam uma opção para desabilitar configurações restritas para todos os aplicativos. No entanto, ele afirma que os OEMs precisam fornecer um mecanismo para permitir que os usuários habilitem uma configuração restrita por meio da página de informações do aplicativo, o que já acontece desde o Android 13.
Mishaal Rahman / Autoridade Android
Embora a lista acima represente as permissões e funções que o Google exige que as configurações restritas se apliquem no Android 15, a porta é deixada aberta para que as restrições se apliquem a mais permissões no futuro. Na verdade, o Google quer que os OEMs usem o EnhancedConfirmationManager
API para determinar dinamicamente se outras permissões especiais devem ser restringidas. Falamos sobre o recurso de modo de confirmação aprimorado do Android 15 antes, mas parece que o Google ainda não o implementou.
É provável que o Google continue expandindo as configurações restritas em versões futuras do Android, embora não saibamos quais permissões adicionais o recurso cobrirá quando isso acontecer.