web-dev-qa-db-fra.com

Quelles sont les différences de sécurité entre le package click et le package .deb?

Installation aléatoire (méchant?) . Deb peut être dangereux car il accordera tous les privilèges aux applications et au démon installés car Le .deb a quelques configs demandant à appliquer si l'utilisateur valide son mot de passe lors du processus d'installation.

Le paquet de clics n'a pas besoin de mot de passe (autant que j'ai testé).

Le paquet de clics sera-t-il plus sûr pour les données système/utilisateur ou sera-t-il le même? Pourquoi?

Quelques aspects auxquels il serait bon de trouver une réponse:

  • est-ce que click et deb sont basés sur le même système (dpkg)?
  • apparmor peut-il fournir un accès root à des applications sans mot de passe ou quelque chose?
  • l’utilisateur sera-t-il invité à accepter les droits d’accès des applications lors de l’installation (exemple similaire à Android: cette application pourra analyser votre/home et votre réseau d’accès) ou en fuite à la nécessité d'un droit (exemple similaire à un navigateur demandant le droit d'utiliser la caméra) ?
  • près de cette question: Est-ce que .apk et cliquez Word sera-t-il identique (à propos des stratégies et de la user story) ?
  • principalement: une application peut-elle envoyer toutes mes données privées sur le réseau en un clic sans me le faire savoir explicitement ou aura-t-elle au moins le droit de le faire par les utilisateurs ou sera-t-elle bloquée dans un bac à sable de toute façon?
  • Il est vrai de dire que les ensembles de clics sont moins puissants (restreignent davantage le nombre de choses), mais plus sûrs?
31
cm-t

Remarque: je travaille sur l'équipe de sécurité Ubuntu et j'ai participé à la conception de l'histoire de confinement d'applications pour Ubuntu. J'ai reformulé les questions pour plus de clarté.

Q: "Les packages de clics seront-ils plus sûrs en ce qui concerne le système et les données utilisateur ou seront-ils les mêmes?"

A: En général, les paquets de clic sont plus sûrs que debs en ce qui concerne les données système et utilisateur.

Les packages de clic n'incluent pas les scripts du responsable qui s'exécutent en tant que root lors de l'installation, contrairement aux packages deb. Les paquets de clics sont simplement décompressés, puis les points d'accrochage fournis par le système sont utilisés s'ils sont déclarés par le clic. Par exemple, il est possible que le clic déclare utiliser un hook de bureau pour générer un fichier de bureau ou un hook AppArmor pour générer un profil AppArmor pour l'application. Dans la mesure où deb packaging utilise le concept de scripts de maintenance conçus pour permettre une personnalisation poussée du logiciel ou du système, les packages deb ne doivent être installés qu'à partir d'une source approuvée, par exemple une archive signée d'une distribution telle qu'Ubuntu. Les packages Click peuvent être installés directement et vous pouvez être raisonnablement certains que leur installation ne gâchera pas votre système. Cependant, cela ne représente qu'une partie de l'histoire - si vous installez un package de clics à partir d'une source non approuvée, rien ne garantit qu'il va déclarer dans son manifeste qu'il est correctement confiné. Par conséquent, lors de son installation, son exécution est correcte. être (c’est-à-dire que le logiciel peut fonctionner sans restriction et donc pouvoir voler vos données ou exécuter des programmes en tant qu’utilisateur).

La puissance réelle du clic réside dans son utilisation combinée à un référentiel de logiciels avec des règles strictes. Par exemple, la sécurité d'un paquet de clics installé à partir de Ubuntu App Store est généralement supérieure à celle d'un fichier deb installé à partir d'une archive sécurisée. En effet, dans le Ubuntu App Store, le modèle de confiance est que les applications sont considérées comme non approuvées * et que des stratégies et des contrôles sont en place pour garantir que les packages de clics dans le magasin possèdent un manifeste de sécurité approprié et sont donc soumis à un confinement très strict. Contrastez cela avec les paquets deb de l'archive Ubuntu: le modèle de confiance est que le logiciel et son empaquetage sont considérés comme fiables et en général, le logiciel ne s'exécute pas sous confinement (bien qu'il existe de nombreuses exceptions lorsqu'un profil AppArmor est livré avec le logiciel. se prémunir contre les bugs de sécurité).

  • Les packages sécurisés peuvent également être livrés via le App Store d'Ubuntu. Bien qu'ils soient rares, ils sont généralement développés par Canonical et peuvent ne pas fonctionner en mode confiné.

Pour répondre à vos questions spécifiques:

Q: Est-ce que click est basé sur le même système que deb?

A: Le format de package de bas niveau pour click est deb. Toutefois, la création de clics est beaucoup plus simple dans la mesure où elle utilise un manifeste déclaratif et des points d'ancrage plutôt que les fichiers de mise en forme traditionnels et les scripts de maintenance.

Q: AppArmor peut-il fournir un accès privilégié aux applications sans interaction de l'utilisateur?

A: AppArmor possède une racine forte et peut autoriser ou refuser l'accès aux ressources système (fichiers, DBus, réseau, etc.) en fonction de la stratégie de sécurité définie. Un package de clics seul n'est pas requis pour expédier un manifeste de sécurité AppArmor ou pour expédier un manifeste de sécurité AppArmor "sûr". Ce qui sécurise le système, c'est la combinaison de clics et des politiques du magasin qui distribue les packages de clics. Les packages de clic livrés via l'App Store Ubuntu utiliseront la stratégie AppArmor qui est très restrictive et n'autorise pas les actions privilégiées en coulisse (par exemple, une application fonctionnant sous cette règle ne peut pas exécuter de programmes sur le système en coulisse, accéder à votre compte facebook. , volez vos clés gpg ou ssh, manipulez le réseau, etc.)

Q: L’utilisateur sera-t-il invité au moment de l’installation à octroyer des droits d’accès à l’application comme sur Android? (Par exemple, "cette application peut analyser votre/home et accéder au réseau")

A: Non. Un package de clics lui-même peut être installé sans invite à l'aide d'outils de bas niveau. Sur Ubuntu, les packages de clics doivent être installés via le magasin d'applications Ubuntu (voir ci-dessus) et, en raison des politiques associées au magasin Ubuntu, associées aux fonctionnalités de clic et au système Ubuntu, il n'est pas nécessaire de demander une installation sans clic ni contexte. Ubuntu peut le faire parce que les applications installées à partir du magasin Ubuntu App fonctionnent sous confinement restrictif (c’est-à-dire qu’elles ne peuvent pas faire de mauvaises choses en coulisse) et lorsqu'une application nécessite un accès supplémentaire, elle le fait à l’aide d’API contrôlées, pouvant inclure une invite.

Dans le cas des API privilégiées, nous avons le concept d'auxiliaires de confiance, de sorte que l'utilisateur dispose d'un message contextuel lui permettant d'autoriser ou de refuser l'accès (avec une mise en cache révocable (facultative) afin que l'utilisateur ne soit pas invité à chaque fois). Par exemple, si l'application doit accéder au service de localisation (un assistant de confiance), l'utilisateur sera invité à autoriser l'accès au moment où l'application essaie d'utiliser le service de localisation, ce qui fournit un contexte permettant à l'utilisateur d'effectuer une décision éclairée. La même chose se produira pour l'enregistrement vidéo et audio. Souvent, nous n'avons pas du tout besoin d'une invite de sécurité et nous pouvons autoriser l'accès en fonction des interactions de l'application avec l'utilisateur. Par exemple, si une application souhaite télécharger une image, une boîte de dialogue vous permettra de sélectionner l'image. En coulisse, étant donné que l'application n'est pas autorisée à accéder au répertoire ~/Pictures, elle utilisera l'API content-hub qui lancera le sélecteur de fichier de la galerie pour que l'utilisateur puisse choisir une image à télécharger. Le contenu-hub prend ensuite l'image de la galerie et la donne à l'application. De cette manière, il n'y a pas de dialogue de sécurité, il n'y a qu'une interaction naturelle pour l'utilisateur, mais dans les coulisses, il y a une décision de confiance implicite.

Q: Lié à cette question: .apk et click auront-ils un langage similaire en ce qui concerne les stratégies et les expériences des utilisateurs?

A: Non, aucune installation n’est demandée pour les raisons indiquées ci-dessus. Les autorisations Android et les autorisations de sécurité pour les packages de clic définis pour Ubuntu présentent certaines similitudes, mais sont différentes et implémentées différemment.

Q: Plus précisément, avec un clic, une application peut-elle envoyer toutes mes données privées sur le réseau sans que je le sache ou sera-t-elle confinée de manière à empêcher cela?

A: Si vous installez un clic à partir d'une source non fiable, oui, elle peut tout faire. Si vous installez un clic à partir de l'App Store Ubuntu, non, une application ne peut pas envoyer toutes vos données via le réseau car elle n'y a pas accès. Bien sûr, une application peut sembler faire une chose et en faire une autre. Par conséquent, si un utilisateur accorde un accès au service de localisation ou donne à l'application l'accès à une image, l'application peut être maléfique avec ces données - mais c'est là que les évaluations/reviews et les politiques de sécurité de l'App Store entrent en vigueur. Si une application comme celle-ci est signalée, elle fera l'objet d'une enquête. Le cas échéant, l'application sera supprimée du magasin, de tous les appareils sur lesquels elle est installée et l'accès à l'App Store du développeur sera révoqué.

Q: Peut-on dire que les paquetages de clics sont plus sûrs que debs, mais moins puissants parce qu'ils sont plus restreints?

A: Comme on peut le voir ci-dessus, la réponse n’est pas aussi simple. Un clic seul peut expédier un logiciel qui peut tout faire. Le format d'empaquetage de clics est intentionnellement destiné à un usage général et peut être utilisé de nombreuses manières différentes et n'est pas du tout spécifique à Ubuntu. Pour Ubuntu, la combinaison de stratégies de clic, d'API Ubuntu, d'AppArmor et d'App Store fournit aux développeurs un environnement très puissant permettant aux développeurs de fournir des applications aux utilisateurs de manière sûre et facile à utiliser. L'utilité des applications elles-mêmes dépend des API proposées aux applications par le système sous-jacent. L'ensemble initial d'API proposées sur les premiers téléphones d'Ubuntu permettra aux développeurs de créer toutes sortes d'applications amusantes et utiles à l'aide d'une riche API et d'un SDK. La portée et l’utilité de ces API s’élargiront à mesure que nous progresserons pour mieux prendre en charge les développeurs et les utilisateurs.

35
jdstrand

Je vais essayer de répondre à certaines des questions les plus importantes concernant la sécurité et les packages de clics.

  • ne application peut-elle envoyer toutes mes données privées sur le réseau en un clic sans me le faire savoir explicitement?

    • Les applications de clic s'exécutent sous confinement. Cela signifie que l'application est empêchée de faire de mauvaises choses: elle ne peut accéder qu'à son propre répertoire privé.
  • Les applications peuvent-elles être installées puis disposer des droits root? sans mot de passe ni invite spécifique?

    • ...
  • L'utilisateur sera-t-il invité à accepter le droit des applications? quand?

    • Cliquez sur les applications pour accéder aux fonctionnalités que l'utilisateur permet à l'application d'utiliser (NB: l'invite ne figure pas encore dans la version actuelle/quotidienne d'Ubuntu Touch) .
  • Est-ce que c'est basé sur le même système pour click et deb?

    • L’emballage Debian (.deb) est complètement différent. Toutefois, si votre application est créée avec le kit de développement Ubuntu SDK, vous n'avez pas besoin d'utiliser le package Debian, vous pouvez utiliser le package Click, qui est beaucoup plus simple à utiliser et beaucoup plus sûr pour l'utilisateur final.
  • Similaire comme ci-dessus, pour comparer: Est-ce que .apk (Android) et cliquez fonctionnent de la même manière?

    • Les packages Android et les packages Ubuntu Click fonctionneront de manière similaire, en ce que chaque application aura son propre espace pour stocker des données et qu'il est (idéalement) interdit d'accéder directement aux données d'autres applications. Actuellement, les packages Android peuvent également lire les données de la carte SD ou de la mémoire de stockage interne, sans restrictions d'accès. Les paquets Ubuntu Click devront également demander des autorisations pour des fonctionnalités spécifiques.
  • Il est vrai de dire que les paquets de clics sont moins puissants (plus restreints), mais plus sûrs?

    • ...

Pour ces raisons, Les paquets de clics sont très sûrs et le processus de révision pour les publier est beaucoup plus simple.

Sources:

2
cm-t