En este documento, se detallan formas de supervisar actividades sensibles, como los accesos de los usuarios. y compras en línea.
FLAG_SECURE
FLAG_SECURE
es una marca de ventana que le indica a Android que no permita las capturas de pantalla.
o mostrar la vista de ventana en una pantalla no segura (como la transmisión de
pantalla). Esto es útil para las aplicaciones que necesitan proteger datos
como apps bancarias o administradores de contraseñas. Cuando se marca una ventana
con FLAG_SECURE
, Android impide que se tomen capturas de pantalla y evita
que la ventana se muestre en una pantalla no segura, como una TV o
proyector. Esto ayuda a proteger la información que se muestra en el
contra el acceso de personas no autorizadas.
Cómo ayuda esto a mitigar el fraude
Una app o entidad maliciosa podría recuperar capturas de pantalla en segundo plano. Cuando el estado
de tu app cambia a segundo plano, se puede usar FLAG_SECURE
. Cuando
se toma la captura de pantalla, la imagen resultante está en blanco.
FLAG_SECURE
también ayuda con los casos de uso de uso compartido de pantalla de forma remota. No siempre es un
aplicación maliciosa que recuperará capturas de pantalla, las aplicaciones legítimas para compartir pantalla se
también suelen usarse en situaciones fraudulentas.
Implementación
Para las vistas con la información que deseas proteger, agrega lo siguiente:
Kotlin
window?.setFlags( WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE )
Java
window.setFlags( WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE );
Prácticas recomendadas
Es importante tener en cuenta que este enfoque no es confiable para evitar la superposición
de ataques de seguridad cibernética. En algunos casos, no predice correctamente si se realizará una grabación de pantalla
activo, sin embargo, abarca la mayoría de los casos de uso. Para mitigar los ataques de superposición, lee lo siguiente:
la siguiente sección sobre los permisos HIDE_OVERLAY_WINDOWS
.
HIDE_OVERLAY_WINDOWS (HIDE_OVERLAY_WINDOWS)
HIDE_OVERLAY_WINDOWS
es un permiso que se agregó en Android 12 para que tu app pueda hacer lo siguiente:
inhabilitar las superposiciones de aplicaciones sobre él. En Android 12, implementamos
es más difícil adquirir el permiso SYSTEM_ALERT_WINDOW
, básicamente
lo que permite que tu app bloquee superposiciones de apps de terceros.
Cómo ayuda esto a mitigar el fraude
Cuando habilitas el permiso HIDE_OVERLAY_WINDOWS
, inhabilitas tu opción
tener superposiciones de aplicaciones dibujadas sobre tu aplicación. Este permiso proporciona un
mecanismo de protección contra ataques de encubrimiento y daga.
Implementación
Para habilitar este permiso, agrega HIDE_OVERLAY_WINDOWS
a la propiedad de tu proyecto
.
Prácticas recomendadas
Como con cualquier permiso, debes confiar en cualquier app superpuesta tanto como confiar en cualquier otra aplicación del dispositivo. En otras palabras, tu app no debería permitir para que otras apps dibujen superposiciones, a menos que sepas que la otra confiables. Permitir que una app se superponga a otras puede ser peligroso porque pueden robar contraseñas o leer mensajes.