Novo formato de apps para Android preocupa especialistas em segurança
Formato Android App Bundle (AAB) pode diminuir tamanho de aplicativos para Android, mas gera preocupações de segurança
Formato Android App Bundle (AAB) pode diminuir tamanho de aplicativos para Android, mas gera preocupações de segurança
A partir de agosto, desenvolvedores de aplicativos para Android terão que aderir a um novo método de distribuição de apps na Google Play Store. O Android App Bundle (AAB), como foi chamado, deve diminuir o tamanho do arquivo de instalação e o espaço ocupado pelo aplicativo no sistema operacional. Mas a mudança também traz preocupações de segurança.
Por padrão, aplicativos para Android são distribuídos por meio de arquivos APK. Um arquivo do tipo contém não só os binários do app como também todos os recursos necessários para ele rodar, incluindo imagens, arquivos XML e um manifesto (arquivo que descreve informações essenciais do aplicativo).
Por concentrar todos os recursos que tornam o aplicativo funcional, arquivos APK podem ser baixados para instalação de apps no Android que não estão disponíveis na Google Play Store (ou em outras lojas).
Mas há uma problema: não raramente, arquivos APK são “inchados”. O Android está presente em dispositivos com variados tamanhos de tela, com processadores dos mais diversos tipos, com diferentes sensores de câmera e assim por diante. São tantas combinações de hardware possíveis que os arquivos APK precisam conter recursos para o aplicativo ser compatível com todas elas.
É aí que o formato Android App Bundle entra em cena. Apresentado em 2018, o padrão faz o procedimento de instalação de um aplicativo baixar da Google Play Store (ou outra loja compatível) somente os recursos necessários para a sua execução em determinado dispositivo.
Se seu o celular tiver uma tela de 6 polegadas e estiver configurado para o português do Brasil, por exemplo, o arquivo AAB pode não incluir recursos para suporte a telas com 5 polegadas e pacotes de outros idiomas.
Esse é um exemplo hipotético. Os recursos que serão baixados em cada instalação podem variar de aplicativo para aplicativo. Mas, de modo geral, espera-se que o AAB traga dois benefícios: diminua o espaço de armazenamento ocupado pelo app; reduza o tamanho do arquivo de instalação, característica especialmente importante para quem baixa apps a partir de redes móveis.
Diminuir o tamanho da instalação do aplicativo é um benefício realmente importante. Apesar disso, o Android App Bundle causa algumas preocupações. A principal delas é o provável aumento do controle do ecossistema de aplicativos do Android pelo Google.
É necessário que a loja de aplicativos se encarregue de analisar cada solicitação de download de modo a entregar somente os pacotes necessários para cada dispositivo. O Google tem infraestrutura para esse trabalho, mas lojas alternativas podem não contar com a mesma flexibilidade.
Na prática, a limitação de infraestrutura pode fazer do AAB uma tecnologia exclusiva da Google Play Store, a despeito de o padrão ter código aberto.
Mas as preocupações de segurança são as mais importantes. Todo aplicativo instalado via APK tem uma assinatura digital de propriedade do desenvolvedor. Quando uma nova versão do software é liberada, a assinatura é checada para garantir que o aplicativo não está sendo substituído por um app falso desenvolvido por terceiros. Essa é umas das razões para a assinatura ser tão importante.
Mas, no AAB, a “montagem” do aplicativo é feita nas nuvens — nos servidores da Play Store, se nos limitarmos ao Google. Isso exige que as chaves de assinatura do desenvolvedor também fiquem nas nuvens. Na prática, é como se a assinatura do aplicativo fosse transferida para a loja.
Trata-se de um mecanismo denominado Google Play App Signing que aumenta ainda mais o controle da companhia sobre os aplicativos. Um dos problemas dessa abordagem é que, se de alguma forma a infraestrutura da loja for comprometida, terceiros poderão ter acesso às chaves dos desenvolvedores e, com isso, distribuir atualizações maliciosas.
Também existe a preocupação de determinadas características dos aplicativos serem modificadas pela loja sem o desenvolvedor perceber.
O Google já tem reagido a essas preocupações. A empresa deixou claro, por exemplo, que as chaves do Play App Signing serão armazenadas na mesma infraestrutura que protege as chaves da própria companhia.
Além disso, o Google disponibilizará uma recurso opcional de “transparência de código” que permitirá aos desenvolvedores verificar se hashes no código de aplicativos baixados correspondem aos que hashes eles têm.
De todo modo, a mudança para o Android App Bundle será gradativa. O processo começa em agosto, mas somente para aplicativos novos. Pelo menos inicialmente, a migração de apps existentes para o novo formato será opcional.
Com informações: XDA Developers, Ars Technica.
{{ excerpt | truncatewords: 55 }}
{% endif %}