¿Cómo funcionaría el "firewall" de la aplicación iOS o Android para permisos extendidos (ubicación, etc.)?

2

Estoy interesado en bloquear o informar el uso de permisos extendidos de cualquier aplicación, sin importar si se les otorgan esos derechos, como:

  • GPS / Ubicación / Wifi
  • datos de señal de radio
  • Telemetry

Mi racional está relacionado con la privacidad de una persona. Por ejemplo, Facebook Messenger tiene un icono de nivel de aplicación para deshabilitar los informes de ubicación. ¿Cómo puedo forzar teóricamente que la aplicación ya no use esa función a nivel de sistema operativo? (sí, la configuración lo hará, pero ¿en qué lugar de la pila del sistema operativo funciona?)

La respuesta que me interesa se referirá a los detalles del sistema operativo iOS y Android, y no a un simple interruptor de encendido / apagado de seguridad disponible en Configuración.

Ejemplo de respuesta

Tomando el sistema operativo Windows como ejemplo, la mayor parte de esto se manejaría en el Kernel, y dentro de eso, un subsistema protegido que probablemente no opera en el anillo privilegiado 0. Las API interesantes se ubicarán en la biblioteca XXX (kernel. dll?)

  • ¿Qué capa en el sistema operativo Android e iOS es la más adecuada para bloquear o controlar el acceso de permisos en tiempo de ejecución?
pregunta random65537 28.05.2015 - 21:49
fuente

2 respuestas

1

Solo puedo hablar para Android, no tengo idea de iOS.

La concesión de permisos se maneja (en su mayoría) en el marco, mientras que el kernel de Linux y los Usuarios y Grupos de Linux apropiados para cada aplicación aseguran que el marco no se elude. Las API internas interesantes se encuentran principalmente en /frameworks/base dentro de un árbol de fuentes de Android normal

En Android, el marco se encargará de filtrar las solicitudes en tiempo de ejecución, según el modelo de permiso . El proceso es aproximadamente el siguiente:

Si una aplicación usa la API para realizar alguna operación protegida (como leer su ubicación GPS actual), el controlador (en este caso, LocationManagerService ) verificará si el permiso requerido estuvo disponible para el contexto de la llamada (aproximadamente : el manifiesto de la aplicación, que ha sido confirmado por el usuario durante la instalación). Si es así, realizará la acción solicitada; Si no, se lanza un SecurityException . La mecánica regular del kernel de Linux impide que las aplicaciones accedan a los recursos sin utilizar la API adecuada (excluyendo, por supuesto, las aplicaciones que se ejecutan como root en un dispositivo rooteado).

Puede encontrar un artículo general sobre las características de seguridad de Android en la página principal de documentación oficial . Sin embargo, no está vinculado a los permisos.

    
respondido por el dst 27.09.2015 - 06:35
fuente
0

No encontré una buena manera de filtrar permisos en mi iPhone, pero puedo ayudarte para el Android. Uso dos aplicaciones en mi tableta. el primero es DroidWall, que utilizo para detener la conexión a Internet en la mayoría de las aplicaciones,

Para restringir los permisos de las aplicaciones, la mejor aplicación para mí es XPrivacy . Cuando descargas la aplicación, solo muestra 1-3-10 permisos para dar acceso, pero lo cierto es que estas aplicaciones tienen acceso a cientos de permisos.

Algunas aplicaciones no funcionan; si bloqueas parte del permiso (como la ubicación), pero XPrivacy tiene una función "para mentir" sobre tu ubicación. Así que la aplicación funcionará pero pensará que estás en otro lugar.

    
respondido por el Kasmetski 29.05.2015 - 18:03
fuente

Lea otras preguntas en las etiquetas