MASTG-TEST-0215: Dados Sensíveis Não Excluídos do Backup
Visão Geral¶
Este teste verifica se seu aplicativo instrui corretamente o sistema a excluir arquivos sensíveis de backups.
Arquivos nos subdiretórios /tmp e /Library/Caches do contêiner do aplicativo são excluídos dos backups do iCloud. Para arquivos e diretórios em quaisquer outras localizações dentro do contêiner do aplicativo, o iOS fornece a API isExcludedFromBackup para orientar o sistema a não fazer backup de um determinado arquivo ou diretório. No entanto, esta API não garante a exclusão real:
"O valor de recurso
isExcludedFromBackupexiste apenas para fornecer orientação ao sistema sobre quais arquivos e diretórios ele pode excluir; não é um mecanismo para garantir que esses itens nunca apareçam em um backup ou em um dispositivo restaurado."
Portanto, a única maneira de proteger adequadamente seus arquivos de um backup é criptografá-los.
Passos¶
- Execute uma ferramenta de análise estática como radare2 para iOS no binário do aplicativo, ou use uma ferramenta de análise dinâmica como Frida para iOS, e procure por usos da API
isExcludedFromBackup.
Observação¶
A saída deve conter o código desmontado das funções que usam isExcludedFromBackup e, se possível, a lista de arquivos afetados.
Avaliação¶
O caso de teste falha se você conseguir encontrar o uso de isExcludedFromBackup no código-fonte e se qualquer um dos arquivos afetados puder ser considerado sensível.
Para os arquivos sensíveis encontrados, e além de usar isExcludedFromBackup, certifique-se de criptografá-los, pois isExcludedFromBackup não garante a exclusão.