Skip to content

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

  1. 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.

Demos

MASTG-DEMO-0024: Usos de LAContext.canEvaluatePolicy com r2