MASWE-0117: Gerenciamento Inadequado de Permissões
Content in BETA
This content is in beta and still under active development, so it is subject to change any time (e.g. structure, IDs, content, URLs, etc.).
Visão Geral¶
As permissões controlam o acesso a recursos sensíveis do dispositivo, como câmera, microfone, localização e armazenamento, tornando-as um aspecto crucial da privacidade em aplicativos móveis. O gerenciamento adequado de permissões é essencial para proteger a privacidade do usuário e cumprir regulamentações, uma vez que as permissões servem como porta de entrada para a coleta e o processamento de dados.
Aplicativos de Primeira Parte¶
Aplicativos de primeira parte podem solicitar mais permissões do que o necessário, às vezes negligenciando alternativas mais amigáveis à privacidade devido à falta de conscientização, restrições técnicas ou necessidades de negócio. Os desenvolvedores enfrentam o desafio de equilibrar funcionalidade com privacidade: embora algumas permissões sejam essenciais para funcionalidades principais (por exemplo, um aplicativo de câmera que requer acesso à câmera), permissões excessivas podem levar à coleta desnecessária de dados e possíveis violações de privacidade.
Da perspectiva do usuário, preocupações com privacidade podem levar à relutância em conceder permissões, forçando-os a escolher entre privacidade e funcionalidade do aplicativo, já que, em alguns casos, recusar a concessão de permissões pode tornar o aplicativo inutilizável. Por outro lado, os usuários podem conceder permissões sem entender completamente as implicações, resultando em exposição não intencional de dados.
Aplicativos Pré-instalados¶
Aplicativos pré-instalados frequentemente vêm com permissões excessivas que os usuários não podem controlar ou revogar, pois geralmente são concedidas por padrão sem consentimento explícito. Essa falta de controle pode resultar em coleta contínua de dados e riscos persistentes à privacidade.
Bibliotecas de Terceiros (SDKs)¶
Bibliotecas de terceiros (SDKs) complicam ainda mais o gerenciamento de permissões ao herdar as permissões do aplicativo e introduzir riscos de privacidade e segurança que são difíceis de auditar e controlar. Os modelos de permissão móvel frequentemente não distinguem entre permissões concedidas a um aplicativo e aquelas atribuídas a componentes de terceiros, um desafio destacado no artigo de pesquisa do IEEE "Engineering Privacy in Smartphone Apps" (Seção IV, "Conteúdo de terceiros"). Além disso, os serviços de terceiros por trás desses SDKs podem continuar acessando dados coletados pela rede mesmo após as permissões serem revogadas ou o aplicativo ser excluído, criando riscos de longo prazo para a privacidade do usuário.
Modos de Introdução¶
- Solicitação de Permissões Excessivas: Aplicativos que solicitam mais permissões do que o necessário para sua funcionalidade principal.
- Falta de Uso de Alternativas Amigáveis à Privacidade: Deixar de usar alternativas amigáveis à privacidade que sejam menos intrusivas e ofereçam aos usuários mais controle sobre seus dados. Por exemplo, usar localização aproximada em vez de localização precisa, ou usar um seletor de imagens em vez de solicitar acesso à câmera e à galeria de fotos.
- Falta de Revogação Proativa de Permissões: Não revogar automaticamente permissões do aplicativo que não são mais necessárias, resultando em acesso desnecessário a dados ao longo do tempo.
- Explicações Inadequadas sobre Permissões: Deixar de fornecer explicações claras sobre por que cada permissão é necessária.
Impacto¶
- Violação da Privacidade do Usuário: Os usuários podem ter seus dados pessoais acessados desnecessariamente por aplicativos móveis, levando a possíveis usos indevidos, roubo de identidade ou vigilância.
- Perda de Confiança do Usuário: Os usuários podem perder a confiança em um aplicativo se ele solicitar permissões desnecessárias ou não permitir que revoguem permissões que não são mais relevantes. Isso pode levar a avaliações negativas, menor engajamento do usuário e redução na retenção.
- Problemas Legais e de Conformidade: Aplicativos que gerenciam permissões de forma inadequada podem enfrentar não conformidade com regulamentações de privacidade como GDPR ou CCPA, que exigem minimização de dados e controle apropriado do usuário sobre o acesso a dados, resultando em possíveis multas, ações legais ou remoção das lojas de aplicativos.
- Uso Malicioso: Aplicativos maliciosos podem fazer uso indevido de permissões de aplicativos privilegiados para gravar, rastrear ou roubar dados sem o consentimento do usuário.
- Vazamentos de Dados: Uma vez que dados sensíveis saem do aplicativo, sua segurança não pode mais ser garantida, aumentando o risco de exposição de dados em larga escala por meio de vazamentos.
Mitigações¶
- Habilitar a Revogação Proativa de Permissões: Revogar automaticamente permissões que não são mais necessárias para minimizar o acesso desnecessário a dados ao longo do tempo. Garantir que os usuários possam revogar permissões manualmente a qualquer momento por meio de uma interface clara e acessível.
- Preferir Alternativas Amigáveis à Privacidade: Usar alternativas amigáveis à privacidade que sejam menos intrusivas e ofereçam aos usuários mais controle sobre seus dados. Por exemplo, usar localização aproximada em vez de localização precisa, ou usar um seletor de imagens em vez de solicitar acesso à câmera e à galeria de fotos.
- Limitar Permissões às Necessidades Essenciais: Garantir que os aplicativos solicitem apenas permissões necessárias para a funcionalidade principal, evitando a coleta de dados desnecessários e aderindo ao princípio da minimização de dados.
- Implementar Solicitações de Permissão Just-in-Time: Solicitar permissões apenas quando forem necessárias, fornecendo explicações claras sobre por que cada permissão é necessária. Essa abordagem ajuda a construir confiança do usuário e garante que os usuários entendam as implicações de conceder acesso aos seus dados.
- Educação do Usuário sobre Permissões: Educar os usuários sobre por que permissões específicas são necessárias e como eles podem gerenciar essas permissões. Fornecer transparência constrói confiança do usuário e garante que os usuários entendam a importância e a relevância de cada permissão.
Tests¶
MASTG-TEST-0256: Ausência de Justificativa de Permissão MASTG-TEST-0257: Não Redefinir Permissões Não Utilizadas MASTG-TEST-0255: Solicitações de Permissão Não Minimizadas MASTG-TEST-0254: Permissões Perigosas de Aplicativo