MASTG-TEST-0054: Determinando se os Dados Sensíveis São Compartilhados com Terceiros
Deprecated Test
This test is deprecated and should not be used anymore. Reason: Nova versão disponível no MASTG V2
Please check the following MASTG v2 tests that cover this v1 test:
Visão Geral¶
Informações sensíveis podem ser vazadas para terceiros por vários meios. No iOS, normalmente por meio de serviços de terceiros incorporados ao aplicativo.
Os recursos que esses serviços oferecem podem envolver serviços de rastreamento para monitorar o comportamento do usuário durante o uso do aplicativo, venda de anúncios em banner ou melhoria da experiência do usuário.
A desvantagem é que os desenvolvedores geralmente não conhecem os detalhes do código executado por meio de bibliotecas de terceiros. Consequentemente, nenhuma informação além da necessária deve ser enviada a um serviço, e nenhuma informação sensível deve ser divulgada.
A maioria dos serviços de terceiros é implementada de duas maneiras:
- com uma biblioteca autônoma
- com um SDK completo
Análise Estática¶
Para determinar se as chamadas de API e funções fornecidas pela biblioteca de terceiros são usadas de acordo com as melhores práticas, revise seu código-fonte, as permissões solicitadas e verifique se há vulnerabilidades conhecidas.
Todos os dados enviados para serviços de terceiros devem ser anonimizados para evitar a exposição de PII (Informação de Identificação Pessoal) que permitiria ao terceiro identificar a conta do usuário. Nenhum outro dado (como IDs que possam ser mapeados para uma conta de usuário ou sessão) deve ser enviado a um terceiro.
Análise Dinâmica¶
Verifique todas as solicitações para serviços externos em busca de informações sensíveis incorporadas. Para interceptar o tráfego entre o cliente e o servidor, você pode realizar uma análise dinâmica iniciando um ataque Machine-in-the-Middle (MITM)) ( Monitoramento Básico de Rede/Sniffing), por exemplo, usando Burp Suite ou ZAP. Uma vez que você roteia o tráfego através do proxy de interceptação, pode tentar capturar o tráfego que passa entre o aplicativo e o servidor. Todas as solicitações do aplicativo que não são enviadas diretamente ao servidor onde a função principal está hospedada devem ser verificadas quanto a informações sensíveis, como PII em um serviço de rastreamento ou anúncio.