Come verranno gestite le autorizzazioni delle app in Ubuntu Touch?


19

La maggior parte degli elementi dell'hardware o dei set di dati condivisi tra le app sulla piattaforma Android e iOS sono fortemente controllati e forniti alle app solo in modo esplicito in base alle necessità. Ciò può consentire all'utente di assicurarsi, ad esempio, che un'app dannosa per la torcia non stia caricando la propria posizione e l'elenco dei contatti.

Sul desktop su Ubuntu, esistono effettivamente due livelli di controllo dell'autorizzazione: utente e root. Nel caso dell'utente, non sono previste molte restrizioni. Può ancora connettersi a Internet, interfacciarsi con la maggior parte dell'hardware che preferisce e leggere / scrivere qualsiasi file /home/user/. Questo modello presuppone che l'utente sia abbastanza competente da garantire che un'applicazione che sta utilizzando sia legittima (il che è molto semplice con il software open source).

Quindi la mia domanda è: che tipo di restrizioni e controllo sulle capacità di un'app saranno implementate sulla piattaforma mobile? E dal momento che è tutto lo stesso sistema operativo, come farà quel sistema a traboccare sul desktop? Tutti i programmi dovranno essere sottoposti a sandbox?

Sono abbastanza desideroso di conoscere il piano :)

PS. Una cosa che mi piace del modo in cui iOS lo fa su Android è che molte autorizzazioni devono essere esplicitamente approvate dall'utente quando viene eseguito per la prima volta. Il risultato è che, se non vuoi dire all'app di Facebook dove ti trovi, puoi semplicemente impedirlo, rispetto ad Android dove devi solo disinstallare l'app e Get Over It ™.

Il sistema mi piacerebbe piace vedere è chiedere il permesso con un "Solo per questa volta" e l'opzione "Sempre", quando l'applicazione ha bisogno che il permesso di eseguire un comando . Vuoi ritrovarti sulla mappa? Chiedi il permesso di localizzazione. Proprio come il modo in cui vengono gestite alcune API HTML5.


3
Mi piace la tua domanda È una delle cose fastidiose per me che alcune app su Android richiedano troppi privilegi e non capisco nemmeno a cosa servono le app. Considerando la fase iniziale del sistema, non c'è ancora molta attenzione su questo problema. Ma acquisirà maggiore importanza nella fase successiva.
NilsB,

2
Mentre in teoria mi piace la tua domanda, nell'applicazione significa far sparire la parte "pure linux on arm" del dispositivo (che secondo me è stato il suo vantaggio più interessante). Forse - leggi come si spera - implementeranno ogni app è un utente simile a quello che fanno i servizi ora.
RobotHumans

1
In realtà non significa nulla sull'accesso all'hardware. Questo è gestito da gruppi proprio come su Linux normale puro. Le persone lo dimenticano perché il loro utente fa parte magicamente del gruppo audio o di un gruppo di composizione per usb-ttys o altro. Accesso wireless? Le app firmano le richieste inviate su dbus, problema risolto. Le autorizzazioni di Linux funzionano.
RobotHumans il

1
Non faccio parte del team di sviluppo, ma i dispositivi audio richiedono che l'utente sia nel gruppo pertinente, così come i dispositivi tty, ecc. Su Ubuntu Vanilla.
RobotHumans,

1
Almeno dispositivi audio, modem, wlan, ethernet, gpu, cpu, ram, dvd, usb, lettore di schede, bluetooth, stampanti, webcam, ata, sata, esata, tastiera, mouse, touchpad e accesso al lettore di impronte digitali possono essere limitati in base a gruppi OR / e utenti. Ogni dispositivo a cui si accede tramite il nodo del dispositivo ha il proprio grp / permesso. Se l'app utilizza socket, basta impostare gruppi / autorizzazioni. Esistono anche diversi modi ( sì, hai anche opzioni ) per limitare la comunicazione tra app, servizi e così via ( già menzionato D-Bus e altri servizi simili a RPC ). Anche lspotrebbe essere limitato. Questa casella ha una limitazione di lunghezza ...
GoFundMonica - codidact.org

Risposte:


5

Questo è stato elaborato come parte delle specifiche di caricamento dello sviluppatore dell'app Ubuntu , in particolare la sezione sulla sicurezza .

Questo è ancora nelle fasi iniziali, ma come un estratto delle specifiche e per fornire un contesto:

Una volta installata un'applicazione, AppArmor fornirà una sandbox di sicurezza per proteggere l'utente da codice dannoso o semplicemente non funzionante. Per fare ciò, ogni applicazione avrà bisogno di un profilo adeguatamente costruito e minimamente permissivo per limitare ciò a cui la sua applicazione può accedere sul sistema locale.

Le applicazioni verranno sottoposte a sandbox tramite AppArmor e le autorizzazioni verranno concesse in base al profilo di sicurezza AppArmor dell'app.


Immagino che ciò significhi che ottengono i permessi quando sono installati?
Giona,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.