Los investigadores descubrieron que muchas aplicaciones de Android en Google Play Store tenían formas de eludir el modelo de permisos de Android para recopilar datos de los usuarios.
A pesar de la percepción del usuario, Android es bastante seguro como sistema operativo móvil. Generalmente aceptamos la premisa de que el eslabón más débil es el usuario; Siempre que observe lo que instala y los permisos que otorga, debería estar a salvo del acceso no autorizado y la distribución de sus datos. Si niegas el acceso a tu ubicación a una aplicación de Android, entonces esa aplicación no debería tener ninguna forma de averiguar dónde estás o dónde has estado. Sin embargo, algunos desarrolladores de aplicaciones han descubierto formas de sortear el modelo de permisos de Android, según investigadores del Instituto Internacional de Ciencias de la Computación (ICSI).
De acuerdo a CNET, el estudio fue presentado el mes pasado en PrivacidadCon después de haber sido divulgado responsablemente tanto a Google como a la FTC en septiembre pasado. Aunque el
documento publicado en el sitio web de la FTC no enumera las aplicaciones exactas que el equipo marcó en su análisis (esos detalles aparecerán más adelante en el Conferencia de seguridad de Usenix el próximo mes), proporciona detalles sobre su método de análisis y cómo las aplicaciones estaban eludiendo el modelo de permisos de Android. Por si sirve de algo, Google dice que los cambios de seguridad y privacidad que Google ha introducido en Android Q cerrará estos métodos de omisión, por lo que este documento proporciona información valiosa sobre las justificaciones de Google para algunos de los cambios de plataforma que han realizado en Android 10. Vamos a sumergirnos.Cómo >1000 aplicaciones eludieron el modelo de permisos de Android
Los investigadores distinguen entre dos técnicas diferentes de elusión de la seguridad: canales laterales y canales encubiertos. Las técnicas de canal lateral implican obtener acceso a información particular de una manera que no está cubierta por el mecanismo de seguridad; por ejemplo, las aplicaciones solían poder rastrear la ubicación de un dispositivo utilizando la dirección MAC hasta que Android Pie introdujo la aleatorización de direcciones MAC. Las técnicas de canal encubierto implican dos servicios que cooperan para enviar datos desde un servicio que tiene acceso válido a otro que no lo tiene; por ejemplo, una aplicación a la que se le ha concedido acceso a la ubicación puede compartir esos datos con una aplicación a la que no se le ha concedido acceso.
El equipo de ICSI analizó 88.113 de las aplicaciones de Android más populares de Google Play Store de EE. UU. y descubrió más de 1.000 aplicaciones y bibliotecas de terceros que Emplear canales laterales y/o canales encubiertos para eludir las medidas de seguridad de Android para que puedan acceder a los datos de ubicación y a los identificadores persistentes de los usuarios. dispositivos. Su conjunto de datos completo constaba de 252.864 APK, ya que el equipo buscaba periódicamente en Play Store nuevas versiones de las 88.113 aplicaciones que planeaban analizar. Inicialmente probaron el comportamiento de cada aplicación en un Nexus 5X ejecutando Android 6.0.1 Marshmallow, pero luego volvió a probar sus hallazgos en un Google Píxel 2 ejecutando Android Pie para demostrar que sus hallazgos aún eran válidos en la última versión en el momento de la divulgación.
Con este conjunto de datos, el equipo desarrolló un método que utiliza análisis dinámico y estático para detectar la elusión del modelo de permisos de Android. En otras palabras, el equipo estudió el comportamiento de la aplicación auditando el comportamiento en tiempo de ejecución de la aplicación (análisis dinámico) o escaneando el código en busca de comportamiento potencialmente malicioso (estático). análisis). Por supuesto, los desarrolladores de aplicaciones maliciosas conocen estas técnicas y utilizan la ofuscación de código y la carga dinámica de código para dificultar el análisis estático o TLS. interceptación para detectar cuándo la aplicación se está ejecutando en un entorno virtualizado, por lo que el equipo de ICSI empleó una combinación de análisis estático y dinámico (análisis híbrido) en su pruebas. Como resultado, el equipo descubrió que aplicaciones que no tenían los permisos requeridos estaban extrayendo los siguientes datos:
- IMEI: Dado que un IMEI es un identificador único y persistente, es útil que los servicios en línea lo rastree para poder rastrear dispositivos individuales. El equipo descubrió que el Salmonadas y Baidu Los SDK utilizaban un canal encubierto para leer el IMEI. Las aplicaciones con acceso legítimo al IMEI almacenaban archivos ocultos en el almacenamiento externo que contenía el IMEI del dispositivo para que otras aplicaciones sin acceso legítimo pudieran leer el IMEI. Las aplicaciones identificadas que utilizan el SDK de Baidu de esta manera incluyen las aplicaciones de parques temáticos de Disney para Hong Kong y Shanghai, Samsung Health y Samsung Browser.
- Dirección MAC de red: La dirección MAC de la red también es un identificador único y normalmente está protegida por el permiso ACCESS_NETWORK_STATE. Según los investigadores, las aplicaciones utilizaban código nativo C++ para "invocar una serie de llamadas no protegidas al sistema UNIX". El equipo identificó 42 aplicaciones que utilizaban el SDK de Unity para abrir una socket de red y un ioctl para obtener la dirección MAC, aunque notaron que 748 de las 12,408 aplicaciones contenían el código en cuestión pero carecían de ACCESS_NETWORK_STATE permiso.
- Dirección MAC del enrutador: El permiso ACCESS_WIFI_STATE protege el BSSID, pero leer el caché ARP en /proc/net/arp permite que una aplicación obtenga esos datos sin necesidad de ningún permiso. El investigador identificó el OpenX SDK utiliza esta técnica de canal lateral.
- Geolocalización: Los investigadores descubrieron que la aplicación Shutterfly estaba accediendo a las etiquetas de ubicación de los metadatos EXIF de las fotos. Todo lo que se requiere es el permiso READ_EXTERNAL_STORAGE.
En Android Q, Google ahora requiere que las aplicaciones tengan el permiso READ_PRIVILEGED_PHONE_STATE para leer el IMEI. Los dispositivos que ejecutan Android Q ahora transmiten direcciones MAC aleatorias de forma predeterminada. Finalmente, Android Q Almacenamiento con alcance Los cambios mitigan la capacidad de las aplicaciones para leer los datos de ubicación de las fotos. Por lo tanto, estas preocupaciones se abordaron en la última versión de Android, pero como todos sabemos, será tomar bastante tiempo para que se propague la última actualización.
Conclusión
En general, este estudio proporciona una mirada esclarecedora sobre cómo algunas aplicaciones acceden a datos que deberían estar protegidos mediante permisos. La investigación sólo analizó un subconjunto de lo que Google llama permisos "peligrosos", en particular omitiendo permisos como Bluetooth, contactos y SMS. Para conocer todos los detalles de este informe, recomiendo leer el documento presentado a la FTC.