Protege las actividades sensibles

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.