MASTG-TEST-0247: Referências a APIs para Detecção de Bloqueio de Tela Seguro
Visão Geral¶
Este teste verifica se um aplicativo está sendo executado em um dispositivo com um código de acesso definido. Aplicativos Android podem determinar se um bloqueio de tela seguro (como PIN ou senha) está habilitado usando APIs fornecidas pela plataforma. Especificamente, os aplicativos podem utilizar a API KeyguardManager, que fornece os métodos isDeviceSecure() e isKeyguardSecure() para verificar se o dispositivo possui um mecanismo de bloqueio seguro configurado.
Além disso, os aplicativos podem usar a API BiometricManager#canAuthenticate(int) para verificar se a autenticação biométrica está disponível e pode ser utilizada. Como a autenticação biométrica no Android requer um bloqueio de tela seguro como fallback, este método pode servir como uma verificação alternativa quando o KeyguardManager não estiver disponível ou for restrito pelos fabricantes de dispositivos.
Se um aplicativo depende de biometria para autenticação, ele deve garantir que a autenticação biométrica seja imposta usando a API BiometricPrompt ou exigindo autenticação para acesso a chaves criptográficas por meio do Sistema Android KeyStore. No entanto, os aplicativos não podem forçar os usuários a habilitar a biometria no nível do sistema, apenas impor seu uso dentro do aplicativo para acessar funcionalidades sensíveis.
Passos¶
- Use a ferramenta semgrep para identificar a API que verifica se um bloqueio de tela seguro foi definido.
Observação¶
A saída deve conter uma lista de locais onde as APIs relevantes são utilizadas.
Avaliação¶
O teste falha se um aplicativo não usar nenhuma API para verificar a presença de bloqueio de tela seguro.