¿Cómo se manejarán los permisos de la aplicación en Ubuntu Touch?

19

La mayoría de los elementos del hardware, o conjuntos de datos compartidos entre aplicaciones en la plataforma Android e iOS, se controlan fuertemente y solo se proporcionan a las aplicaciones explícitamente en función de la necesidad de saber. Esto puede permitir al usuario asegurarse de que, por ejemplo, una aplicación de linterna maliciosa no esté cargando su ubicación y lista de contactos.

En el escritorio en Ubuntu, hay efectivamente dos niveles de control de permisos: usuario y root. En el caso del usuario, no se ofrece mucha restricción. Todavía puede conectarse a Internet, interactuar con la mayoría del hardware que le gusta y leer / escribir cualquier archivo /home/user/. Este modelo supone que el usuario es lo suficientemente competente para garantizar que una aplicación que está utilizando sea legítima (lo cual es muy fácil con el software de código abierto).

Entonces, mi pregunta es, ¿qué tipo de restricciones y control sobre las capacidades de una aplicación se implementarán en la plataforma móvil? Y dado que todo es el mismo sistema operativo, ¿cómo se desbordará ese sistema en el escritorio? ¿Todos los programas deberán estar protegidos?

Estoy muy interesado en conocer el plan :)

PD. Una cosa que me gusta de la forma en que iOS lo hace sobre Android es que muchos permisos deben ser aprobados explícitamente por el usuario cuando se ejecuta por primera vez. El resultado es que, si no quiere decirle a la aplicación de Facebook dónde está, simplemente puede rechazarla, en comparación con Android, donde solo tiene que desinstalar la aplicación y Get Over It ™.

El sistema que me gustaría ver es pedir permiso con la opción "Solo por esta vez" y "Siempre", cuando la aplicación necesita ese permiso para ejecutar un comando . ¿Quieres encontrarte en el mapa? Solicitar permiso de ubicación. Al igual que la forma en que se manejan algunas API HTML5.

Jonás
fuente
3
Me gusta tu pregunta Es una de las cosas molestas para mí que algunas aplicaciones en Android solicitan demasiados privilegios y ni siquiera entiendo para qué las necesitan. Teniendo en cuenta la etapa inicial del sistema, todavía no hay mucho enfoque en ese tema. Pero ganará más importancia en la fase posterior.
NilsB
2
Si bien me gusta su pregunta en teoría, en la aplicación significa hacer que desaparezca la parte "pura de Linux en el brazo" del dispositivo (que en mi opinión fue su mayor ventaja). Tal vez, lea con suerte, implementarán que cada aplicación sea un usuario similar a lo que hacen los servicios ahora.
RobotHumans
1
Realmente no significa nada sobre el acceso al hardware. Eso es administrado por grupos al igual que en Linux normal puro. La gente lo olvida porque su usuario es mágicamente parte del grupo de audio o un grupo de marcado para usb-ttys o lo que sea. ¿Acceso inalámbrico? Aplicaciones firman solicitudes enviadas a través de dbus, problema resuelto. Los permisos de Linux funcionan.
RobotHumans
1
No estoy en el equipo de desarrollo, pero los dispositivos de audio requieren que el usuario esté en el grupo relevante, al igual que los dispositivos tty, etc.en vanilla ubuntu.
RobotHumans
1
Al menos dispositivos de audio, módems, wlan, ethernet, gpu, cpu, ram, dvd, usb, lector de tarjetas, bluetooth, impresoras, cámaras web, ata, sata, esata, teclado, mouse, touchpad y el lector de huellas digitales pueden restringirse según grupos OR / y usuarios. Cada dispositivo al que se accede a través del nodo del dispositivo tiene su propio grp / permiso. Si la aplicación usa sockets, solo configure grupos / permisos. También hay diferentes formas ( sí, también tiene opciones ) para restringir la comunicación entre aplicaciones, servicios, etc. ( ya mencionado D-Bus y otros servicios similares a RPC ). Incluso lspodría estar restringido. Este cuadro tiene restricción de longitud ...
GoFundMonica - codidact.org

Respuestas:

5

Esto se está trabajando como parte de la especificación de carga de desarrollador de aplicaciones de Ubuntu , en particular, la sección de seguridad .

Esto todavía está en las primeras etapas, pero como un extracto de la especificación y para proporcionar un contexto:

Una vez que se instala una aplicación, AppArmor proporcionará un entorno limitado de seguridad para proteger al usuario de código malicioso o simplemente roto. Para lograr esto, cada aplicación necesitará un perfil adecuadamente construido y mínimamente permisivo para restringir a qué puede acceder su aplicación en el sistema local.

Las aplicaciones se colocarán en un entorno limitado a través de AppArmor y se otorgarán permisos de acuerdo con el perfil de seguridad de AppArmor de la aplicación.

David Planella
fuente
¿Supongo que eso significa que obtienen los permisos cuando están instalados?
Jonás