Android 11 le quita el selector de la cámara para limitar el posible secuestro de geotag

Leer actualización
  • Google atribuye el cambio a un posible secuestro de etiquetas geográficas

Es posible que Android haya comenzado con el mantra de que los desarrolladores pueden hacer cualquier cosa siempre que puedan codificarlo, pero las cosas han cambiado a lo largo de los años a medida que la seguridad y la privacidad se convirtieron en prioridades más altas. Cada actualización importante durante la última década ha cerrado funciones o agregado restricciones en nombre de la protección de los usuarios, pero es posible que algunos sacrificios no hayan sido del todo necesarios. Ha surgido otra compensación de Android 11, esta vez eliminando la capacidad de los usuarios de seleccionar aplicaciones de cámara de terceros para tomar fotos o videos en nombre de otras aplicaciones, lo que obliga a los usuarios a confiar solo en la aplicación de cámara integrada.

ANDROIDPOLICE VÍDEO DEL DÍA

En el centro de este cambio se encuentra uno de los rasgos definitorios de Android: el sistema Intent. Supongamos que necesita tomar una foto de una taza de café novedosa para venderla a través de una aplicación de subastas. Dado que la aplicación de subastas no se creó para la fotografía, el desarrollador decidió dejar eso en manos de una aplicación de cámara adecuada. Aquí es donde entra en juego el sistema Intent. Los desarrolladores simplemente crean una solicitud con algunos criterios y Android pedirá a los usuarios que elijan de una lista de aplicaciones instaladas para hacer el trabajo.

Selector de cámara en Android 10.

Sin embargo, las cosas van a cambiar con Android 11 para las aplicaciones que solicitan fotos o videos. Tres intents específicos dejarán de funcionar como antes, incluidos: VIDEO_CAPTURE, IMAGE_CAPTURE e IMAGE_CAPTURE_SECURE. Android 11 ahora proporcionará automáticamente la aplicación de cámara preinstalada para realizar estas acciones sin tener que buscar otras aplicaciones para cumplir la función.

A partir de Android 11, solo las aplicaciones de cámara del sistema preinstaladas pueden responder a las siguientes acciones de intención:

  • android.media.action.VIDEO_CAPTURE
  • android.media.action.IMAGE_CAPTURE
  • android.media.action.IMAGE_CAPTURE_SECURE

Si hay disponible más de una aplicación de cámara del sistema preinstalada, el sistema presenta un cuadro de diálogo para que el usuario seleccione una aplicación. Si desea que su aplicación use una aplicación de cámara de terceros específica para capturar imágenes o videos en su nombre, puede hacer que estas intenciones sean explícitas configurando un nombre de paquete o componente para la intención.

Google describe el cambio en una lista de nuevos comportamientos en Android 11 y lo confirmó en el Rastreador de problemas. La privacidad y la seguridad se citan como la razón, pero no hay discusión sobre qué hizo exactamente que esos intentos fueran peligrosos. Quizás algunos usuarios fueron engañados para configurar una aplicación de cámara maliciosa como predeterminada y luego usarla para capturar cosas que deberían haber permanecido privadas.

"… creemos que es el compromiso correcto para proteger la privacidad y la seguridad de nuestros usuarios". Rastreador de problemas de Google.

Android 11 no solo se toma la libertad de iniciar automáticamente la aplicación de cámara preinstalada cuando se solicita, sino que también evita que los desarrolladores de aplicaciones proporcionen convenientemente su propia interfaz para simular la misma funcionalidad. Realicé una prueba con un código simple para consultar las aplicaciones de la cámara en un teléfono, luego la ejecuté en dispositivos con Android 10 y 11 con el mismo conjunto de aplicaciones de cámara instaladas. Android 10 devolvió un conjunto completo de aplicaciones, pero Android 11 no informó nada, ni siquiera la aplicación de cámara preinstalada de Google.

Arriba: Vista del depurador en Android 10. Abajo: Misma vista en Android 11.

Como señala Mark Murphy de CommonsWare, Google prescribe una solución para los desarrolladores, aunque no es muy útil. La documentación aconseja verificar explícitamente las aplicaciones de cámara instaladas por sus nombres de paquete, lo que significa que los desarrolladores tendrían que elegir las aplicaciones preferidas por adelantado y enviar a los usuarios a esas aplicaciones directamente. Por supuesto, hay otras formas de obtener opciones sin identificar todos los nombres de los paquetes, como obtener una lista de todas las aplicaciones y luego buscar manualmente los filtros de intención, pero esto parece una complicación excesiva.

El nuevo comportamiento se aplica al menos en la versión beta actual de Android 11, y sucederá con cualquier aplicación, independientemente de si apuntan a API 30 o algo inferior. Todavía no sabemos si Android CTS (Compatibility Test Suite) requerirá este comportamiento o si los OEM podrán volver a cambiarlo a las reglas anteriores, pero es probable que esto se convierta en el estándar en el futuro.

Ciertamente, este no es un cambio devastador, y para muchos usuarios que ya usan su cámara integrada de manera predeterminada, será completamente transparente. Y la mayoría de las aplicaciones aún permitirán a los usuarios cambiar a su cámara preferida para tomar una buena foto y luego subirla desde la galería. Sin embargo, esto significa más trabajo para los usuarios, y es una patada en los pantalones para las personas que regularmente toman fotos de perfil con un filtro o para aquellos que confían en los puertos G Cam para reemplazar su cámara estándar. Además, algunas aplicaciones no permiten diferentes flujos de trabajo, lo que significa que está atascado con cualquier aplicación de cámara que esté allí.

ACTUALIZACIÓN: 2020/08/20 2:11 p. m. PDT POR CODY TOOMBS

Google atribuye el cambio a un posible secuestro de etiquetas geográficas

En una respuesta a The Verge, Google explicó que este cambio se realizó para "evitar que los malos actores potencialmente recopilen su ubicación". Esta explicación también se agregó en una actualización de la lista de cambios en Android 11, junto con más detalles técnicos y una aclaración de que esto no inhibe la capacidad de instalar y usar aplicaciones de cámara de terceros.

Esto está diseñado para garantizar que los metadatos de ubicación EXIF ??se procesen correctamente en función de los permisos de ubicación definidos dentro de la aplicación que envía la intención.

Para recibir metadatos de ubicación EXIF ??de la aplicación de cámara del sistema preinstalada cuando se usan intenciones que tienen una de las acciones de intención anteriores, su aplicación debe declarar ACCESS_MEDIA_LOCATION además del permiso ACCESS_COARSE_LOCATION o ACCESS_FINE_LOCATION .

Si desea que una aplicación de cámara de terceros específica maneje la intención de su aplicación, puede hacerlo especificando explícitamente el nombre del paquete de aplicaciones de cámara de terceros para cumplir con la intención.

Este cambio no afecta la capacidad de los usuarios para instalar y usar cualquier aplicación de cámara para capturar imágenes o videos directamente. Un usuario puede configurar una aplicación de cámara de terceros como la aplicación de cámara predeterminada. Este cambio tampoco afecta las acciones de intención que inician la aplicación de cámara predeterminada especificada por el usuario, incluidos android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA , android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE o android.provider.MediaStore.INTENT_ACTION_VIDEO_CAMERA .

La recolección de datos EXIF ??de esta manera en realidad se documentó en el pasado cuando Shutterfly fue atrapado haciéndolo en 2019. Este cambio restringirá el camino más fácil para secuestrar datos de ubicación, pero deja algunas soluciones como llamar directamente a las aplicaciones de la cámara o pedirles a los usuarios que lo hagan. tomar fotos y cargarlas desde un proveedor de medios. Es posible que Google deba tomar medidas adicionales para cerrar completamente la puerta a esta táctica.

Video:

Ir arriba