
Mejoras de seguridad significativas de las versiones principales recientes de Android.
Mejoras de seguridad significativas de las versiones principales recientes de Android, a partir de Android 5.0 Lollipop (API 21).
Mejoras de seguridad - Android 5
WebView es un paquete separado; consulte Mejoras de seguridad en Android 5.0 y El WebView actualizable en Android 5.0 Lollipop: ¿qué es y por qué debería importarte?Mejoras de seguridad en Android 6
isInsideSecureHardware) para comprobar si una clave de KeyStore está almacenada en hardware seguro (por ejemplo, Entorno de ejecución de confianza (TEE) o Elemento seguro (SE)); consulte método isInsideSecureHardware de KeyInfoMejoras de seguridad - Android 7
Mejoras de seguridad - Android 8
WebView para que el código JavaScript no pueda acceder tan fácilmente a la memoria de la aplicación; consulte Novedades en la seguridad de WebView y Sección de seguridad de Cambios de comportamiento de Android 8.0 para todas las aplicacionesWebView respeta Network Security Config y la marca cleartextTrafficPermitted (en versiones anteriores de Android carga sitios HTTP incluso si el tráfico en claro no debería estar permitido por la configuración); consulte Sección de seguridad de Cambios de comportamiento de Android 8.0 para aplicaciones orientadas a Android 8.0WebView para que los usuarios reciban una advertencia al intentar navegar a un sitio web potencialmente inseguro (verificado por Google Safe Browsing) si está habilitada; consulte Sección de APIs de WebView de Funciones y APIs de Android 8.0FLAG_SECURE de Window es más compatible y no permite tomar capturas de pantalla de la pantalla donde esté establecida.Notas de la versión de Android 9 - Funciones de seguridad
cleartextTrafficPermitted en true en su Network Security Config si aún quieren usarlo (no recomendado); consulte Sección de TLS de red habilitado de forma predeterminada de Cambios de comportamiento: aplicaciones orientadas al nivel de API 28+ y Android: tráfico HTTP en claro no permitido en Android 9Mejoras de seguridad - Android 10
Notas de la versión de Android 10 - Funciones de seguridad
WebView; consulte método setAllowFileAccess de WebSettingsNotas de la versión de Android 11 - Seguridad
taskAffinity igual que la de la aplicación objetivo para engañar al usuario y hacer que la lance, incluso si el usuario tenía la intención de lanzar la aplicación objetivo y usó su icono legítimo) ya no es posible; consulte Ataque StrandHogg / vulnerabilidad de afinidad de tareas y Vulnerabilidad de StrandhoggrequestLegacyExternalStorage; consulte Actualizaciones de almacenamiento en Android 11 y Sección de exclusión en su aplicación de producción de Casos de uso y prácticas recomendadas de almacenamiento de AndroidNotas de lanzamiento de Android 12
android:exported debe definirse explícitamente en los Manifiestos para componentes (Activities, Content Providers, etc.) que declaren Intent Filters, consulte la sección sobre exportación de componentes más segura de Cambios de comportamiento: aplicaciones orientadas a Android 12Mejoras de seguridad - Android 13
Notas de lanzamiento de Android 13 - Seguridad
POST_NOTIFICATIONS para enviar notificaciones no exentas (incluidas las Foreground Services (FGS)) desde una aplicación, consulte permiso de notificación en tiempo de ejecución y android.permission.POST_NOTIFICATIONSMejoras de seguridad - Android 14
Notas de seguridad de Android 14
targetSdk mínimo: las aplicaciones que apuntan a versiones de Android anteriores a Android 6 (API 23) ya no se pueden instalar. Esto significa que se puede asumir que las restricciones de seguridad (notablemente el manejo de permisos en tiempo de ejecución en este caso) introducidas con Android 6 (API 23) ahora se aplican a todas las aplicaciones instaladas en el dispositivo (se espera que este mínimo aumente con cada futura versión de Android), consulte la sección del nivel de API objetivo mínimo instalable de Cambios de comportamiento: todas las aplicacionesQUERY_ALL_PACKAGES — que requiere una revisión manual especial de Google Play para conseguirlo), consulte la sección sobre nombres de paquete de propietarios de medios que podrían redactarse de Cambios de comportamiento: todas las aplicacionesNotas de seguridad de Android 15
PendingIntent ahora bloquean los lanzamientos de actividades en segundo plano de forma predeterminada si tu aplicación apunta a Android 15 (API 35), consulte la sección de otros cambios de Cambios de comportamiento: aplicaciones orientadas a Android 15 o versiones posterioresPendingIntent permita privilegios de lanzamiento de actividades en segundo plano o que el remitente tenga privilegios de lanzamiento de actividades en segundo plano, si tu aplicación apunta a Android 15 (API 35), consulte Notas de seguridad de Android 16* Seguridad predeterminada añadida contra los ataques de redirección de Intents en general, bloqueando el lanzamiento de Intents recibidos de otras apps, p. ej. envueltos como un extra en el Intent que lanza la app actual; consulta la sección Mejora de la seguridad contra ataques de redirección de Intents de Cambios de comportamiento: todas las apps
RESULT_DISCOVERY_TIMEOUT. En su lugar, el usuario recibe una notificación de los eventos de tiempo de espera con un diálogo visual. Cuando el usuario descarta el diálogo, la app es alertada del fallo de asociación con RESULT_USER_REJECTED; consulta la sección Las apps complementarias ya no reciben notificación de los tiempos de espera de descubrimiento de Cambios de comportamiento: todas las appsMediaStore#getVersion() ahora será única para cada app. Esto elimina las propiedades identificativas de la cadena de versión para prevenir su abuso y uso en técnicas de huella digital; consulta la sección Restricción de la versión de MediaStore de Cambios de comportamiento: apps orientadas a Android 16 o superior y el método getVersion de MediaStoreNotas de la versión de seguridad de Android 17
READ_CONTATCS; consulta la sección Selector de contactos de Android de Funciones y APIsKeyStoreException; consulta la sección Límites de Keystore por app de Cambios de comportamiento: todas las appssetView) ya no se pueden lanzar desde el segundo plano. Esto sirve para mitigar ciertos ataques de Tapjacking que se basaban en que estos oscurecían la interfaz de usuario de una aplicación víctima. Tenga en cuenta que el método setView completo está obsoleto en Android 11 (API 30). Consulte la documentación del método setView de ToastrequestLegacyExternalStorageBiometricPrompt para la autenticación.FLAG_SECURE para los avisos de credencial biométrica o del dispositivo (PIN, patrón o contraseña), tanto para desbloquear el dispositivo como para BiometricPrompt en aplicaciones; esto significa que no se pueden tomar capturas de pantalla de estas pantallas y además aparecen en negro en las comparticiones de pantalla, consulte el código fuente de com.android.systemui.biometrics.AuthContainerView en Android Code Searchapksigner usarán el esquema de firma v3.1 por defecto para la rotación dirigida a Android 13 y versiones posteriores.Exception, consulte la sección sobre carga dinámica de código más segura de Cambios de comportamiento: aplicaciones orientadas a Android 14 o versiones posterioresnull) ya no coincidirán con ningún intent-filter. Esto significa que las intents utilizadas para iniciar actividades o servicios deben tener una acción claramente definida, consulte la sección de Intents más seguras de Cambios de comportamiento: aplicaciones orientadas a Android 15 o versiones posterioresPendingIntent se trata como el remitente de la intent envolvente, no como el remitente de la intent pendiente, consulte la sección de Intents más seguras de Cambios de comportamiento: aplicaciones orientadas a Android 15 o versiones posterioresBiometricPrompt: no puede "recurrir" a las credenciales del dispositivo después de fallar con datos biométricos para completar la autenticación del usuario. Ten en cuenta que el usuario aún puede usar credenciales del dispositivo por elección mediante un botón en la solicitud si ese autenticador está permitido (y si no ha fallado la solicitud demasiadas veces). Cuando el dispositivo se bloquea, la solicitud se cancelará y será necesario activar una nueva solicitud después de desbloquear el dispositivo para que la autenticación tenga éxito. Consulte Android 15 se asegura de que los ladrones no puedan vaciar tu cuenta bancaria si roban tu teléfono desbloqueadomoduleHash en la estructura KeyDescription, que puede utilizarse para verificar la integridad de los módulos APEX cargados; consulta la sección Integridad del dispositivo de las notas de la versión de Android 16 y la atestación de claves e ID