Nota: lavoro nel team di sicurezza di Ubuntu e ho contribuito a progettare la storia del confinamento delle applicazioni per Ubuntu. Ho riformulato le domande per chiarezza.
D: "I pacchetti di clic saranno più sicuri per quanto riguarda il sistema e i dati dell'utente o saranno gli stessi?"
A: In generale, i pacchetti di clic sono più sicuri dei debs per quanto riguarda i dati di sistema e dell'utente.
I pacchetti di clic non includono gli script del manutentore che vengono eseguiti come root all'installazione come i pacchetti deb. I pacchetti di clic vengono semplicemente decompressi e quindi gli hook forniti dal sistema vengono utilizzati se dichiarati dal clic. Ad esempio, il clic potrebbe dichiarare di utilizzare un hook desktop per generare un file desktop o un hook AppArmor per generare un profilo AppArmor per l'app. Poiché il pacchetto deb ha il concetto di script del manutentore progettati per consentire un'ampia personalizzazione del software o del sistema, i pacchetti deb dovrebbero essere installati solo da una fonte attendibile, ad esempio un archivio firmato da una distribuzione come Ubuntu. I pacchetti Click possono essere installati direttamente e puoi essere ragionevolmente sicuro che l'installazione del pacchetto non rovinerà il tuo sistema. Tuttavia, questa è solo una parte della storia: se installi un pacchetto clic da una fonte non attendibile,
Il vero potere del clic è quando viene utilizzato in combinazione con un repository di software con criteri efficaci. Ad esempio, la sicurezza di un pacchetto clic installato da Ubuntu App Store è in genere superiore a quella di un deb installato da un archivio attendibile. Questo perché nell'App Store di Ubuntu, il modello di attendibilità è che le app sono considerate non attendibili * e sono in atto politiche e controlli per garantire che i pacchetti di clic nel negozio abbiano un manifest di sicurezza adeguato e quindi vengano eseguiti in un isolamento molto stretto. Contrariamente al fatto che eseguire il deb del pacchetto nell'archivio Ubuntu - il modello di trust è che il software e il pacchetto deb sono considerati attendibili e in generale il software non funziona in condizioni di confinamento (anche se ci sono molte eccezioni in cui un profilo AppArmor viene spedito con il software per proteggersi dai bug di sicurezza).
- I pacchetti attendibili possono anche essere consegnati tramite l'App Store di Ubuntu. Sebbene non comuni, sono in genere sviluppati da Canonical e possono o meno essere eseguiti in isolamento.
Per rispondere a domande specifiche:
D: Il clic si basa sullo stesso sistema di deb?
A: Il formato del pacchetto di basso livello per click è deb. Tuttavia, il click packaging è molto più semplice in quanto utilizza un manifest dichiarativo e hook piuttosto che file di packaging tradizionali e script del manutentore.
D: AppArmor può fornire un accesso privilegiato alle app senza l'interazione dell'utente?
A: AppArmor è root forte e può consentire o negare l'accesso alle risorse di sistema (file, DBus, rete, ecc.) In base alla politica di sicurezza definita. Non è necessario un pacchetto clic per inviare un manifest di sicurezza AppArmor o un manifest di sicurezza AppArmor "sicuro". Ciò che rende sicuro il sistema è la combinazione di clic e le politiche del negozio che offre pacchetti di clic. I pacchetti clic consegnati tramite l'App Store di Ubuntu utilizzeranno la politica di AppArmor che è molto restrittiva e non consente azioni privilegiate dietro le quinte (ad esempio, un'app in esecuzione con questa politica non può eseguire programmi sul sistema dietro le quinte, accedere al tuo account Facebook , ruba le tue chiavi gpg o ssh, manipola le reti, ecc.)
D: Al momento dell'installazione verrà richiesto all'utente di concedere i diritti di accesso all'app come su Android? (ad es. "questa app è in grado di scansionare la tua / home e accedere alla rete")
A: No. Un pacchetto di clic stesso può essere installato senza prompt utilizzando strumenti di livello basso. Su Ubuntu, i pacchetti di clic devono essere installati tramite l'App Store di Ubuntu (vedi sopra) e, a causa delle politiche dell'App Store di Ubuntu combinate con le funzionalità di clic e il sistema Ubuntu, non è necessario alcun prompt di installazione click-through, senza contesto. Ubuntu può farlo perché le app installate dall'App Store di Ubuntu funzionano in condizioni di confinamento restrittivo (ovvero non possono fare cose cattive dietro le quinte) e quando un'app ha bisogno di un accesso aggiuntivo lo fa utilizzando API controllate che possono includere prompt.
Nel caso di API privilegiate, abbiamo il concetto di helper fidati in modo tale che l'utente disponga di una richiesta contestuale per consentire o negare l'accesso (con la cache revocabile (facoltativa) in modo che l'utente non sia invitato ogni volta). Ad esempio, se l'app deve accedere al servizio di localizzazione (un helper attendibile), all'utente verrà richiesto di consentire l'accesso nel momento in cui l'app tenta di utilizzare il servizio di localizzazione, che fornisce un contesto in modo che l'utente possa creare un decisione informata. Lo stesso accadrà per la registrazione di video e audio. Spesso non è necessario disporre di una richiesta di sicurezza e possiamo consentire l'accesso in base alle interazioni guidate dall'utente con l'app. Ad esempio, se un'app vuole caricare un'immagine ci sarà una finestra di dialogo per selezionare l'immagine. Dietro le quinte, perché l'app non è autorizzata ad accedere alla directory ~ / Pictures, utilizzerà l'API content-hub che avvierà il selettore di file della galleria affinché l'utente possa scegliere un'immagine da caricare. L'hub di contenuti prende quindi l'immagine dalla galleria e la consegna all'app. In questo modo, non esiste un dialogo di sicurezza, esiste solo un'interazione naturale per l'utente, ma dietro le quinte c'è una decisione di fiducia implicita.
D: In relazione a questa domanda: .apk e click avranno un linguaggio simile per quanto riguarda le politiche e le esperienze dell'utente?
A: No, non vi è alcuna richiesta di installazione per i motivi indicati in precedenza. Le autorizzazioni Android e le autorizzazioni di sicurezza per i pacchetti di clic come definite per Ubuntu hanno alcune somiglianze, ma sono diverse e implementate in modo diverso.
D: In particolare, con un clic, un'app può inviare tutti i miei dati privati sulla rete senza che me ne accorga o sarà limitata in qualche modo per impedirlo?
A: Se installi un clic da una fonte non attendibile, sì, può fare qualsiasi cosa. Se installi un clic dall'App Store di Ubuntu, no, un'app non può inviare tutti i tuoi dati sulla rete perché non ha accesso ad esso. Naturalmente, un'app può sembrare fare una cosa e farne un'altra, quindi se un utente concede l'accesso al servizio di localizzazione o dà all'applicazione l'accesso a un'immagine, allora l'app può essere cattiva con quei dati, ma è qui che le valutazioni / recensioni entrano in vigore le politiche di sicurezza dell'App Store. Se viene segnalata un'app come questa, verrà esaminata. Se appropriato, l'app verrà rimossa dallo store, l'app verrà rimossa da qualsiasi dispositivo su cui è installata e l'accesso all'App Store dello sviluppatore verrà revocato.
D: Si può dire che i pacchetti di clic sono più sicuri dei debs, ma meno potenti perché sono più limitati?
UN:Come si può vedere da quanto sopra, la risposta non è così semplice. Un clic da solo può spedire software in grado di fare qualsiasi cosa. Il formato di click packaging è intenzionalmente generico e può essere usato in molti modi e non è affatto specifico per Ubuntu. Per Ubuntu, la combinazione di clic, API di Ubuntu, AppArmor e criteri di App Store fornisce un ambiente molto potente per gli sviluppatori per fornire applicazioni agli utenti in modo sicuro e facile da usare per le persone. L'utilità delle applicazioni stesse dipende dalle API offerte alle applicazioni dal sistema sottostante. Il set iniziale di API che verrà offerto sui primi telefoni di spedizione di Ubuntu consentirà agli sviluppatori di creare tutti i tipi di applicazioni divertenti e utili utilizzando una ricca API e SDK.