MASWE-0004: Dados Sensíveis Não Excluídos do Backup
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¶
iOS e Android realizam backups automáticos dos dados de aplicativos para serviços em nuvem, e os usuários também podem criar backups locais em máquinas físicas, ou backups são automaticamente criados durante transferências de dados ao trocar entre aparelhos. Quando os desenvolvedores não configuram adequadamente como seus aplicativos lidam com backups e negligenciam a exclusão de arquivos sensíveis, os backups podem conter dados sensíveis do usuário e do aplicativo. Sob certas condições, os backups podem não estar adequadamente protegidos pelo provedor de nuvem, ou um ator malicioso pode adulterar os arquivos copiados, potencialmente alterando o comportamento do aplicativo ou extraindo informações confidenciais.
Impacto¶
- Modificação do Comportamento do Aplicativo: Um atacante pode adulterar dados dentro do backup, alterando a lógica do aplicativo. Por exemplo, eles poderiam modificar um banco de dados que rastreia o estado de recursos premium e, em seguida, restaurar o backup modificado no dispositivo. Outro cenário comum é fazer backup do dispositivo antes de resgatar um cupom de uso único e restaurar o backup posteriormente, o que permitiria ao ator malicioso reutilizar o mesmo cupom várias vezes.
- Perda de Confidencialidade: Dados sensíveis armazenados em backups (por exemplo, informações pessoais, fotos, documentos ou arquivos de áudio) podem ser extraídos por atacantes, resultando em violações de privacidade.
- Vazamento de Material de Autenticação: Um atacante pode extrair senhas, chaves criptográficas e tokens de sessão para facilitar ataques adicionais, como roubo de identidade, tomada de conta ou acesso não autorizado.
Modos de Introdução¶
- Backups Automáticos do Sistema: Por padrão, iOS e Android fazem backup dos dados do aplicativo para a nuvem assim que o usuário consente durante a configuração inicial.
- Backups Locais: Os usuários podem fazer backup de seus dispositivos para sistemas locais (por exemplo, laptops). Se os backups locais forem armazenados não criptografados ou não manuseados com segurança, atacantes podem adulterar esses dados.
- Transferência entre Dispositivos: A transferência de dados entre dispositivos (por exemplo, via iCloud ou ferramentas de migração entre dispositivos do Google) permite que um atacante execute ataques semelhantes.
Mitigações¶
- Exclua arquivos sensíveis de backups usando atributos específicos da plataforma, como
android:allowBackupouBackupAgentcomexcludeFromBackuppara Android. No iOS, APIs comoNSURLIsExcludedFromBackupKeynão garantem exclusão do backup. Portanto, você deve criptografar seus dados em vez disso. - Armazene dados sensíveis em locais excluídos de backups por padrão, como o Keychain ou
Library/Cachesno iOS. - Criptografe dados sensíveis antes do armazenamento para garantir confidencialidade, mesmo que sejam incluídos em backups.
Tests¶
MASTG-TEST-0262: Referências a Configurações de Backup Que Não Excluem Dados Sensíveis MASTG-TEST-0216: Dados Sensíveis Não Excluídos do Backup MASTG-TEST-0215: Dados Sensíveis Não Excluídos do Backup