Este documento detalha maneiras de monitorar atividades sensíveis, como logins de usuários e compras on-line.
SEGURANÇA DA FLAG
FLAG_SECURE
é uma sinalização de janela que informa ao Android para não permitir capturas de tela
ou mostrar a visualização da janela em uma tela não segura (como ao transmitir a
tela). Isso é útil para aplicativos que precisam proteger informações
sensíveis, como apps bancários ou gerenciadores de senhas. Quando uma janela é sinalizada
com FLAG_SECURE
, o Android impede que capturas de tela sejam feitas e
que ela seja mostrada em uma tela não segura, como uma TV ou
projetor. Isso ajuda a impedir que as informações exibidas na
janela sejam acessadas por pessoas não autorizadas.
Como isso ajuda a reduzir fraudes
Um app ou uma entidade maliciosa pode recuperar capturas de tela em segundo plano. Quando o estado
do app muda para o segundo plano, o FLAG_SECURE
pode ser usado. Quando a
captura de tela é feita, a imagem resultante fica em branco.
O FLAG_SECURE
também ajuda nos casos de uso de compartilhamento remoto de tela. Nem sempre é um
app malicioso que extrai capturas de tela. Apps legítimos de compartilhamento de tela também
são usados em situações fraudulentas.
Implementação
Para visualizações com as informações que você quer proteger, adicione o seguinte:
Kotlin
window?.setFlags( WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE )
Java
window.setFlags( WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE );
Práticas recomendadas
É importante observar que essa abordagem não é confiável na prevenção de ataques
de sobreposição. Em alguns casos, ele não prevê corretamente se a gravação de tela está
ativa, mas abrange a maioria dos casos de uso. Para mitigar ataques de sobreposição, leia
a próxima seção sobre as permissões HIDE_OVERLAY_WINDOWS
.
HIDE_OVERLAY_WINDOWS
HIDE_OVERLAY_WINDOWS
é uma permissão adicionada no Android 12, em que o app pode
desativar a exibição de sobreposições de apps sobre ele. No Android 12, dificultamos
a aquisição da permissão SYSTEM_ALERT_WINDOW
, essencialmente
permitindo que o app bloqueie sobreposições de apps de terceiros.
Como isso ajuda a reduzir fraudes
Quando você ativa a permissão HIDE_OVERLAY_WINDOWS
, desativa
as sobreposições de apps. Essa permissão fornece um
mecanismo de proteção contra ataques de cloak and Dagger.
Implementação
Para ativar essa permissão, adicione HIDE_OVERLAY_WINDOWS
ao manifesto
do seu projeto.
Práticas recomendadas
Como acontece com qualquer permissão, você precisa confiar em qualquer app de sobreposição pelo menos tanto quanto confia em qualquer outro app no dispositivo. Em outras palavras, seu app não pode permitir que outros apps desenhem sobreposições, a menos que você saiba que o outro app é confiável. Permitir que um app se sobreponha a outros apps pode ser perigoso, porque pode roubar senhas ou ler mensagens.