Skip to content

MASTG-TEST-0023: Teste do Security Provider

Visão Geral

Análise Estática

Aplicações baseadas no Android SDK devem depender do GooglePlayServices. Por exemplo, no arquivo de build do gradle, você encontrará compile 'com.google.android.gms:play-services-gcm:x.x.x' no bloco de dependências. Você precisa garantir que a classe ProviderInstaller seja chamada com installIfNeeded ou installIfNeededAsync. O ProviderInstaller precisa ser chamado por um componente da aplicação o mais cedo possível. Exceções lançadas por esses métodos devem ser capturadas e tratadas corretamente. Se a aplicação não conseguir corrigir seu Security Provider, ela pode informar à API sobre seu estado menos seguro ou restringir ações do usuário (pois todo tráfego HTTPS deve ser considerado mais arriscado nessa situação).

Se você tem acesso ao código-fonte, verifique se o app trata adequadamente quaisquer exceções relacionadas às atualizações do provedor de segurança e se ele reporta ao backend quando a aplicação está funcionando com um provedor de segurança não corrigido. A documentação do Android Developer fornece diferentes exemplos mostrando como atualizar o Provedor de Segurança para prevenir exploits SSL.

Por fim, certifique-se de que aplicações baseadas em NDK se liguem apenas a uma biblioteca recente e adequadamente corrigida que forneça funcionalidade SSL/TLS.

Análise Dinâmica

Quando você tem o código-fonte:

  1. Execute a aplicação em modo de depuração, então crie um ponto de interrupção onde o app fará primeiro contato com o(s) endpoint(s).
  2. Clique com o botão direito no código destacado e selecione Evaluate Expression.
  3. Digite Security.getProviders() e pressione enter.
  4. Verifique os provedores e tente encontrar GmsCore_OpenSSL, que deve ser o novo provedor listado no topo.

Quando você não tem o código-fonte:

  1. Use Frida para Android para conectar java.security.Security.getProviders() ou use um script Frida CodeShare como @platix/get-android-security-provider-mstg-network-6.
  2. Determine se o primeiro provedor é GmsCore_OpenSSL.