Proteggi le attività sensibili

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

FLAG_SECURE

FLAG_SECURE è un flag della finestra che indica ad Android di non consentire gli screenshot o di visualizzare la visualizzazione della finestra su un display non sicuro (ad esempio la trasmissione dello schermo). Questo è utile per le applicazioni che devono proteggere informazioni sensibili, come le app bancarie o i gestori di password. Quando una finestra viene contrassegnata con FLAG_SECURE, Android impedisce l'acquisizione di screenshot e la visualizzazione della finestra su un display non sicuro, come una TV o un proiettore. In questo modo, le informazioni visualizzate nella finestra vengono protette da accessi non autorizzati.

Come contribuisce a mitigare le frodi

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

FLAG_SECURE aiuta anche con i casi d'uso della condivisione schermo da remoto. Non sempre è un'app dannosa a recuperare gli screenshot. Anche le app di condivisione schermo legittime vengono comunemente utilizzate in situazioni fraudolente.

Implementazione

Per le visualizzazioni 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 per prevenire gli attacchi di sovrapposizione. In alcuni casi non prevede correttamente se la registrazione dello schermo è attiva, ma copre la maggior parte dei casi d'uso. Per mitigare gli attacchi di sovrapposizione, leggi la sezione successiva sulle autorizzazioni HIDE_OVERLAY_WINDOWS.

HIDE_OVERLAY_WINDOWS

HIDE_OVERLAY_WINDOWS è un'autorizzazione aggiunta in Android 12 in cui la tua app può disattivare il disegno di overlay dell'applicazione. In Android 12 abbiamo reso più difficile acquisire l'autorizzazione SYSTEM_ALERT_WINDOW, consentendo alla tua app di bloccare le sovrapposizioni di app di terze parti.

Come contribuisce a mitigare le frodi

Quando attivi l'autorizzazione HIDE_OVERLAY_WINDOWS, disattivi la visualizzazione delle sovrapposizioni delle applicazioni sopra la tua app. Questa autorizzazione fornisce un meccanismo di protezione dagli attacchi cloak and dagger.

Implementazione

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

Best practice

Come per qualsiasi autorizzazione, devi considerare attendibile un'app di sovrapposizione almeno quanto qualsiasi altra app sul dispositivo. In altre parole, la tua app non deve consentire ad altre app di disegnare overlay sopra di essa, a meno che tu non sappia che l'altra app è affidabile. Consentire a un'app di disegnare sopra altre app può essere pericoloso perché può rubare password o leggere messaggi.