Edgar Cervantes / Autoridad Android
TL;DR
- Android 15 podría introducir un nuevo modo de confirmación mejorado que dificulta que las aplicaciones maliciosas aprovechen una laguna del sistema operativo.
- Android impide que los usuarios habiliten fácilmente los servicios de Accesibilidad o Escucha de notificaciones de aplicaciones que se descargan desde fuera de una tienda de aplicaciones.
- Sin embargo, el método que utiliza Android para esto tiene una laguna que Android 15 cerrará.
Aunque la mayoría de los usuarios de Android descargan aplicaciones de tiendas de aplicaciones precargadas como Google Play, algunos usuarios obtienen sus aplicaciones de fuentes alternativas en línea, una práctica llamada descarga lateral. Esto es posible porque Android permite a los usuarios instalar aplicaciones de terceros sin Google Play Store siempre y cuando tengan en sus manos los archivos de instalación de aplicaciones necesarios. La capacidad de descargar aplicaciones libremente es una gran parte de lo que hace de Android una plataforma más abierta que iOS. Desafortunadamente, también es la razón por la que la gente cree erróneamente que Android es menos seguro que iOS.
Esto se debe a que, independientemente de dónde obtenga las aplicaciones, las funciones de privacidad y seguridad integradas de Android garantizan que no puedan acceder a permisos confidenciales sin su consentimiento. Sin embargo, es cierto que descargar aplicaciones de fuentes alternativas en línea conlleva un poco más de riesgo para el usuario promedio en comparación con quedarse con Google Play. Esto se debe a que simplemente es más fácil para los desarrolladores maliciosos distribuir aplicaciones fuera de Google Play, ya que no necesitan lidiar con las regulaciones, la burocracia y el escrutinio que implica la distribución de aplicaciones de Google Play.
Las aplicaciones maliciosas de Android, sin importar de dónde provengan, comúnmente intentan engañar a los usuarios para que les otorguen acceso a las API de Accesibilidad y Escucha de notificaciones debido a su poder. La API de accesibilidad permite a las aplicaciones leer el contenido de la pantalla y también realizar entradas en nombre del usuario, mientras que la API de escucha de notificaciones permite a las aplicaciones leer o tomar medidas sobre cualquier notificación. Estas API se pueden utilizar para cometer fraude publicitario, robar contraseñas de un solo uso (OTP), instalar cargas útiles adicionales y hacer mucho, mucho más.
Si bien Google Play tiene algunas medidas (en su mayoría burocráticas) para garantizar que estas API se utilicen para los fines previstos, el propio Android se basa principalmente en las propias declaraciones de la aplicación para decidir cuánto acceso otorgar. Por ejemplo, a partir de Android 13, el sistema operativo impide que los usuarios habiliten fácilmente los servicios de Accesibilidad o Escucha de notificaciones de aplicaciones que se descargaron desde fuera de una tienda de aplicaciones. Si, por ejemplo, descargaras una aplicación que te enviaron por correo electrónico, Android te impediría habilitar el servicio de Accesibilidad o Escucha de notificaciones de esa aplicación, ya que están marcados como «configuraciones restringidas».
Mishaal Rahman / Autoridad de Android
¿Cómo sabe el sistema operativo cuándo se descargan aplicaciones desde fuera de una tienda de aplicaciones? Determina esto en función de si la aplicación que realizó la instalación utilizó o no las API de instalación basadas en sesiones de Android (que las tiendas de aplicaciones usan comúnmente, pero no exclusivamente) versus las API de instalación no basadas en sesiones de Android (que son comúnmente utilizadas por los administradores de archivos). , navegadores web y otras aplicaciones con soporte genérico para la descarga de archivos). El problema con este enfoque es que cualquier aplicación puede utilizar las API de instalación basadas en sesiones de Android para descargar otra aplicación, lo que significa que no hay garantía de que una tienda de aplicaciones legítima de terceros sea en realidad la que esté realizando la descarga. Lamentablemente, los desarrolladores de aplicaciones maliciosas han reconocido esta laguna en la función de configuración restringida de Android y ya la han estado explotando para eludir esta función de seguridad.
Afortunadamente, Google está trabajando para cerrar esta laguna obvia en la función de Configuración restringida de Android. En Androide 15, la compañía se está preparando para introducir una nueva función de «Modo de confirmación mejorado» que es básicamente una versión más ajustada y mejorada de la Configuración restringida. Aunque la función Modo de confirmación mejorado aún no está habilitada en la última actualización de Android 15 Beta 1.1, analicé el código y expliqué cómo funcionará con cierto detalle.
Para empezar, el texto del cuadro de diálogo Modo de confirmación mejorado coincide mucho con el cuadro de diálogo Configuración restringida existente. Al igual que con las configuraciones restringidas, el cuadro de diálogo de ECM dirá «por su seguridad, esta configuración no está disponible actualmente» cuando intente habilitar el servicio de accesibilidad o escucha de notificaciones de una aplicación. Sin embargo, el diálogo ampliará un poco el razonamiento al agregar que “esta aplicación ha solicitado el permiso de %1$s, que es una configuración restringida porque puede poner en riesgo su seguridad y privacidad. La restricción de este permiso puede impedir que esta aplicación funcione”. Aparte de eso, el resto del diálogo es el mismo, hasta el título y los dos botones.
Una diferencia crucial entre el nuevo modo de confirmación mejorado de Android 15 y la función de configuración restringida de Android 13 es cómo se aplican. En lugar de diferenciar según las API de instalación que se utilizaron, el modo de confirmación mejorado en Android 15 verifica una lista de permitidos que está precargada en la imagen de fábrica. Esta lista de permitidos es un archivo XML ubicado en el /system/etc/sysconfig
ruta de Android 15 y determina qué paquetes e instaladores están exentos de cualquier restricción.
Mishaal Rahman / Autoridad de Android
Cualquier paquete que esté explícitamente incluido en la lista de permitidos en el archivo XML se considera «paquetes confiables» y está exento de las restricciones de ECM. De manera similar, cualquier instalador que aparezca en el archivo XML se considera «instaladores confiables», lo que significa que las aplicaciones que luego instalan son elegibles para estar exentas de las restricciones de ECM. Una aplicación instalada por un «instalador confiable» está exenta de las restricciones de ECM si está marcada como proveniente de una fuente de paquete «confiable» (es decir, no está marcada como PACKAGE_SOURCE_DOWNLOADED_FILE
o PACKAGE_SOURCE_LOCAL_FILE
).
Esto significa que los usuarios se verán obligados a ver el cuadro de diálogo Modo de confirmación mejorado si intentan habilitar el servicio de Accesibilidad o Escucha de notificaciones de una aplicación, siempre que la aplicación provenga de un instalador que no sea de confianza o de una fuente que no sea de confianza. Esto cerraría efectivamente la laguna que existía en la función de Configuración restringida de Android 13, lo que dificultaría que las aplicaciones maliciosas de terceros obtengan permisos altamente privilegiados.
Desafortunadamente, no estoy seguro de si será posible seguir habilitando el servicio de escucha de notificaciones o accesibilidad de una aplicación legítima descargada si se ve afectada por restricciones de ECM. Es posible deshabilitar la configuración restringida para una aplicación, por lo que también debería ser posible con restricciones de ECM, pero no puedo decirlo con seguridad ya que todavía no he podido hacer que la función funcione en Android 15.
Mishaal Rahman / Autoridad de Android
También vale la pena señalar que actualmente, el sistema no incluye ningún paquete ni instalador en la lista permitida a partir de Android 15 Beta 1.1. Si ECM estuviera habilitado, esto significaría que todas las aplicaciones estarían exentas de las restricciones de ECM, excepto aquellas marcadas como provenientes de una fuente no confiable. Sin embargo, dado que ECM no está habilitado y no hay instaladores o paquetes incluidos en la lista, no tengo ninguna información sobre cómo Google planea usar esta función. ¿Google exigirá que Play Store aparezca como instalador confiable en todos los dispositivos Android? ¿Cuáles tiendas de aplicaciones de terceros, si las hay, incluirán en la lista permitida Google y los OEM? Estas son preguntas para las que no sé la respuesta, pero de todos modos, me alegra ver que Google toma medidas para mejorar la seguridad en Android y espero conocer más detalles sobre el modo de confirmación mejorado en Android 15.