Las aplicaciones Google Camera y Samsung Camera expusieron sus intenciones de cámara y video a aplicaciones de terceros, lo que generó una vulnerabilidad de omisión de permisos.
En comparación con iOS, Android ofrece a las aplicaciones muchas formas de interactuar entre sí, lo que permite a los desarrolladores crear algunas de las funciones más comunes de Android que esperamos y amamos. Esto es posible gracias al sistema Intent de Android, que permite que cualquier aplicación envíe cualquier intención que desee y permite que las aplicaciones receptoras manejen estas intenciones de manera creativa. Pero resulta que la aplicación Google Camera y la aplicación Samsung Camera han dejado sus intenciones de cámara y video expuestas a terceros. aplicaciones, lo que deja la puerta abierta a posibles usos indebidos al eludir permisos críticos, como lo demostraron los investigadores de seguridad de jaquemarx.
Intenciones en Android se describen como "Objetos de mensajería que facilitan la comunicación entre los componentes de la aplicación.
", que en términos más simples significa que Intent permite que las aplicaciones se envíen datos entre sí. Por ejemplo, cuando intentas compartir un archivo desde un administrador de archivos con una aplicación como WhatsApp, estás enviando una intención a WhatsApp con los archivos como datos. Cualquier aplicación puede enviar cualquier intención que desee, y depende de la aplicación receptora decidir qué intenciones quiere escuchar, definiéndolas en su archivo de manifiesto. La aplicación receptora también decide cómo reaccionar ante esos intentos. Además, la aplicación receptora también puede garantizar que las acciones se realicen solo cuando se envía una intención desde aplicaciones específicas incluidas en la lista blanca (intenciones explícitas) o de aplicaciones que tienen ciertos permisos (protegidas) intenciones). Resulta que los malos actores pueden aprovechar las intenciones desprotegidas en las aplicaciones de cámara antes mencionadas.jaquemarx descubrió que la aplicación Google Camera y la aplicación Samsung Camera tenían intenciones desprotegidas de activar acciones como tomar una foto y grabar un video. Una intención desprotegida en este contexto significa que la aplicación receptora no verifica si la aplicación que envía la intención tiene el permiso necesario para realizar la acción por sí misma. permiso.android. CÁMARA en este caso. La actividad de la cámara, com.google.android. GoogleCamera/com.android.camera. Actividad de la cámara, también era una actividad exportada, lo que significa que otras aplicaciones podrían solicitarla. La intención desprotegida y la actividad exportada conducen a una vulnerabilidad de elusión de permisos.
Por lo tanto, se podría construir una aplicación maliciosa que no tendría permiso de CÁMARA, pero aún así podría operar ciertos funciones de la cámara enrutandolas a través de estas aplicaciones de cámara y aprovechando sus intenciones desprotegidas y exportadas actividad.
Como prueba de concepto, jaquemarx Creó una aplicación meteorológica ficticia que no tenía el permiso de CÁMARA, pero venía con un único permiso de ALMACENAMIENTO, uno que no parecía fuera de servicio para una aplicación meteorológica. Sin el permiso de la cámara, la aplicación meteorológica pudo activar Google Camera y Samsung Camera para tomar fotos y grabar videos. El permiso ALMACENAMIENTO entra en juego al acceder a esta y a todas las demás fotos y videos guardados en /DCIM; no es necesario para las acciones de hacer clic en fotos y grabar videos.
En el peor de los casos, esta vulnerabilidad se puede aprovechar para hacer cosas como grabar el vídeo del usuario durante una llamada, extraer la ubicación información de los metadatos GPS de las fotos si el etiquetado de ubicación está habilitado en la aplicación de la cámara (y obtiene efectivamente la ubicación actual del teléfono), y más.
Por supuesto, la interfaz de usuario indica que se está accediendo a la cámara, pero esto también se puede solucionar haciendo uso del sensor de proximidad para medir cuándo la pantalla del teléfono está apagada y así escapar de la atención del usuario. atención. Una aplicación maliciosa también podría silenciar el volumen del teléfono y silenciar efectivamente el dispositivo cuando toma una foto o graba un video.
jaquemarx afirma que la vulnerabilidad, denominada CVE-2019-2234, también existe en aplicaciones de cámara de otros proveedores de teléfonos inteligentes. Pero los investigadores no nombraron qué proveedores y dispositivos se vieron afectados, aparte de Google y Samsung. Si otras aplicaciones de cámara han exportado actividades para iniciar la captura de fotos y la grabación de video, y tienen intentos desprotegidos que no verifican el permiso disponible para la aplicación de llamadas, también son afectado.
Dado que esto no es una vulnerabilidad dentro de la plataforma Android o el kernel de Linux, no se puede incluir ni implementar como parte del Boletín de seguridad de Android. La vulnerabilidad se solucionó en la aplicación Google Camera mediante una actualización de la aplicación en julio de 2019, y lo mismo también Se ha solucionado en la aplicación Samsung Camera, aunque no hay información específica sobre cuándo se lanzó esta actualización. afuera.
En versiones sin parches de Google Camera, puede forzar que se grabe un vídeo a través de esta vulnerabilidad ejecutando el siguiente comando ADB:
adb shell am start-activity -n
com.google.android.GoogleCamera/com.android.camera.CameraActivity --ez
extra_turn_screen_ontrue-aandroid.media.action.VIDEO_CAMERA--ez
android.intent.extra.USE_FRONT_CAMERAtrue
Si usa Google Camera o Samsung Camera, asegúrese de actualizar a la última versión de la aplicación de la cámara en su dispositivo, implementada a través de Play Store o mediante una OTA, según sea el caso.