Remarque: je travaille sur l'équipe de sécurité d'Ubuntu et j'ai aidé à concevoir l'histoire du confinement des applications pour Ubuntu. J'ai reformulé les questions pour plus de clarté.
Q: "Les clics sur les paquets seront-ils plus sûrs en ce qui concerne le système et les données utilisateur ou sera-t-il le même?"
R: En général, les packages de clics sont plus sûrs que debs en ce qui concerne les données système et utilisateur.
Les packages Click n'incluent pas les scripts du responsable qui s'exécutent en tant que root lors de l'installation, comme le font les paquets deb. Les packages Click sont simplement décompactés et les hooks fournis par le système sont utilisés s'ils sont déclarés par le clic. Par exemple, le clic peut déclarer 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. Parce que deb packaging a le concept de scripts de maintenance conçus pour permettre une personnalisation étendue du logiciel ou du système, les paquets deb ne doivent être installés qu'à partir d'une source fiable, par exemple une archive signée provenant d'une distribution comme Ubuntu. Les packages Click peuvent être installés directement et vous pouvez être raisonnablement sûr que l'installation du package ne va pas ruiner votre système. Cependant, cela ne constitue qu’une partie de l’histoire. Si vous installez un package de clic à partir d’une source non fiable, il n’ya aucune garantie qu’il déclarera dans son manifeste qu’il est correctement confiné. be (c.-à-d. que le logiciel peut fonctionner sans confinement et donc pouvoir voler vos données ou exécuter des programmes en tant qu'utilisateur).
Le véritable pouvoir du clic réside dans le fait qu’il est associé à un référentiel de logiciels doté de règles strictes. Par exemple, la sécurité d'un package de clic installé à partir du magasin d'applications Ubuntu est généralement supérieure à celle d'un fichier deb installé à partir d'une archive sécurisée. En effet, dans le App Store d’Ubuntu, les applications sont considérées comme non approuvées * et des règles et des contrôles sont en place pour garantir que les paquets de clics du magasin ont un manifeste de sécurité correct et sont donc soumis à un contrôle très strict. Cela contraste avec les paquets deb dans l'archive Ubuntu - le modèle de confiance est que les logiciels et les paquets deb 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 fourni avec le logiciel) pour se protéger contre les bogues de sécurité).
-
Les paquets de confiance peuvent également être livrés via l’App Store. Bien que peu courants, ils sont généralement développés par Canonical et peuvent ou non être exécutés sous confinement.
Pour répondre à vos questions spécifiques:
Q: Le clic est-il basé sur le même système que deb?
R: Le format de package de bas niveau pour le clic est deb. Toutefois, le conditionnement par clic est beaucoup plus simple car il utilise un manifeste déclaratif et des crochets plutôt que des fichiers de packaging traditionnels et des scripts de maintenance.
Q: AppArmor peut-il fournir un accès privilégié aux applications sans intervention de l'utilisateur?
R: AppArmor est très puissant 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 clic n'est pas nécessaire en soi pour envoyer un manifeste de sécurité AppArmor ou pour envoyer un manifeste de sécurité AppArmor «sûr». Ce qui rend le système sécurisé, c'est la combinaison du clic et des stratégies du magasin qui fournit les packages de clic. Les packages Click livrés via le magasin App Ubuntu utiliseront la stratégie AppArmor qui est très restrictive et n'autorise pas les actions privilégiées en arrière-plan (par exemple, une application exécutée sous cette stratégie ne peut pas exécuter des programmes en arrière-plan, accéder à votre compte facebook) , voler vos clés gpg ou ssh, manipuler le réseau, etc.)
Q: L'utilisateur sera-t-il invité, au moment de l'installation, à accorder des droits d'accès à l'application comme sur Android? (par exemple, "cette application est capable de scanner votre / home et d’accéder au réseau")
R: Non. Un package de clic lui-même peut être installé sans invite à utiliser des outils de bas niveau. Sur Ubuntu, les packages de clic doivent être installés via le magasin d’applications Ubuntu (voir ci-dessus) et en raison des règles du magasin d’applications Ubuntu associées aux fonctionnalités de clic et du système Ubuntu. Ubuntu peut le faire parce que les applications installées à partir du magasin d’applications Ubuntu sont confinées (c’est-à-dire qu’elles ne peuvent pas faire de mauvaises choses en coulisse) et qu’une application nécessite un accès supplémentaire en utilisant des API contrôlées. >
Dans le cas d’API privilégiées, nous avons le concept d’aides sécurisées pour que l’utilisateur dispose d’une invite contextuelle pour autoriser ou refuser l’accès (avec (facultatif) mise en cache révocable pour que l’utilisateur ne soit pas interrogé à 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 essaiera d'utiliser le service de localisation, ce qui lui donnera un contexte. décision éclairée. La même chose se produira pour l'enregistrement vidéo et audio. Souvent, nous n'avons pas besoin d'une invite de sécurité et nous pouvons autoriser l'accès en fonction des interactions de l'utilisateur avec l'application. Par exemple, si une application souhaite télécharger une image, il y aura une boîte de dialogue pour sélectionner l'image. Dans les coulisses, comme 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 choisisse une image à télécharger. Le concentrateur de contenu prend ensuite la photo 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 en coulisse, il y a une décision de confiance implicite.
Q: En relation avec cette question: .apk et click auront-ils un langage similaire en ce qui concerne les stratégies et les expériences utilisateur?
R: Non, aucune demande d’installation n’existe pour les raisons indiquées ci-dessus. Les autorisations Android et les autorisations de sécurité pour les packages de clic, tels que définis pour Ubuntu, présentent certaines similitudes, mais elles 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 pour empêcher cela?
R: si vous installez un clic depuis une source non fiable, oui, il peut tout faire. Si vous installez un clic à partir du magasin d'applications Ubuntu, non, une application ne peut pas envoyer toutes vos données sur 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. Ainsi, si un utilisateur autorise l’accès au service de localisation ou lui donne accès à une image, l’application peut être désastreuse avec ces données. / reviews et les politiques de sécurité de l'App Store entrent en vigueur. Si une application comme celle-ci est signalée, elle sera étudiée. Le cas échéant, l'application sera supprimée du magasin, l'application sera supprimée de tous les périphériques 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 packages de clics sont plus sûrs que debs, mais moins puissants car ils sont plus restreints?
R: Comme on peut le voir ci-dessus, la réponse n'est pas si simple. Un clic peut envoyer un logiciel capable de faire n'importe quoi. Le format d'empaquetage des clics est intentionnellement général et peut être utilisé de différentes manières et n'est pas du tout spécifique à Ubuntu. Pour Ubuntu, la combinaison des stratégies click, Ubuntu API, AppArmor et App Store fournit 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 offertes aux applications par le système sous-jacent. L'ensemble initial d'API qui sera proposé sur les premiers téléphones d'expédition d'Ubuntu permettra aux développeurs de créer toutes sortes d'applications amusantes et utiles utilisant une API et un SDK riches. Ces API se développeront dans leur ampleur et leur utilité au fur et à mesure que nous progressons pour mieux prendre en charge les développeurs et les utilisateurs.