4 votos

El sistema de permisos cambia con Android 6.0: ¿Cuáles son las implicaciones para nosotros los usuarios?

Con Android 6.0, se han eliminado un montón de permisos y grupos de permisos :

Grupos desaparecidos

Aunque a primera vista esto no parece importante (¿no es más bien una forma de organizar los permisos?), si se piensa dos veces se revela una gran importancia aquí: A partir de Android 6 (y con la Play Store incluso antes), si una actualización de una aplicación solicita un permiso de un grupo del que ya tenía uno en una versión anterior instalada, este "nuevo permiso" no se pone en conocimiento del usuario. Con Android 6, incluso se concede automáticamente entonces. También hay que tener en cuenta que el usuario (con "capacidades nativas de Android") sólo puede revocar el acceso a grupos enteros, no a permisos individuales - por lo que menos grupos significan menos flexibilidad, hasta la inutilidad de toda la función.

Según el enlace mencionado anteriormente, se han eliminado los siguientes grupos:

ACCOUNTS , AFFECTS_BATTERY , COST_MONEY , DISPLAY , MESSAGES , NETWORK , PERSONAL_INFO , PHONE_CALLS , SCREENLOCK , SOCIAL_INFO , SYSTEM_CLOCK , SYSTEM_TOOLS , USER_DICTIONARY , WALLPAPER

Los permisos han desaparecido

Menos permisos que cubran más formas de acceder a los datos personales significan una pesadilla para la privacidad. En cuanto a las cuentas, ya he planteado esta cuestión: Android 6+ y los permisos de las cuentas: ¿a dónde han ido a parar? Como hemos comprobado allí, lo que antes se solucionaba con el ya inexistente USE_CREDENTIALS ahora se ha trasladado a los contactos (no estoy seguro de si de lectura o de escritura): así que si deseas "iniciar sesión con Google" (o con cualquier otro titular de la cuenta), ¡tienes que dar a la aplicación acceso completo a tu lista de contactos! La ventana emergente de la captura de pantalla ("¿Permitir que Stack Exchange acceda a tus contactos?") aparece inmediatamente al pulsar el botón "Iniciar sesión con Google".

Así que junto a la mayoría de los permisos de las cuentas (excepto GET_ACCOUNTS , todos ellos han desaparecido), que se tratan en mi otra pregunta ya enlazada, se han eliminado los siguientes permisos:

ACCESS_MOCK_LOCATION (ahora hay que configurar una única app que maneje el MOCK_LOCATION que he visto mencionado ), CLEAR_APP_USER_DATA , GET_TOP_ACTIVITY_INFO , HARDWARE_CONTROLS , HARDWARE_TEST , INJECT_EVENTS , INTERNAL_SYSTEM_WINDOW , READ_HISTORY_BOOKMARKS , READ_PROFILE , READ_SOCIAL_STREAM , READ_USER_DICTIONARY , SET_ACTIVITY_WATCHER , SET_ORIENTATION , SET_POINTER_SPEED , STATUS_BAR , SUBSCRIBED_FEEDS_READ , SUBSCRIBED_FEEDS_WRITE , VOICEMAIL , WRITE_HISTORY_BOOKMARKS , WRITE_PROFILE , WRITE_SMS , WRITE_SOCIAL_STREAM

¿Qué significa esto para los usuarios y su privacidad?

Esta es mi principal preocupación. Lamentablemente (casi se podría decir que "como era de esperar"), no se ha hecho ninguna declaración oficial al respecto, o yo ya estaba al tanto de esos cambios desde hace tiempo. Espero que algunos de nuestros miembros, que también son desarrolladores, tengan una visión más profunda y puedan ayudarnos con algunas explicaciones y consejos:

  • ¿se han eliminado simplemente esos grupos/permisos (o algunos simplemente han sido renombrados/sustituidos por otros)?
  • ¿cómo se protegen ahora los datos que antes estaban cubiertos por ellos?
  • ¿cuáles son las implicaciones para los usuarios y su privacidad, y qué podemos hacer al respecto?
    • con respecto al "hazlo": seguro que hay Root, XPosed y Xprivacy (¿cómo se las arregla este último con esos cambios?) - pero también me refiero aquí al "usuario medio" sin Root.

1 votos

Respuesta corta: Google está loco. La "revisión de permisos" era más bien un drenaje de permisos. La mayoría de los permisos se metieron en grupos (sueltos): para iniciar sesión en Google en una aplicación, se necesitan tus contactos. Lo máximo que podemos hacer es mirar la pestaña de permisos en la parte inferior de la página de una aplicación en la tienda y ver los permisos. Eso, o amenazar con cambiar a IOS ;)

0 votos

@DanBrown Eso fue lo que pensé al ver la "lista completa de permisos" primero pensé que era un ejemplo acortado. No, ya no estoy seguro, pues vi en el abovedado diff enlazado lo que se eliminó todo con MM (y no comprobé aún si acabaron con menos de 10 permisos en N). Sigo buscando detalles sobre las implicaciones y cómo lidiar con ello. También, ¿cómo los administradores de permisos hacer frente a ella? ¿Xprivacy sigue cubriendo todo? Antes de saberlo, definitivamente no me cambiaré a MM (o superior).

0 votos

MM lo maneja mal. Tenía sus usos, pero la mayoría de las aplicaciones sólo se quejan, aunque el grupo de permisos deshabilitado es inútil. Xprivacy cubre la mayoría de las cosas AFAIK, no he rooteado mi dispositivo MM todavía. Por supuesto, todavía podemos modificar las aplicaciones para eliminar los permisos que no nos gustan, pero eso es demasiado tiempo.

1voto

Dan B Puntos 31

Como dije arriba (en algún lugar) El nuevo sistema de permisos es una fuga que demuestra que una idea nueva no suele ser una buena idea.

Atención: el problema es que no se puede hacer nada. ¡Esto puede llevar un poco de tiempo para leer, ya que voy a hablar de la historia de Android, y más! ¡Ve y toma un trago!

¿Estás bien? Muy bien, atrinchérate.

Los orígenes del nuevo sistema de permisos

Cuando Google comenzó a trabajar en una forma de conceder y denegar permisos a la fuerza sobre la marcha, fue en Android 4.3. Era un lío con errores, así que lo ocultaron. Sin embargo, todavía se puede utilizar creando un acceso directo al menú de configuración de las operaciones de la aplicación. Este menú era muy similar al de las aplicaciones actuales, pero al tocar una opción aparecían inmediatamente las opciones de permisos. También tenías que descubrir los permisos antes de poder alternarlos, y era un lío de errores, ya que las aplicaciones se preguntaban qué diablos estaba pasando porque habías desactivado algo, y se bloqueaban inconvenientemente. Sí.

El sistema se eliminó una vez que los modders lo encontraron (por lo que se eliminó en la 4.4), 1 pero hizo su regreso en Marshmallow. Tenía muy buena pinta: por fin podías elegir si cosas como Facebook podían captar tu ubicación (aunque lo pedía amablemente). Incluso algunas aplicaciones de Google, como Hangouts, no están a salvo de tus decisiones. Pero entonces nos topamos con el problema: el sistema sigue roto, solo que de una manera nueva: los permisos fueron fuertemente ajustados.

¿Quieres que Stack Exchange se conecte a través de Google? Necesita permisos de contacto (aunque los desarrolladores de SE lo han solucionado). 2 ¿Quieres subir imágenes a Facebook? Necesita ver todos tus archivos. ¿Por qué? Compresión . Los permisos son ahora concedidas en grupo, donde pedir tu cuenta de Google también permite a las aplicaciones ver todos los contactos del dispositivo. Dudo que esa fuera la intención, pero la eliminación de la mayoría de los permisos significó que tuvieron que simplificar el campo de juego; la mayoría de los permisos eliminados fueron simplemente empujados en grupos supergenerales .

Algunos de los permisos se han eliminado debido a los nuevos SDK. GET_ACCOUNTS Ahora se activa un nuevo SDK que permite el inicio de sesión de Google, pero vuelve a hacerlo a través de los permisos de los contactos si una aplicación no lo soporta. Eso explica que uno (incluyendo la forma en que la aplicación SE fue finalmente fijado), pero algunos de los otros no reciben ese tratamiento. AFAIK, las aplicaciones pueden leer casualmente el diccionario a través del teclado. La mayoría de los otros permisos que menciona Izzy parecen estar relacionados con los grupos modificados: La mayoría encajan en el Godmission 'Modificar la configuración del sistema' (permisos separados de los principales) y 'acceso de uso'. Algunos otros son manejados por las propias aplicaciones.

Por lo tanto, todo lo que no se le dio un nuevo hogar fue eliminado. A veces, esto tenía sentido (sólo necesitamos GET_ACCOUNTS para activar el SDK) Mientras que otras veces, te daban ganas de meter una bala en el teléfono: oh sí, te dejaré acceder a mis contactos, pareces estar bien. Claro, accede a mis llamadas y malgasta mi dinero. (Esperemos que nadie esté que tonto. Ojalá).

Al principio, pensé ¡yupi! ¡Simplificación! Pero permite que aplicaciones aparentemente legítimas hagan cosas ilegítimas MUCHO más fácilmente. Tu herramienta de hackeo de Minecraft que quiere tu cuenta de Google probablemente también esté robando tus contactos. Y vendiéndolos.

A esto se suma el sistema de bloqueo de permisos, que permitía ajustar los permisos de las aplicaciones. Es genial, pero no funciona. En absoluto. También es inexacto (por ejemplo, dice que Stack Exchange lee mis SMS'. No, no lo hace) y es simplemente horrible.

¿Pero qué significa eso para mi privacidad?

Personalmente pienso una de dos cosas:

  1. El nuevo sistema de permisos se ha diseñado para permitir cambios sencillos y rápidos en aras de la seguridad. Los permisos se conceden ahora en grupos, lo que explica la eliminación de algunos: Google pensó que dejarlos bajo un gran encabezado era una buena idea (y para el usuario final, veo por qué: controlar cada permiso individual podría ser tedioso). Por supuesto, como el comunismo, sólo era bueno en papel En realidad, es una farsa que no quieren admitir. Es justo.

  2. Sin embargo, podrían estar haciendo esto para obligar a más aplicaciones a utilizar su SDK para aliviar los permisos sospechosos (no los culpo) y por lo tanto hacer más dinero. Está demostrado que lo están haciendo (y están tratando de hacer que Android menos de código abierto) que me disgusta.

Así que para el usuario final, es como un poco de iOS, es decir, algo que se ve bien, pero es una mierda. ¿Pero se puede arreglar? Más o menos.

Las "soluciones".

Método 1- Xprivacy (BOI con necesidad de root)

Xprivacy sí funciona en Marshmallow, según sus desarrolladores, claro. Requiere meterse en todo tipo de detalles en MM ahora, y hay arranque verificado . Lo que es un dolor, ya que probablemente obtendrá una advertencia roja o amarilla, que puede impedir el arranque. (Dependiendo de su suerte, y la cantidad de desorden que ha hecho.) Pero si usted puede conseguir Xprivacy trabajando, es bastante fácil.

Debido a la actitud de "No arrancará a tope" que aparentemente adoptará N, puede ser incluso más una pesadilla conseguir que funcione.

2017 EDIT - Los desarrolladores de Xposed están trabajando para evitar todo esto (¡yay!) Si encuentro el post en XDA, lo enlazaré

MÉTODO 2 - Bloqueo total de todo.

Esto es realmente complicado, pero permite el máximo control (en la medida de lo posible). Concedes los permisos de la aplicación cuando es absolutamente necesario, y luego te apresuras a desactivarlos de nuevo. Probablemente será más fácil una vez que Nougat cae en más dispositivos, por lo que la multi-ventana se puede utilizar.

MÉTODO 3 - No actualizar (lo que yo llamo la "solución Izzy")

Si has buscado cuando te lo he dicho, te habrás dado cuenta de cuál es el método de Izzy: simplemente te abstienes de actualizar a Marshmallow o Nougat. Boo-Hoo, lo sé, pero ninguno de los dos es un cambio de juego, realmente. Dale a .... Seis meses, y la mayoría de las porquerías para N estarán en la play store, si realmente las quieres. Por lo tanto, la solución Izzy significa seguir con la definitivamente capaz 5.1.1 o inferior. Puedo vivir, y tú también.

MÉTODO 4 - BOMBARDEO DESDE LA ÓRBITA.

(Sólo para complacer a las masas. Para que sepas, esto sería imposible).

Nuke it

O bien, ignorarla. Tú decides.


EDITAR Izzy encontró un enlace a un Pregunta de Stack Overflow Eso explica que Credenciales, Como Logins para iniciar sesión en varias aplicaciones entran en un "permiso normal" ( nivel de protección "normal"), es decir, cualquier aplicación puede acceder a ellos sin que lo sepas. Por suerte, algunas aplicaciones e inicios de sesión te permitirán eliminar esto a través de sus administradores de cuentas, dependiendo de lo malicioso que el dispositivo esté tratando de ser.

EDITAR 2 Se me olvidó decir que se pueden eliminar las aplicaciones de las cuentas :) Utilizaré los sistemas de cuentas de Google y de aplicaciones de Facebook como ejemplos, ya que son los más utilizados.

Cuentas de Google

  1. Dirígete a accounts.google.com o abre la configuración de Google play (varía según el dispositivo, normalmente es un engranaje con una g)
  2. Buscar aplicaciones/Aplicaciones conectadas/Aplicaciones y servicios conectados (de nuevo, varía)
  3. Busque lo que desea eliminar y haga clic en "eliminar".

¡HECHO!

Facebook

  1. Iniciar sesión en el sitio
  2. Dirígete a la configuración de la cuenta > aplicaciones
  3. Busque la aplicación de destino y haga clic/toque en eliminar.

¡Hecho!

Espero que eso ayude. Si no es así, simplemente deja un comentario, ya sabes lo que hay que hacer. Trabajaré en ello de todos modos. Hecho, pero aún así hazme saber si me he dejado algo.


1 Hubo diferentes intentos por parte de Google para "ocultarlo mejor", y diferentes versiones de frontales de AppOps lo trajeron entonces para 4.4 y 5.0, pero no más

2 Al parecer, las aplicaciones pueden utilizar voluntariamente un nuevo SDK que permite el inicio de sesión de Google sin el permiso de los contactos. Ver <a href="https://meta.stackexchange.com/questions/285589/how-does-the-new-sign-in-system-work-for-the-android-app/">aquí para más detalles </a>.

1 votos

@Izzy Ok, puedo aclarar que esto sólo se aplica a google Sign-In. Otras aplicaciones parecen utilizar sus propios métodos, por ejemplo, la mayoría de las aplicaciones tienen sólo una URL simple para el inicio de sesión de Facebook, pero se activa la aplicación si se instala y que lo gestiona. Otras aplicaciones tienen sus propios métodos, o no lo hacen. (Además, por agrupación me refiero a los toggles de permisos. Sólo nos permite separarlos).

0 votos

Se adapta. Acabo de encontrar a través de Android 6 Marshmallow: las solicitudes de algunos permisos específicos se deniegan instantáneamente sin que se muestre la ui que, por ejemplo _USE_CREDENTIALS es un permiso seguro ahora_ - lo que significa que el usuario no puede negarlo. Lee de nuevo, piensa: Así que cualquier aplicación puede usar cualquiera de mis cuentas sin mi aprobación, a menos que no la instale. Genial. Oh, espera: entonces nada ha cambiado, era lo mismo con LP y antes </sarkasm>.

0 votos

Eliminar las aplicaciones de las cuentas: es una gran mejora para el usuario. Ahora tendrá que averiguar qué aplicación es el proveedor de la cuenta, además de dónde y cómo (si es que permite) tratar con esto: En la aplicación, en algún sitio web, o en cualquier otro lugar... <susto>

0voto

Izzy Puntos 45544

Resumiendo mis propias conclusiones, que pueden coincidir con La respuesta de Dan :

Origen

Google comenzó con el nuevo sistema de permisos con Android Jellybean 4.3. La intención oficial (revelada más tarde) era dar a los usuarios cierto control sobre los permisos a los que una aplicación debería tener acceso ("permiso bajo demanda") - en lugar del "todo o nada" existente en ese momento (si no te gustaba que una aplicación tuviera un determinado permiso: o vives con ello, o no la instalas). La interfaz de AppOps se ocultó, pero pronto se reveló, se volvió a ocultar (Kitkat/4.4), se volvió a revelar, y lo mismo una tercera vez con LP/5.0, tras lo cual se protegió de forma difícil de eludir.

Estado actual

Finalmente, AppOps apareció con Marshmallow/6.0. Pero en lugar de dar a los usuarios un control de permisos de grano fino, los permisos son de grano fino y el control es más bien crudo; si, por ejemplo, quieres que tu aplicación de viajes sea capaz de añadir tus reservas a tu calendario, pero no de leer tus otras entradas del calendario: no hay manera. O se prohíbe el acceso al calendario, o se permite. Lo mismo ocurre con otros permisos, ya que AppOps sólo se ocupa de los grupos. 1

Además, muchos permisos se han eliminado por completo o se han asignado a Nivel de protección "normal" - por lo que se conceden automáticamente y no pueden ser revocadas por el usuario. Este es el caso, por ejemplo, del INTERNET permiso, sino también para USE_CREDENTIALS (por lo que cualquier aplicación con este permiso puede utilizar cualquiera de sus cuentas sin su aprobación explícita) o incluso BLUETOOTH_ADMIN (empareja tu Droid con cualquier dispositivo BT a tu alcance). Para obtener una lista detallada, consulte este Gist .

Además, se han añadido nuevos niveles de protección: appop para los permisos que el usuario tiene que conceder explícitamente a través del nuevo sistema "on demand", pre23 para los permisos concedidos automáticamente si una aplicación se dirige a una versión inferior a MM (es decir, antes de que se introdujeran los "permisos de ejecución"), preinstalled para las aplicaciones que vienen con la ROM (no está claro cómo Android diferencia esto de system que pasó a llamarse privileged ), más 3 más.

Estado actual resumido

Básicamente, ahora estamos peor:

  • El número de permisos se ha reducido drásticamente, lo que significa una protección menos granular
  • muchos permisos se han trasladado al nivel de protección normal (y, por tanto, fuera del alcance de AppOps)
  • AppOps (permiso en tiempo de ejecución) es más bien cosmético debido a su falta de granularidad y a que deja fuera permisos esenciales
  • Las aplicaciones pueden solicitar permisos adicionales con una actualización. Si ya tienen un permiso en el mismo grupo, el usuario no es notificado ("no requiere ningún permiso especial adicional", ¿te suena?). Al reducirse también el número de grupos de permisos, resulta incluso más fácil "colar algo".

Así que en la mayoría de los casos esto significa lo mismo que antes de MM: si no te gusta que una aplicación tenga un determinado permiso, no la instales.

¿Cómo afrontarlo desde la perspectiva del usuario?

Pueden aplicarse simultáneamente varios de los elementos de la siguiente lista incompleta. Elija su opción:

  • No actualices más allá de LP si no te gusta eso (y puedes vivir ciñéndote a LP). Eso es lo que hago yo, hasta que se solucione este lío.
  • No instales aplicaciones si no quieres darles acceso a lo que piden.
  • Cuando instales una actualización, no te fíes de la indicación "sin permisos adicionales". Compruebe en detalle antes de aplicar la actualización. Esto no es tan fácil como solía ser, ya que normalmente no se ve al lado de qué permisos tiene ya una aplicación y en qué se diferencian de los solicitados por la actualización. En la aplicación Playstore, todavía se obtiene la lista completa al desplazarse hasta el final de la página de una aplicación y pulsar el enlace "detalles de los permisos". No ignore la sección "Otros" al final de la lista, ya que incluye cosas como INTERNET , BLUETOOTH_ADMIN y otras "sorpresas".
  • para proteger su dispositivo de las aplicaciones fraudulentas que acceden a Internet, considere el uso de un Aplicación de cortafuegos . Hay buenas que ni siquiera requieren Root y son FOSS, como Netguard .
  • si Root es una opción, y la instalación del framework XPosed también lo es (ambos disponibles para MM, pero la instalación puede ser bastante complicada con N), utilice un gestor de permisos como Xprivacy para un control granular de los permisos.

1: Obviamente, el usuario no debería estar "sobrecargado". Aun así, podría haber un "modo avanzado" para tratarla.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X