Quali sono le differenze di sicurezza tra il pacchetto click e .deb?


31

L'installazione di un .deb casuale (cattivo?) Può essere pericoloso perché garantirà tutti i privilegi alle app e al demone installati perché il .deb ha alcune configurazioni che chiedono di applicare se l'utente convalida la sua password durante il processo di installazione.

Fare clic sul pacchetto non richiede una password (per quanto ho testato).

Il pacchetto clic sarà più sicuro per il sistema / userdata o sarà lo stesso? perché?

Alcuni aspetti a cui sarebbe bello rispondere:

  • click e deb sono basati sullo stesso sistema (dpkg)?
  • apparmor può fornire un accesso root alle app senza password o altro?
  • all'utente verrà richiesto di accettare i diritti di accesso delle app durante l'installazione (esempio simile ad Android: questa app sarà in grado di scansionare la propria / casa e accedere alla rete) o in fuga alla necessità di un diritto (esempio simile a un browser chiedendo il diritto di usare la cam) ?
  • vicino a questa domanda: .apk e click esprimono la stessa cosa (su policy e user story) ?
  • principalmente: un'app può inviare tutti i miei dati privati ​​sulla rete con un clic senza farmi sapere esplicitamente o avrà almeno il diritto convalidato dagli utenti di farlo o verrà comunque bloccata in una sandbox?
  • È vero dire: i pacchetti di clic sono meno potenti (limitano più cose), ma più sicuri?

Volevo aggiungere il tag "click" ma non abbastanza reputazione per farlo. L'ultima frase doveva essere in corsivo .
cm-t

il tag click-packagesè già disponibile.
Pandya,

NB: i pacchetti di clic sono in fase di sviluppo, desidero avere una risposta per l'obiettivo del prossimo pacchetto di clic stabile.
cm-t,

Risposte:


35

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.


1
"l'app verrà rimossa da tutti i dispositivi in ​​cui è installata" - questo sembra preoccupante. Ciò significa che Canonical sarà in grado di disinstallare in remoto le app dai dispositivi degli utenti senza la loro autorizzazione?

Ubuntu App Store avrà questa capacità. L'esercizio di questa capacità sarà probabilmente eseguito solo quando è coinvolto codice attivamente dannoso. Non voglio dettare la politica qui perché ci sono una serie di considerazioni che devono ancora essere esaminate, ma la linea di fondo è che questo non dovrebbe essere qualcosa che accade senza una ragione molto buona.
jdstrand,

2
Capisco che questo sia per la sicurezza degli utenti (anche altri app store lo fanno), ma ad alcuni utenti non piace questo tipo di "kill switch", perché ciò significa che un'azienda può disinstallare in remoto app (o più), anche se è per motivi di sicurezza. Penso che gli sviluppatori dovrebbero considerare attentamente come implementarlo, per evitare controversie. Forse disabilita l'app invece di rimuoverla, consentendo all'utente di disinstallarla o riattivarla da solo e mostrare avvisi molto importanti ... come suggerimento.

Se Click impacchetta le proprie dipendenze, che dire degli aggiornamenti di sicurezza di una dipendenza? Se bash deb viene aggiornato, tutti gli altri pacchetti che usano bash usano naturalmente la nuova versione. Tuttavia, se i pacchetti di un'app Click bash, a meno che lo sviluppatore dell'app non si occupi di includere un bash aggiornato, il bug è ancora presente e presupponendo che lo sviluppatore dell'app aggiorni spesso il pacchetto. Nota che in questo scenario immagina che bash non sia un pacchetto base.
Hendy Irawan,

Sembra così bello! Ancora meglio del sistema Android! Le autorizzazioni Android sono diventate qualcosa come l'EULA, basta fare clic su "sì" senza leggere ...
Merlijn Sebrechts

2

Proverò a rispondere ad alcune delle domande più importanti riguardanti i pacchetti di sicurezza e clic.

  • Un'app può inviare tutti i miei dati privati ​​sulla rete con un clic senza farmi sapere esplicitamente?

    • Le app clic verranno eseguite in isolamento. Ciò significa che all'app è impedito di fare cose cattive: può accedere solo alla propria directory privata.
  • Le app possono essere installate e quindi avere i diritti di root? senza password o prompt specifico?

    • ...
  • All'utente verrà richiesto di accettare il diritto delle app? quando?

    • Le app clic accederanno alle funzionalità che l'utente consente all'app di utilizzare (NB: prompt non ancora nella versione corrente / giornaliera di Ubuntu Touch) .
  • È basato sullo stesso sistema sia per click che per deb?

    • Il packaging di Debian (.deb) è completamente diverso. Tuttavia, se la tua app è realizzata con Ubuntu SDK, non è necessario usare il pacchetto Debian e puoi invece usare il pacchetto Click, che è molto più facile da usare e molto più sicuro per l'utente finale.
  • Simile come sopra, per confrontare: .apk (Android) e il clic funzionano allo stesso modo?

    • I pacchetti Android e i pacchetti Ubuntu Click funzioneranno in modo simile, in quanto ogni applicazione avrà il suo spazio per archiviare i dati e che (idealmente) è vietato accedere direttamente ai dati di altre applicazioni. Attualmente, i pacchetti Android possono anche leggere i dati dalla scheda SD o dalla memoria interna, dove non ci sono restrizioni di accesso. I pacchetti Ubuntu Click dovranno inoltre richiedere autorizzazioni per funzionalità specifiche.
  • È vero dire: i pacchetti di clic sono meno potenti (limitano più cose), ma più sicuri?

    • ...

Per questi motivi, i pacchetti Click sono molto sicuri e il processo di revisione per pubblicarli è molto più semplice.

fonti:


Per favore, completa questa risposta perché pensi che sia la migliore
cm-t
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.