Android Q protegerá mejor su privacidad con nuevas funciones

El análisis de una versión filtrada de Android Q muestra que llegarán más actualizaciones de privacidad a Android: bloqueo de lecturas en segundo plano del portapapeles, mejor protección de los medios y más.

Cada nueva versión de Android viene con nuevas funciones, lo que significa que Android necesita nuevos permisos para controlar el acceso a estas funciones. Encontré muchos permisos nuevos en el marco de Android Q (no todos los cubriré en este artículo porque muchos de ellos no son interesantes). Algunos de los permisos que encontré no tenían ninguna descripción, pero sus nombres se explican por sí solos de todos modos. Profundicemos y analicemos las nuevas mejoras de privacidad detrás de escena en Android Q, así como algunas otras características interesantes que encontré.

Un agradecimiento especial a PNF Software por brindarnos una licencia de uso. Descompilador JEB. JEB Decompiler es una herramienta de ingeniería inversa de nivel profesional para aplicaciones de Android.

Bloquear el acceso al portapapeles en segundo plano

Sabía usted que Todas las aplicaciones de Android pueden leer tu portapapeles.¿Y no es necesario otorgarles un permiso de ejecución para hacerlo? Probablemente mucha gente copia información confidencial como nombres de usuario, contraseñas, direcciones, etc. todo el tiempo, por lo que sería fácil para cualquier aplicación extraer estos datos en segundo plano. Es por eso que a muchas aplicaciones de administración de contraseñas les gusta KeePass tienen sus propios teclados que puedes usar para omitir el administrador del portapapeles de Android. Las aplicaciones de administrador de contraseñas a menudo borran el portapapeles después de copiar y pegar algo. La razón por la que las aplicaciones de Android necesitan leer el portapapeles es que no pueden aceptar ningún texto del portapapeles sin él, lo que significa que no puedes pegar ningún texto que hayas copiado. Android Q busca cambiar eso, afortunadamente.

Se ha agregado un nuevo permiso llamado “READ_CLIPBOARD_IN_BACKGROUND"Parece que hará exactamente lo que dice: limitar qué aplicaciones pueden leer el portapapeles en segundo plano. El nivel de protección de este permiso es "firma", lo que significa que solo se puede otorgar este permiso a las aplicaciones firmadas por el OEM.

<permissionandroid: name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"android: protectionLevel="signature"/>

¿Soporte para degradar aplicaciones?

¿Alguna vez instalaste una actualización para una aplicación en Google Play y te arrepentiste inmediatamente? A veces, un desarrollador envía una actualización que rompe algo que no esperaba, pero una vez que la actualización se ha enviado e instalado, es demasiado tarde para hacer algo al respecto. El desarrollador debe publicar rápidamente una revisión y el usuario debe dejar de usar la aplicación hasta que se publique una actualización o desinstalar la aplicación y descargar una versión anterior. No hay forma de degradar una aplicación a menos que tengas un dispositivo rooteado con una aplicación como Copia de seguridad de titanio, porque el administrador de paquetes de Android le impide instalar versiones anteriores de aplicaciones. Hay una buena razón para hacerlo porque instalar una versión anterior de una aplicación podría provocar fallas si la Los datos de la aplicación no se borran o podrían exponer al usuario a un peligro si la versión anterior es vulnerable a un problema de seguridad. defecto.

Si bien no sabemos con certeza si Google permitirá a los usuarios revertir aplicaciones a una versión anterior, encontramos varios permisos y comandos en Android Q que sugieren que será posible. Primero, el nuevo “PACKAGE_ROLLBACK_AGENT" y "MANAGE_ROLLBACKSLos permisos sugieren que la aplicación Market preinstalada puede actuar como un agente para gestionar la reversión de las versiones de la aplicación. El primer permiso es "firma", mientras que el segundo es "instalador" además de "firma", por lo que esto significa solo una aplicación firmada por la plataforma con la capacidad de Las aplicaciones de instalación (normalmente solo el administrador de paquetes, Google Play Store u otras tiendas de aplicaciones propias, según el dispositivo) pueden utilizar estos permisos. Se han agregado dos nuevos intentos de transmisión protegidos: "PACKAGE_ENABLE_ROLLBACK" y "PACKAGE_ROLLBACK EXECUTED.” Estas transmisiones no pueden ser enviadas por aplicaciones de terceros y probablemente estén destinadas a permitir que la aplicación afectada sepa cuándo se ha degradado (mucho). (por ejemplo, cómo se informa a las aplicaciones cuando se han actualizado, dándoles la oportunidad de mostrar algún mensaje en el próximo inicio). Por último, se ha agregado una nueva bandera a el "pm install”comando de shell. La bandera, llamada “--enable-rollback”, puede permitirle revertir una aplicación a una versión anterior. Sin embargo, no pude hacerlo funcionar.

<protected-broadcast android: name="android.intent.action.PACKAGE_ENABLE_ROLLBACK"/>
<protected-broadcast android: name="android.intent.action.PACKAGE_ROLLBACK_EXECUTED"/>
<permissionandroid: name="android.permission.PACKAGE_ROLLBACK_AGENT"android: protectionLevel="signature"/>
<permissionandroid: name="android.permission.MANAGE_ROLLBACKS"android: protectionLevel="installer|signature"/>

Proteger archivos en almacenamiento externo

El almacenamiento de datos en Android implica el “almacenamiento interno” (/datos excluyendo /datos/medios) y el “almacenamiento externo” (/datos/medios y cualquier tarjeta SD o unidad USB montada). Los APK y sus datos más confidenciales se almacenan en el almacenamiento interno, mientras que cualquier medio compartido como documentos, imágenes, videos, etc. se almacenan en un almacenamiento externo. De forma predeterminada, las aplicaciones solo pueden leer y escribir archivos en un único directorio en el almacenamiento externo: /data/media/[usuario]/Android/data/[package_name]. (Para conocer más sobre este comportamiento, te recomiendo leer mi artículo sobre sdcardfs en Android Oreo.) Una vez que el usuario otorga a una aplicación cualquier permiso bajo el grupo de permisos de almacenamiento externo (READ_EXTERNAL_STORAGE o WRITE_EXTERNAL_STORAGE), la aplicación puede leer o escribir cualquier archivo en el almacenamiento externo. Esto es problemático porque le estás otorgando a una aplicación la capacidad de recopilar potencialmente una gran cantidad de datos sobre ti cuando solo querías permitirle leer o escribir ciertos archivos. Para solucionar este problema, Google parece estar introduciendo un par de nuevos permisos relacionados con el almacenamiento externo en Android Q. Los permisos bloquearán las siguientes características:

  • Capacidad para leer las ubicaciones de sus medios. (Probablemente bloqueando el acceso a los metadatos de las imágenes de forma predeterminada).
  • Posibilidad de acceder a archivos de música.
  • Posibilidad de acceder a fotografías.
  • Posibilidad de acceder a vídeos.

Para aplicaciones que ya tienen el READ_EXTERNAL_STORAGE o WRITE_EXTERNAL_STORAGE permisos antes de la actualización de Android Q, obtendrán el nuevo leer permisos pero no los nuevos escribir permisos. Por ejemplo, una aplicación a la que ya se le ha concedido READ_EXTERNAL_STORAGE por parte del usuario se le concederá automáticamente la READ_MEDIA_IMAGES permiso pero no el WRITE_MEDIA_IMAGES permiso.

Cadenas relevantes del framework-res de Android Q

<stringname="permgroupdesc_aural">access your musicstring>
<stringname="permgrouplab_visual">Photos & Videosstring>
<stringname="permgrouprequest_aural">Allow <b>%1$s</b> to access your music?string>
<stringname="permgroupdesc_visual">access your photos & videosstring>
<stringname="permgrouplab_activityRecognition">Activity recognitionstring>
<stringname="permgrouplab_aural">Musicstring>
<stringname="permdesc_videoRead">Allows the app to read your video collection.string>
<stringname="permdesc_videoWrite">Allows the app to modify your video collection.string>
<stringname="permdesc_imagesRead">Allows the app to read your photo collection.string>
<stringname="permdesc_imagesWrite">Allows the app to modify your photo collection.string>
<stringname="permdesc_audioRead">Allows the app to read your music collection.string>
<stringname="permdesc_audioWrite">Allows the app to modify your music collection.string>
<stringname="permlab_audioRead">read your music collectionstring>
<stringname="permlab_audioWrite">modify your music collectionstring>
<stringname="permdesc_mediaLocation">Allows the app to read locations from your media collection.string>



"android.permission.READ_EXTERNAL_STORAGE"

targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>

"android.permission.WRITE_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>

leer más

El regreso del acceso a la ubicación en segundo plano

Android Oreo y Android 9 Pie dieron grandes pasos para proteger la privacidad del usuario, pero algunos usuarios sintieron que Google llevó las cosas demasiado lejos. Una de esas áreas que puede considerarse una regresión de características es acceso a la ubicación en segundo plano. El acceso a la ubicación en Android Oreo y versiones posteriores está muy limitado, si no completamente eliminado, para las aplicaciones que se ejecutan en segundo plano, por lo que Las aplicaciones deben estar en primer plano o tener un servicio en primer plano ejecutándose si quieren sondear continuamente el dispositivo. ubicación. Eso impide que las aplicaciones espíen su ubicación en segundo plano, pero también impide que el usuario mapee su propia ubicación utilizando una aplicación en segundo plano. Este es un problema que abordamos en un artículo separado y parece que Google está agregando un nuevo permiso en Android Q para abordar las inquietudes de estos desarrolladores y usuarios.

En Android Q, se agregó un nuevo permiso para permitir que una aplicación tenga acceso en segundo plano a la ubicación del dispositivo. La descripción del permiso para el usuario advierte que la "aplicación siempre tendrá acceso a la ubicación, incluso cuando no la esté usando". Este permiso puede Se le otorgarán permisos "adicionales a la ubicación aproximada o precisa" para que la aplicación "pueda acceder a la ubicación mientras se ejecuta en segundo plano". A diferencia de, El permiso de ubicación aproximada solo puede obtener su ubicación en función de fuentes de red como torres de telefonía celular o redes Wi-Fi, pero solo cuando la aplicación está en el primer plano.

Cadenas relevantes del framework-res de Android Q

<stringname="permgroupbackgroundrequest_location">Always allow <b>%1$s</b> to access this device’s location?string>
<stringname="permgroupbackgroundrequestdetail_location">The app will always have access to the location, even when you’re not using the app.string>
"permdesc_accessBackgroundLocation">If this is granted additionally to the approximate or precise location access the app can access the location while running in the background.</string>
"permdesc_accessCoarseLocation">This app can get your location based on network sources such as cell towers and Wi-Fi networks, but only when the app is in the foreground. These location services must be turned on and available on your phone for the app to be able to usethem.string>
"android.permission.ACCESS_FINE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>

"android.permission.ACCESS_COARSE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>

leer más

Reconocimiento de Actividad Física

Se agregó un nuevo permiso a Android Q que permite que una aplicación "reconozca su actividad física". Esto técnicamente no es nuevo ya que es ya forma parte de los servicios de Google Play, pero podría significar que Google desvinculará el permiso de Play Services. Dado lo integral que han sido los servicios de Google Play al proporcionar funciones básicas de Android, es bueno ver que parte de su poder se devuelve a AOSP.

<stringname="permgroupdesc_activityRecognition">recognize activitystring>
<stringname="permgrouprequest_activityRecognition">Allow <b>%1$s</b> to recognize your physical activity?string>
<stringname="permdesc_activityRecognition">This app can recognize your physical activity.string>

Para obtener más noticias sobre Android Q, consulte nuestra etiqueta con las últimas novedades ordenadas por fecha. Recientemente publicamos un artículo con mucha evidencia que apunta a que Google está trabajando en compatible con hardware de autenticación facial similar a Face ID en Android Q. También tenemos un Prueba práctica temprana de la versión filtrada de Android Q (e incluso hay un vídeo) que deberías ver aquí. Publicaremos más de nuestros hallazgos de esta versión inicial de Android Q que obtuvimos, así que estad atentos.