Skip to content

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

  1. Execute uma ferramenta de análise estática como radare2 para iOS no binário do aplicativo e procure por usos da API SecAccessControlCreateWithFlags com o sinalizador kSecAccessControlBiometryCurrentSet.

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