Con Android 6.0, se han eliminado un montón de permisos y grupos de permisos :
Si bien a primera vista esto no parece importante (¿no es más bien una forma de organizar los permisos?), pensar dos veces revela una gran importancia aquí: a partir de Android 6 (y con Playstore incluso antes), si una aplicación update solicita un permiso de un grupo del que ya tenía uno en una versión instalada anterior, este "nuevo permiso" no se pone en conocimiento del usuario. Con Android 6, incluso se otorga automáticamente. También tenga en cuenta que el usuario (con "capacidades nativas de Android") solo puede revocar el acceso a grupos completos, 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
Menos permisos que cubran más formas de acceder a datos personales significan una pesadilla para la privacidad. Con respecto a las cuentas, ya planteé esta pregunta: Android 6+ y permisos de cuenta: ¿a dónde han ido? Como descubrimos allí, lo que antes se trataba con el USE_CREDENTIALS
permiso que ya no existía, ahora se movió a los contactos (no estoy seguro si leer o escribir): así que si desea "iniciar sesión con Google" (o cualquier otro titular de cuenta), ¡Necesitas darle a la aplicación acceso completo a tu lista de contactos! La ventana emergente en la captura de pantalla ("¿Permitir que Stack Exchange acceda a sus contactos?") Apareció inmediatamente al tocar el botón "Iniciar sesión con Google".
Entonces, junto a la mayoría de los permisos de la cuenta (a excepción de GET_ACCOUNTS
, todos desaparecieron), que se tratan en mi otra pregunta ya vinculada, se eliminaron los siguientes permisos:
ACCESS_MOCK_LOCATION
(¿ahora uno tiene que configurar una sola aplicación 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
Esta es mi principal preocupación aquí. Desafortunadamente (casi se podría decir "como se esperaba"), no se hizo ninguna declaración oficial al respecto, o ya había estado al tanto de esos cambios hace un 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:
Como dije arriba (en alguna parte), el nuevo sistema de permisos es un drenaje que muestra que una nueva idea no suele ser una buena idea.
¿Estás bien? Muy bien, profundice.
Cuando Google comenzó a trabajar en una forma de otorgar y denegar permisos sobre la marcha por la fuerza, era Android 4.3. Era un desastre de buggy, así que lo escondieron. Sin embargo, aún se puede usar creando un acceso directo al menú de configuración de operaciones de la aplicación. Este menú era muy similar al menú de aplicaciones actual, pero al tocar una opción aparece inmediatamente las opciones de permisos. También tenía que descubrir los permisos antes de poder alternarlos, y fue un desastre porque las aplicaciones se preguntaban qué demonios estaba pasando porque deshabilitó algo y se bloqueó inconvenientemente. Hurra.
El sistema se eliminó una vez que los modders lo encontraron (por lo que se eliminó en 4.4), 1 pero regresó en Marshmallow. Se veía muy bien: finalmente podías elegir si cosas como Facebook podían tomar tu ubicación (aunque lo pedía amablemente). Incluso algunas aplicaciones de Google, como Hangouts, no están a salvo de tus decisiones. Pero luego nos encontramos con el problema: el sistema aún está dañado, solo que de una manera nueva: los permisos se modificaron en gran medida.
¿Quieres que Stack Exchange inicie sesión a través de Google? Necesita permisos de contactos (aunque los desarrolladores de SE lo arreglaron por su parte). 2 ¿Quieres subir imágenes a Facebook? Necesita ver todos sus archivos. ¿Por qué? Compresión _ Los permisos ahora se otorgan en grupos, donde solicitar su cuenta de Google también permite que las aplicaciones vean todos los contactos en el dispositivo. Dudo que fuera la intención, pero la eliminación de la mayoría de los permisos significó que tenían que simplificar el campo de juego; la mayoría de los permisos eliminados se colocaron en grupos supergenerales .
Se han eliminado algunos de los permisos debido a los nuevos SDK. GET_ACCOUNTS
Ahora activa un nuevo SDK que permite el inicio de sesión de Google, pero recurre a hacerlo a través de los permisos de contactos si una aplicación no lo admite. Eso explica ese (incluyendo cómo finalmente se arregló la aplicación SE), pero algunos de los otros no reciben ese tratamiento. AFAIK, las aplicaciones pueden leer el diccionario de manera casual independientemente del teclado. La mayoría de los otros permisos que menciona Izzy parecen correlacionarse con grupos modificados: la mayoría encaja en la Godmission 'Modificar configuración del sistema' (permisos separados de los principales) y 'acceso de uso'. Algunas otras son manejadas por las propias aplicaciones.
Entonces, todo lo que no recibió un nuevo hogar fue asesinado. A veces, esto tenía sentido (solo necesitamos GET_ACCOUNTS
activar el SDK) Mientras que otras veces, te daban ganas de poner una bala en tu teléfono: oh sí, te dejaré acceder a mis contactos, pareces estar bien. Claro, acceda a mis llamadas y malgaste mi dinero. (Ojalá nadie sea tan tonto. Ojalá.)
Al principio, pensé ¡sí! ¡Simplificación! Pero permite que aplicaciones aparentemente legítimas hagan cosas ilegítimas MUCHO más fácilmente. Su herramienta de pirateo de Minecraft que quiere su cuenta de Google probablemente también esté robando sus contactos. Y vendiéndolos.
Esto se ve agravado por el sistema de bloqueo de permisos, que le permitió ajustar los permisos de la aplicación. Es genial, pero no funciona. En absoluto. También es inexacto (por ejemplo, dice que Stack Exchange lee mis SMS'. No, no, no lo hace) y es simplemente horrible.
Yo personalmente pienso una de dos cosas:
El nuevo sistema de permisos fue diseñado para permitir cambios simples y rápidos con fines de seguridad. Los permisos ahora se otorgan en grupos, lo que explica por qué algunos se eliminan: Google pensó que dejarlos bajo un encabezado grande 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, solo era bueno en el papel ; en realidad, es un desastre que no quieren admitir. Me parece bien.
Sin embargo, podrían estar haciendo esto para obligar a más aplicaciones a usar su SDK para romper permisos sospechosos (no los culpe) y, por lo tanto, ganar más dinero. Está demostrado que lo están haciendo (y están tratando de hacer que Android sea menos de código abierto), lo que me disgusta.
Entonces, para el usuario final, es como un poco de iOS, con lo que me refiero a algo que se ve bien, pero es una mierda. Pero se puede arreglar? Un poco.
Xprivacy funciona en Marshmallow, según sus desarrolladores, por supuesto. Requiere jugar con todo tipo de bits complicados en MM ahora, y hay un arranque verificado . Lo cual es un dolor, ya que probablemente recibirá una advertencia roja o amarilla, lo que puede impedir el arranque. (Dependiendo de su suerte y de la cantidad de líos que haya hecho). Pero si puede hacer que Xprivacy funcione, es bastante fácil.
Debido a la actitud de 'No arrancará FULL STOP' que N aparentemente tomará, incluso puede ser más una pesadilla trabajar en eso.
EDICIÓN DE 2017: los desarrolladores de Xposed están trabajando para solucionar todo esto (¡sí!) Si encuentro la publicación en XDA, la vincularé
Esto es realmente complicado, pero permite el máximo control (en la medida de lo posible). Otorgas permisos a las aplicaciones cuando es absolutamente necesario, luego haces una carrera loca para volver a desactivarlos. Probablemente será más fácil una vez que Nougat caiga en más dispositivos, por lo que se pueden usar ventanas múltiples.
Si miraste hacia arriba cuando te lo dije, es posible que hayas notado cuál es el método de Izzy: simplemente te abstienes de actualizar a Marshmallow o Nougat. Boo-Hoo, lo sé, pero tampoco cambia el juego, en realidad. Dale... Seis meses, y la mayor parte de la basura para N estará en la tienda de juegos, si realmente la quieres. Entonces, la solución de Izzy significa quedarse con el 5.1.1 definitivamente capaz o inferior. Puedo vivir, y tú también.
(Solo para complacer a las masas. Para su información, esto sería imposible).
O ignóralo. Tu llamada.
EDITAR Izzy encontró un enlace a una pregunta de desbordamiento de pila que explica que las credenciales, como los inicios de sesión para iniciar sesión en varias aplicaciones , se encuentran bajo un 'permiso normal' ( nivel de protección "normal"), es decir, cualquier aplicación puede acceder a ellos sin que usted lo sepa. Afortunadamente, algunas aplicaciones e inicios de sesión le permitirán eliminar esto a través de sus administradores de cuentas, dependiendo de cuán malicioso intente ser el desarrollador.
EDIT 2 Olvidé decir que puede eliminar aplicaciones de las cuentas :) Usaré los sistemas de cuentas de Google y cuentas de aplicaciones de Facebook como ejemplos, ya que son los más utilizados.
¡HECHO!
¡Hecho!
¡Espero que ayude! Si no, solo deja un comentario, ya conoces el ejercicio. Estaré trabajando en ello de todos modos. Listo, ¡pero avísame si me perdí algo!
1 Hubo diferentes intentos realizados por Google para "ocultarlo mejor", y diferentes versiones de las interfaces de AppOps lo trajeron en ese entonces para 4.4 y 5.0, pero no más
2 Aparentemente, las aplicaciones pueden usar voluntariamente un nuevo SDK que permite el inicio de sesión de Google sin el permiso de los contactos. Vea aquí para más detalles .
USE_CREDENTIALS
, sea un permiso seguro ahora , lo que significa que el usuario no puede negarlo. Vuelve a leer, piensa en: Entonces, cualquier aplicación puede usar cualquiera de mis cuentas sin mi aprobación, a menos que no la instale. Gran. Oh, espera: así que nada cambió, era lo mismo con LP y antes de </sarkasm>.Resumiendo mis propios hallazgos, que podrían superponerse con la respuesta de Dan :
Google comenzó con el nuevo sistema de permisos con Android Jellybean 4.3. La intención oficial (revelada más adelante) era dar a los usuarios cierto control sobre los permisos a los que debería tener acceso una aplicación ("permiso a pedido"), en lugar del "todo o nada" existente en ese momento (si no lo hizo). como una aplicación que tiene un cierto permiso: vivir con ella o no instalarla). La interfaz de AppOps estaba oculta, pero pronto se reveló, se volvió a ocultar (Kitkat/4.4), se reveló nuevamente y lo mismo una tercera vez con LP/5.0, después de lo cual se protegió de una manera difícil de eludir.
Finalmente, apareció AppOps con Marshmallow/6.0. Pero en lugar de otorgar a los usuarios un control de permisos detallado, los permisos son minuciosos y el control es bastante crudo; si, por ejemplo, desea que su aplicación de viajes pueda agregar sus reservas a su calendario, pero no leer sus otras entradas de calendario: de ninguna manera. O prohíbes el acceso al calendario, o lo permites. Similar para otros permisos, ya que AppOps solo trata con grupos. 1
Además, muchos permisos se eliminaron por completo o se asignaron al nivel de protección "normal", por lo que se otorgan automáticamente y el usuario no puede revocarlos. Este es, por ejemplo, el caso del INTERNET
permiso, pero también para USE_CREDENTIALS
(¡así que cualquier aplicación con este permiso puede usar cualquiera de sus cuentas sin su aprobación explícita!) o incluso BLUETOOTH_ADMIN
(emparejar su Droid con cualquier dispositivo BT al alcance). Para obtener una lista detallada, consulte este Gist .
Además, se han agregado nuevos niveles de protección: appop
para los permisos que el usuario tiene que otorgar explícitamente a través del nuevo sistema "bajo demanda", pre23
para los permisos otorgados automáticamente si una aplicación apunta a una versión inferior a MM (es decir, antes de que se introdujeran los "permisos de tiempo de ejecución"), preinstalled
para aplicaciones que se enviaron con la ROM (no está claro cómo Android las diferencia de system
, que se renombró a privileged
), más 3 más.
Básicamente, estamos peor ahora:
Entonces, en la mayoría de los casos, esto significa lo mismo que antes de MM: si no le gusta que una aplicación tenga cierto permiso, no la instale.
Múltiples de los artículos en la siguiente lista incompleta pueden aplicar simultáneamente. Haz tu elección:
INTERNET
, BLUETOOTH_ADMIN
y otras "sorpresas".1: Obviamente, el usuario no debe estar "sobreesforzado". Aún así, podría haber un "modo avanzado" para lidiar con eso.
Dan Brown
izzy
Dan Brown
izzy
Dan Brown
izzy