Este documento detalha maneiras de monitorar atividades sensíveis, como logins de usuários e compras on-line.
FLAG_SECURE
FLAG_SECURE
é uma flag de janela que informa ao Android para não permitir capturas de tela
ou exibir a visualização da janela em uma tela não segura (como a transmissão da
tela). Isso é útil para aplicativos que precisam proteger informações sensíveis, como apps de bancos ou gerenciadores de senhas. Quando uma janela é marcada com FLAG_SECURE
, o Android impede que capturas de tela sejam feitas e que a janela seja mostrada em uma tela não segura, como uma TV ou um projetor. Isso ajuda a proteger as informações mostradas na janela contra acesso de pessoas não autorizadas.
Como isso ajuda a reduzir fraudes
Um app ou entidade maliciosa pode recuperar capturas de tela em segundo plano. Quando o estado do app muda para segundo plano, FLAG_SECURE
pode ser usado. Quando a captura de tela é feita, a imagem resultante fica em branco.
O FLAG_SECURE
também ajuda com casos de uso de compartilhamento de tela remoto. Nem sempre é um app
malicioso que recupera capturas de tela. Apps legítimos de compartilhamento de tela
também são usados com frequência 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 para evitar 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 reduzir os ataques de sobreposição, leia
a próxima seção sobre 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 aplicativos sobre ele. No Android 12, dificultamos a aquisição da permissão SYSTEM_ALERT_WINDOW
, permitindo que seu app bloqueie sobreposições de apps de terceiros.
Como isso ajuda a reduzir fraudes
Ao ativar a permissão HIDE_OVERLAY_WINDOWS
, você desativa a
sobreposição de aplicativos sobre o seu app. Essa permissão oferece 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 projeto.
Práticas recomendadas
Como acontece com qualquer permissão, você precisa confiar em um 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 mostrem sobreposições sobre ele, a menos que você saiba que o outro app é confiável. Permitir que um app desenhe sobre outros apps pode ser perigoso porque ele pode roubar senhas ou ler mensagens.