Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Permisos de Android

Los permisos de Android proporcionan controles que aumentan el conocimiento del usuario y limitan el acceso de una aplicación a datos confidenciales. La configuración de permisos en Android 8.0 y versiones anteriores incluye listas blancas, sin las cuales las aplicaciones con privilegios están deshabilitadas, incluso si están en la ruta de la priv-app privada. En Android 9 y versiones posteriores, un dispositivo que intente usar aplicaciones que no están en la lista blanca correctamente no arrancará.

Las mayores protecciones contra aplicaciones potencialmente dañinas (PHA) mejoran

  • Transparencia sobre el comportamiento de la aplicación potencialmente dañino.
  • Control del usuario sobre el comportamiento de la aplicación.
  • La discreción de los desarrolladores de aplicaciones al utilizar datos privados, protegidos por permisos.

Instalación y permiso del paquete

En Android 9 y versiones anteriores, las funcionalidades de control de permisos e instalación de paquetes estaban incluidas en el paquete PackageInstaller ( //packages/apps/PackageInstaller ). En Android 10 y versiones posteriores, la funcionalidad de control de permisos reside en un paquete separado, PermissionController ( //packages/apps/PermissionController ). La Figura 1 ilustra dónde residen los dos paquetes en Android 10.

Separación de la instalación de paquetes y las funcionalidades de control de permisos para las aplicaciones del sistema y las utilizadas por las aplicaciones instaladas por el usuario
Figura 1. Funcionalidades de instalación de paquetes y control de permisos en Android 10

Listas blancas y acceso

En Android 6.0 y versiones posteriores, las aplicaciones solicitan acceso a permisos peligrosos en tiempo de ejecución . Android 10 agrega permisos de tiempo de ejecución de reconocimiento de actividad (AR), que solicitan al usuario que modifique o permita permisos peligrosos.

Android 8.0 requería que incluyese explícitamente aplicaciones privilegiadas en la lista blanca en los archivos XML de configuración del sistema en el directorio /etc/permissions . En Android 9 y versiones posteriores, los permisos privilegiados deben estar incluidos en la lista blanca o el dispositivo no puede arrancar.

Para limitar la visibilidad de la API interna y evitar que las aplicaciones accedan accidentalmente a las bibliotecas de la plataforma, Android 7.0 introdujo los espacios de nombres para bibliotecas nativas . Esto separa las bibliotecas del sistema de las bibliotecas de aplicaciones, y los fabricantes de dispositivos pueden agregar sus propias bibliotecas nativas.

A partir de Android 10, las aplicaciones deben tener permisos de firma y consentimiento del usuario para acceder al contenido de la pantalla de un dispositivo . Las aplicaciones privilegiadas que dependen de la funcionalidad de captura silenciosa, como tomar una captura de pantalla, deben usar la clase MediaProjection en su lugar.

Transparencia y privacidad

En Android 6.0 y superior, la dirección MAC de fábrica de un dispositivo está protegida contra el acceso de proveedores de servicios Wi-Fi y analizadores de paquetes. Las restricciones adicionales a partir de Android 10 limitan que las aplicaciones accedan a los identificadores (ID) de dispositivos inmutables a menos que estén en la lista blanca para permisos privilegiados . (La sección Conectividad proporciona una discusión relacionada sobre los identificadores de dispositivos , ya que esto afecta a los operadores).

En Android 9 y versiones anteriores, los usuarios toman decisiones persistentes al otorgar acceso a la ubicación a las aplicaciones. A partir de Android 10, una función de permisos de ubicación de tres estados brinda a los usuarios tres opciones para permitir el acceso de la aplicación a la ubicación de un dispositivo. Estos requisitos de permiso se aplican a las aplicaciones en Android 10 independientemente del SDK de destino.

Configure permisos para otras funciones de transparencia y privacidad a partir de Android 10

Configuraciones optimizadas

Las configuraciones de permisos se han optimizado para Android 6.0 y versiones posteriores.

  • Las capacidades ambientales para los servicios lanzados por init mantienen todos los aspectos de la configuración del servicio en un solo archivo .rc . Al configurar las capacidades para los servicios no iniciados por init , configure las capacidades del sistema de archivos usando fs_config.c en fs_config.c lugar.
  • Android 7.xy versiones inferiores amplían el mecanismo de ID de Android (AID) mediante un archivo android_filesystem_config.h específico del android_filesystem_config.h para especificar las capacidades del sistema de archivos y / o AID personalizados del fabricante del dispositivo. Android 8.0 y superior admite un nuevo método para ampliar las capacidades del sistema de archivos .
  • En Android 8.0, el manejo de los comandos USB se trasladó de los scripts de init específicos del dispositivo (una sustitución de las capas HAL) a un demonio USB nativo. La interfaz USB HAL debe implementarse en todos los dispositivos que se inician con Android 8.0 y versiones posteriores.