Proteggi le attività sensibili

Questo documento descrive i modi per monitorare le attività sensibili, come gli accessi degli utenti e gli acquisti online.

SECURE_SECURE

FLAG_SECURE è un flag finestra che indica ad Android di non consentire gli screenshot o di mostrare la visualizzazione della finestra su un display non sicuro (ad esempio la trasmissione dello schermo). Ciò è utile per le applicazioni che devono proteggere informazioni sensibili, come le app di online banking o i gestori delle password. Quando una finestra viene segnalata con FLAG_SECURE, Android impedisce l'acquisizione di screenshot e ne impedisce la visualizzazione su un display non sicuro, come una TV o un proiettore. Ciò contribuisce a proteggere le informazioni visualizzate nella finestra dall'accesso da parte di persone non autorizzate.

In che modo questo contribuisce a mitigare le attività fraudolente

Un'app o un'entità dannosa potrebbe recuperare screenshot in background. Quando lo stato dell'app cambia in background, è possibile utilizzare FLAG_SECURE. Quando viene acquisito lo screenshot, l'immagine risultante è vuota.

FLAG_SECURE aiuta anche per i casi d'uso di condivisione dello schermo da remoto. Non è sempre un'app dannosa che recupererà gli screenshot, ma anche app legittime di condivisione dello schermo vengono comunemente utilizzate in situazioni fraudolente.

Implementazione

Per le viste con le informazioni che vuoi proteggere, aggiungi quanto segue:

Kotlin


window?.setFlags(
    WindowManager.LayoutParams.FLAG_SECURE,
    WindowManager.LayoutParams.FLAG_SECURE
)

Java


window.setFlags(
  WindowManager.LayoutParams.FLAG_SECURE,
  WindowManager.LayoutParams.FLAG_SECURE
);

best practice

È importante notare che questo approccio non è affidabile nel prevenire gli attacchi overlay. In alcuni casi non prevede correttamente se la registrazione dello schermo è attiva, tuttavia copre la maggior parte dei casi d'uso. Per mitigare gli attacchi agli overlay, leggi la prossima sezione sulle autorizzazioni per HIDE_OVERLAY_WINDOWS.

NASCONDI_WINDOWS_OVERLAY

HIDE_OVERLAY_WINDOWS è un'autorizzazione aggiunta in Android 12 per cui la tua app può disattivare l'utilizzo di overlay delle applicazioni. In Android 12 abbiamo reso più difficile acquisire l'autorizzazione SYSTEM_ALERT_WINDOW, consentendo essenzialmente alla tua app di bloccare gli overlay di app di terze parti.

In che modo questo contribuisce a mitigare le attività fraudolente

Se attivi l'autorizzazione HIDE_OVERLAY_WINDOWS, disattivi la creazione degli overlay delle applicazioni nella tua app. Questa autorizzazione fornisce un meccanismo di protezione contro gli attacchi cloaking e dagger.

Implementazione

Per abilitare questa autorizzazione, aggiungi HIDE_OVERLAY_WINDOWS al file manifest del progetto.

best practice

Come per qualsiasi autorizzazione, dovresti considerare attendibile qualsiasi app in overlay almeno quanto attendi qualsiasi altra app sul dispositivo. In altre parole, la tua app non deve consentire ad altre app di visualizzare overlay su di essa, a meno che tu non abbia la certezza che l'altra app sia attendibile. Consentire a un'app di spostarsi su altre app può essere pericoloso perché potrebbe rubare password o leggere messaggi.