MASTG-TEST-0270: Referências a APIs para Detecção de Alterações no Cadastro Biométrico
Visão Geral¶
Este teste verifica se o aplicativo falha em proteger operações sensíveis contra acesso não autorizado após alterações no cadastro biométrico. Um invasor que obtenha o código de acesso do dispositivo pode adicionar uma nova impressão digital ou representação facial através das configurações do sistema e usá-la para autenticar no aplicativo.
O teste identifica a ausência do sinalizador de controle de acesso kSecAccessControlBiometryCurrentSet ao armazenar itens sensíveis no Keychain através de SecAccessControlCreateWithFlags. Este sinalizador garante que o item do Keychain associado torne-se inacessível se o banco de dados biométrico for alterado (por exemplo, quando uma nova impressão digital ou rosto é adicionado). Como resultado, apenas usuários cujos dados biométricos foram cadastrados no momento da criação do item podem desbloqueá-lo, prevenindo acesso não autorizado por meio de biometrias cadastradas posteriormente.
Etapas¶
- Execute uma ferramenta de análise estática como radare2 para iOS no binário do aplicativo e procure por usos da API
SecAccessControlCreateWithFlagscom o sinalizadorkSecAccessControlBiometryCurrentSet.
Observação¶
A saída deve conter uma lista de locais onde as APIs relevantes são utilizadas.
Avaliação¶
O teste falha se o aplicativo utilizar SecAccessControlCreateWithFlags com qualquer sinalizador exceto o kSecAccessControlBiometryCurrentSet para qualquer recurso de dados sensível que mereça proteção.
Demos¶
MASTG-DEMO-0045: Usos de kSecAccessControlBiometryCurrentSet com r2