Por que os usuários do Android devem se preocupar com o carregamento dinâmico de código

Quando as pessoas usam aplicativos Android, o que quer que esteja acontecendo em segundo plano geralmente não passa por suas cabeças. Infelizmente, uma opção de programação chamada carregamento de código dinâmico pode representar riscos de segurança. Aqui está o que você precisa saber sobre isso.

O que é carregamento dinâmico de código?

No desenvolvimento de aplicativos, todo o código-fonte usado ao construir um aplicativo constitui a base de código. O carregamento de código dinâmico permite que um aplicativo extraia conteúdo de além de sua base de código e execute-o durante a operação ou tempo de execução.

Essa opção pode resultar em um tamanho de aplicativo menor porque uma prática comum é armazenar o código remotamente em vez de incorporá-lo no kit de pacote Android (APK) .

O APK é o formato de arquivo que o Android usa ao distribuir e instalar aplicativos. Ele contém todos os componentes para um aplicativo funcionar em um dispositivo compatível. O carregamento de código dinâmico traz vantagens do ponto de vista do desenvolvimento, incluindo algumas que melhoram a usabilidade do aplicativo.

Por exemplo, um aplicativo pode mostrar conteúdo diferente para uma pessoa, dependendo se ela usa a versão gratuita ou premium. O carregamento de código dinâmico pode exibir o conteúdo correto com base na camada do usuário, sem aumentar o tamanho do APK.

Além disso, o carregamento de código dinâmico permite que os desenvolvedores lançem novas versões de aplicativos contendo pequenas alterações. Os usuários obtêm as versões mais recentes sem fazer download de nada.

Apesar dessas vantagens, o carregamento dinâmico de código pode aumentar os riscos relacionados à segurança do aplicativo Android.

Aplicativos maliciosos costumam apresentar carregamento dinâmico de código

Os autores de um artigo de pesquisa de 2019 examinaram aplicativos Android maliciosos para encontrar seus pontos comuns. Eles citaram pesquisas anteriores concluídas por outras partes que mostraram o carregamento dinâmico de código como um recurso principal de aplicativos perigosos.

Quase 20.000 dos 86.798 aplicativos em uma investigação tiveram carregamento de código dinâmico.

Mais esclarecimentos indicaram que as pessoas colocam a funcionalidade principal de um aplicativo perigoso em bibliotecas independentes e, em seguida, usam o carregamento dinâmico de código para executá-lo. Essa abordagem protege o comportamento malicioso do aplicativo, tornando-o menos detectável.

A documentação do Google sobre os tipos de malware detectados esclarece que o uso indevido de código dinâmico pode ser sinalizado como uma variedade de backdoor. A empresa define malware de backdoor como a execução de ações potencialmente prejudiciais e controladas remotamente em um dispositivo. Em seguida, deu um exemplo de carregamento de código dinâmico, permitindo que um aplicativo extraia mensagens de texto.

No entanto, o Google diz que verifica se a execução do código executa explicitamente um comportamento malicioso. Caso contrário, a empresa trata a execução arbitrária de código como uma vulnerabilidade para um desenvolvedor corrigir.

Em casos de aplicativos perigosos, a execução arbitrária de códigos permite que um hacker execute comandos remotamente em um dispositivo alvo.

Pesquisadores identificam um problema de carregamento de código dinâmico

O Google frequentemente toma ações decisivas para aumentar a segurança dos usuários. Por exemplo, cookies de terceiros rastreiam usuários, salvam suas informações e, posteriormente, as usam para mostrar a eles anúncios direcionados. No entanto, a empresa irá bloquear cookies de terceiros no navegador Chrome até 2022. Não forneceu uma data específica para a mudança.

O foco na segurança não torna uma empresa livre de problemas, no entanto. Pesquisadores de cibersegurança encontraram execução de código arbitrário persistente no Google app e relataram isso à empresa. O problema foi corrigido em maio de 2021, mas fez com que mais pessoas prestassem atenção aos possíveis problemas associados ao carregamento dinâmico de código.

Os pesquisadores confirmaram que a vulnerabilidade permitiria que um invasor iniciasse um aplicativo apenas uma vez antes de roubar os dados do Google de uma pessoa. Um hacker pode explorar a falha do Google app para extrair uma biblioteca de código de um aplicativo perigoso no dispositivo de uma pessoa.

De lá, o cibercriminoso pode acessar quase todos os dados do Google de uma pessoa, incluindo seus e-mails. Eles podem até ativar o microfone, a câmera e as informações de localização em tempo real do usuário.

Preste atenção aos avisos sobre vulnerabilidades de aplicativos perigosos

Como o carregamento de código dinâmico acontece no final do desenvolvimento, um usuário médio de aplicativo não pode fazer nada para verificar se uma determinada oferta pode representar perigos ocultos relacionados ao modo como ela funciona em segundo plano. No entanto, é aconselhável ficar de olho em qualquer notícia de segurança de aplicativos Android que chegue às manchetes de tecnologia.

Os pesquisadores de segurança cibernética procuram continuamente por problemas que podem colocar centenas de milhares de usuários de aplicativos em risco e, em seguida, relatam sobre eles. Ficar ciente dos perigos potenciais do aplicativo ajudará os usuários a decidir se e quando atualizar ou excluir um aplicativo potencialmente problemático.