Como corrigir apps com uma implementação insegura do TrustManager

Estas informações destinam-se aos programadores de apps que contêm uma implementação insegura da interface X509TrustManager.

O que está a acontecer

Uma ou mais das suas apps contêm uma implementação insegura da interface X509TrustManager. Especificamente, a implementação ignora todos os erros de validação de certificados SSL ao estabelecer uma ligação HTTPS a um anfitrião remoto, o que torna as apps vulneráveis a ataques do tipo man-in-the-middle. Um atacante pode ler dados transmitidos (como credenciais de início de sessão) e inclusivamente alterar os dados transmitidos na ligação HTTPS. Reveja os passos detalhados abaixo para corrigir o problema com as suas apps. Após os prazos apresentados na Play Console, as apps que contenham vulnerabilidades de segurança não corrigidas poderão ser removidas do Google Play.

Ação necessária​

  1. Inicie sessão na Play Console e navegue até à secção Alertas para ver quais as apps afetadas e os prazos para resolver estes problemas.
  2. Atualize as aplicações afetadas e corrija a vulnerabilidade.
  3. Envie as versões atualizadas das aplicações afetadas.

 

Depois de voltar a enviar, a sua aplicação será revista novamente. Este processo pode demorar várias horas. Se a aplicação passar na revisão e for publicada com êxito, não será necessária qualquer ação adicional. Se a aplicação falhar na revisão, a nova versão da aplicação não será publicada e receberá uma notificação por email.

Detalhes adicionais

Para processar corretamente a validação de certificados SSL, altere o código no método checkServerTrusted da sua interface X509TrustManager personalizada para acionar CertificateException ou IllegalArgumentException sempre que o certificado apresentado pelo servidor não corresponder às expetativas. Em particular, tenha em atenção os seguintes erros:

  1. Certifique-se de que as exceções apresentadas pelo checkServerTrusted não são apanhadas no método. Isto faria com que o método checkServerTrusted saísse normalmente, o que levaria a app a confiar num certificado prejudicial.
  2. Não utilize checkValidity para efeitos de verificação do certificado do servidor. O checkValidity verifica se um certificado não expirou e não consegue determinar se um certificado não deve ser considerado fidedigno.

Também pode utilizar uma configuração de segurança de redes para personalizar o comportamento de certificação da sua app de forma menos propensa a erros.

Estamos aqui para ajudar

Se tiver perguntas técnicas acerca da vulnerabilidade, pode publicar uma mensagem no Stack Overflow e utilizar a etiqueta "android-security" e "TrustManager". Para obter um esclarecimento sobre os passos que tem de efetuar para resolver este problema, pode contactar a nossa equipa de apoio técnico a programadores.

false
Menu principal
10457227639089772908
true
Pesquisar no Centro de ajuda
true
true
true
true
true
5016068
false
false