MASTG-TEST-0248: 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 bloqueio de tela seguro (ex: um código de acesso).
No iOS, os aplicativos podem determinar se um bloqueio de tela seguro está configurado usando o framework LocalAuthentication. Especificamente, o método LAContext.canEvaluatePolicy(_:error:) com as políticas .deviceOwnerAuthentication ou .deviceOwnerAuthenticationWithBiometrics pode ser usado para verificar se os mecanismos de autenticação, incluindo um código de acesso, estão disponíveis.
Aplicativos que utilizam a Keychain Services API podem exigir autenticação por código de acesso antes de acessar dados sensíveis usando o atributo kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly.
Passos¶
- Execute uma ferramenta de análise estática como radare2 para iOS no binário do aplicativo e procure por usos da API [LAContext.canEvaluatePolicy(.deviceOwnerAuthentication), ou dados armazenados com o atributo kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly.
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 utilizar nenhuma API para verificar a presença de bloqueio de tela seguro.