Skip to content

MASTG-TEST-0243: Pins de Certificado Expirados na Configuração de Segurança de Rede

Visão Geral

Os aplicativos podem configurar datas de expiração para certificados fixados no Network Security Configuration (NSC) usando o atributo expiration. Quando um pin expira, o aplicativo não aplica mais a fixação de certificado e passa a confiar em suas âncoras de confiança configuradas. Isso significa que a conexão ainda terá sucesso se o servidor apresentar um certificado válido de uma AC confiável (como uma AC do sistema ou uma AC personalizada definida na configuração do app). No entanto, se nenhum certificado confiável estiver disponível, a conexão falhará.

Se os desenvolvedores presumirem que a fixação ainda está ativa, mas não perceberem que ela expirou, o aplicativo pode começar a confiar em ACs que nunca foram planejadas.

Exemplo: Um aplicativo financeiro que anteriormente fixava em sua própria AC privada, mas após a expiração, passa a confiar em ACs publicamente confiáveis, aumentando o risco de comprometimento se uma AC for violada.

O objetivo deste teste é verificar se alguma data de expiração está no passado.

Etapas

  1. Realizar engenharia reversa do aplicativo ( Descompilação de Código Java).
  2. Inspecionar o AndroidManifest.xml e verificar se um networkSecurityConfig está definido na tag <application>. Se sim, inspecione o arquivo referenciado e extraia as datas de expiração para cada domínio.

Observação

A saída deve conter uma lista de datas de expiração para certificados fixados.

Avaliação

O caso de teste falha se alguma data de expiração estiver no passado.