Skip to content

MASTG-TEST-0008: Verificação de Divulgação de Dados Sensíveis pela Interface do Usuário

Visão Geral

Análise Estática

Revise cuidadosamente todos os componentes de UI que exibem informações sensíveis ou as recebem como entrada. Procure por qualquer vestígio de informações sensíveis e avalie se elas devem ser mascaradas ou completamente removidas.

Campos de Texto

Para garantir que um aplicativo esteja mascarando entradas sensíveis do usuário, verifique a presença do seguinte atributo na definição de EditText:

android:inputType="textPassword"

Com esta configuração, pontos (em vez dos caracteres de entrada) serão exibidos no campo de texto, impedindo que o aplicativo vaze senhas ou pins para a interface do usuário.

Notificações do Aplicativo

Ao avaliar estaticamente um aplicativo, é recomendado buscar qualquer uso da classe NotificationManager, o que pode ser uma indicação de algum tipo de gerenciamento de notificações. Se a classe estiver sendo usada, o próximo passo será entender como o aplicativo está gerando as notificações.

Esses locais de código podem ser utilizados na seção de Análise Dinâmica abaixo, fornecendo uma ideia de onde no aplicativo as notificações podem ser geradas dinamicamente.

Análise Dinâmica

Para determinar se o aplicativo vaza alguma informação sensível para a interface do usuário, execute o aplicativo e identifique componentes que possam estar divulgando informações.

Campos de Texto

Se as informações estiverem mascaradas por, por exemplo, substituição da entrada por asteriscos ou pontos, o aplicativo não está vazando dados para a interface do usuário.

Notificações do Aplicativo

Para identificar o uso de notificações, percorra todo o aplicativo e todas as suas funções disponíveis procurando maneiras de acionar notificações. Considere que você pode precisar realizar ações fora do aplicativo para acionar certas notificações.

Durante a execução do aplicativo, você pode iniciar o rastreamento de todas as chamadas para funções relacionadas à criação de notificações, por exemplo setContentTitle ou setContentText de NotificationCompat.Builder. Observe o rastreamento no final e avalie se ele contém qualquer informação sensível.