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.