web-dev-qa-db-fra.com

Pourquoi aucune autorisation comme Android ou iOS?

Lorsque j'installe un programme comme Gimp ou LibreOffice sur Linux, je n'ai jamais demandé des autorisations. En installant un programme sur Ubuntu, je donne explicitement une autorisation complète de ce programme pour lire/écrire n'importe où sur mon lecteur et un accès complet à Internet?

Théoriquement, la GIMP pourrait-elle lire ou supprimer n'importe quel répertoire sur mon lecteur, ne nécessitant pas de mot de passe Sudo-Type?

Je suis seulement curieux si c'est techniquement possible, pas si c'est probable ou non. Bien sûr, je sais que ce n'est pas probable.

26
stackinator

Il y a deux choses ici:

  • lorsque vous installez un programme par des moyens standard (installateur système tel que APT/APT-Get On Ubuntu), il est généralement installé dans certains répertoires où il est disponible pour tous les utilisateurs (/ usr/bin ...). Ce répertoire nécessite que les privilèges soient écrits afin que vous ayez besoin de privilèges spéciaux lors de l'installation.

  • lorsque vous utilisez le programme, il fonctionne avec votre ID utilisateur et ne peut lire ou écrire que lorsque les programmes exécutés avec votre ID sont autorisés à lire ou à écrire. Dans le cas de GIMM, vous découvrirez par exemple que vous ne pouvez pas modifier des ressources standard telles que des pinceaux car ils sont dans le partagé /usr/share/gimp/ Et que vous devez les copier en premier. Cela montre également en Edit>Preferences>Folders Où la plupart des dossiers arrivent par paires, un système qui est en lecture seule et un utilisateur qui peut être écrit à.

31
xenoid

En installant un programme sur Ubuntu, je donne explicitement une autorisation complète de ce programme pour lire/écrire n'importe où sur mon lecteur et un accès complet à Internet?

Oui, si vous utilisez Sudo ou l'équivalent, vous donnez le installateur la permission complète pour lire/écrire n'importe où sur votre lecteur. C'est surtout la même chose. Il existe également un drapeau que l'installateur peut définir, appelé Setuid, qui permettra au programme d'avoir des autorisations complètes après l'installation.

Même si nous ignorons l'installateur et si le programme n'est pas défini (il est très rare que les programmes utilisent SETUID), lorsque vous exécutez le programme, il dispose d'un accès complet à tout ce que votre compte peut accéder. Par exemple, si vous êtes connecté à votre banque en ligne, cela pourrait envoyer hypothétiquement tous vos fonds au Nigéria.

Pourquoi aucune autorisation comme Android ou iOS?

Le modèle de sécurité - cela signifie que le système de sécurité est conçu - à Linux est très vieux. Il est hérité de UNIX, qui remonte aux années 1960. À l'époque, il n'y avait pas d'internet et la plupart des gens d'un département utilisaient le même ordinateur. La plupart de vos programmes sont venus de grandes entreprises qui ont été approuvées. Le système de sécurité a donc été conçu pour protéger les utilisateurs les uns des autres, pour ne pas protéger les utilisateurs des programmes qu'ils exécutaient.

De nos jours, il est assez obsolète. Android est basé sur Linux, mais cela fonctionne en créant un "compte d'utilisateur" distinct pour chaque application, au lieu de chaque utilisateur. Je ne sais pas ce que les utilisations d'IOS. Les efforts comme Flatpak sont actuellement Essayer d'apporter le même genre de chose sur le bureau Linux.

23
user253751

Ce que vous voulez, est fourni par Flatpack Apps. Ce sont très bien l'équivalent des applications IOS, Android ou Windows Store.

Je ne les ai pas utilisés, je ne sais pas encore si ils ont mis en œuvre l'interface graphique, pour voir les autorisations requises par chaque application lorsqu'elle est installée.

https://blogs.gnome.org/alexl/2017/01/20/the-flatpak-security-model-part--Quelle-needs-sandboxing-anyway/

Chaque application Flatpak contient un manifeste, appelé Metadata. Ce fichier décrit les détails de l'application, comme son identité (APP-ID) et quelle exécution utilisée. Il énumère également les autorisations nécessaires à la demande.

Par défaut, une fois installé, une application obtient toutes les autorisations qu'elle a demandé. Cependant, vous pouvez remplacer les autorisations chaque fois que vous appelez Flatpak exécuté ou globalement à titre d'application à l'aide d'une nouvelle application à l'aide de PLATPAK RÉLÉDIDE (voir MANGPAGES POUR PLATPAK-RUN-RUNPORT-RÉLÉDRIED pour plus de détails). Le traitement des autorisations d'application est actuellement quelque peu caché dans l'interface, mais le plan à long terme consiste à montrer les autorisations lors de l'installation et à les rendre plus faciles à remplacer.

Je n'ai pas non plus utilisé l'alternative d'Ubuntu, Snappy, de savoir s'il fournit une telle caractéristique visible dans l'interface graphique.

9
sourcejedi

Il est techniquement possible et les solutions incluent apparmor, selinux et firejail ou même des conteneurs complets tels que LXC ou une machine virtuelle complète (par exemple VirtualBox, kvm ou vmware). Pour la mise en réseau, il y a opensnitch qui est un clone du programme littlesnitch d'OSX.

Les raisons pour lesquelles il n'y a pas de modèle de sécurité généralisée avec des autorisations données par l'utilisateur, c'est que Traditionnellement, vous faites attention à ce que vous exécutez sur votre PC. 90% de ce qui est dans les applications des systèmes mobiles serait considéré comme un logiciel malveillant sur les PC.

Il y a des scanners pour publicité (c'est-à-dire Adaware ou Spybot D & D) qui classerait le comportement comme Connecter Facebook, Google Analytics et des réseaux publicitaires en tant que logiciels malveillants sur le PC. L'écosystème mobile est comme un redémarrage de l'informatique lorsqu'il s'agit de ces choses. Tout le monde regroupe les logiciels publicitaires, juste parce qu'il est facile et ajoute des analyses, juste parce qu'il est curieux. Les effets secondaires sont réduits de la vie privée et de la sécurité. La partie de sécurité est prise en compte par le modèle Sandbox, la partie de confidentialité est toujours un problème d'ouverture.

Une autre raison de ne pas avoir ceci sur le PC pendant longtemps est la complexité d'un bac à sable, ce qui signifie que cela peut être trop lent pour les PC plus anciens il y a quelque temps et nécessitait plus d'ingénierie pour quelque chose qui avait peu d'avantage alors.

Aujourd'hui, nous voyons des tentatives d'utilisation de sandboxing dans de nouveaux formats de colis tels que Snap and Flatpak et les navigateurs l'utilisent également pour leurs extensions. Chrome utilise un modèle d'autorisation car le démarrage et Firefox utilisent une pour toutes les webextensions (depuis 57, les seules extensions que vous pouvez installer). C'est tout à fait raisonnable, car les gens installent des extensions de navigateur à partir d'auteurs inconnus, comme des applications de personnes qu'ils n'ont jamais entendues, pensant qu'ils ne sont pas plus dangereux qu'un site Web qu'ils visitent, ce qui est une idée fatale, qui est une idée fatale lorsqu'il n'y a pas de bac à sable pour les protéger.

6
allo

Android utilise un modèle de sécurité "Marketplace": Différentes applications proviennent de différents fournisseurs (semi-fiduciés) et doivent être isolés des ressources protégées et les uns des autres. La plupart des applications sont distribuées à but lucratif: elles sont vendues (PaysWare), montrent la publicité payante ou "monétiser" leurs utilisateurs en vendant leurs données à des tiers. Il existe une forte motivation pour participer à l'accès des données illicites, même s'ils se font capturer.

La plupart des applications de Debian, Red Hat et des distributions Linux "classiques" similaires sont distribuées sous forme de source: une fois les applications open source gagnent suffisamment de traction, elle est choisi manuellement pour l'inclusion par les responsables de la distribution. Il y a peu de motivation pour effectuer un accès illicite de données, - les gains potentiels ne justifient pas les efforts.

Il convient de noter que ce modèle de sécurité avancé de Android est l'une des raisons pour lesquelles il a gagné une telle traction, surmonter facilement iOS sur les marchés mobiles. Les distributions de bureau modernes ne sont pas simplement "différentes" , - ils sont effectivement bien aux temps en termes de modèles de sécurité et de distribution.

Certaines distributions Linux montaient des améliorations à leur système de distribution de logiciels: des référentiels de logiciels tiers centralisés (AUR), des formats de forfaits spécialisés pour la distribution de logiciels tiers (Appimage, Snappy, Flatpack), des systèmes de référentiel secondaire (Docker). Malheureusement, ces améliorations gagnent très peu de traction avec le temps: Appimage a été inventé en 2004, la première version d'Aur a été publiée en 2005, mais aucune des distributions de Linux modernes n'a officiellement adopté leurs caractéristiques après> 10 ans.

4
user1643723

Lorsque j'installe un programme comme Gimp ou LibreOffice sur Linux, je n'ai jamais demandé des autorisations.

Ces applications sont installées dans une partie privilégiée du système de fichiers que vous et la plupart des utilisateurs n'ont normalement pas accès au changement.

Sur les distributions traditionnelles configurées pour le bureau Utilisez l'utilisateur unique initialement configuré lors de l'installation des droits d'administration d'administrateur. Tout ce qu'ils seront normalement invités à être leur propre mot de passe de connexion pour installer des logiciels, et pas toujours cela.

Une fois installé, le logiciel sera défini par défaut pour être exécutable par des utilisateurs normaux et permettre de lire les fichiers de données. C'est tout ce qui est nécessaire.

En installant un programme sur Ubuntu, je donne explicitement une autorisation complète de ce programme pour lire/écrire n'importe où sur mon lecteur et un accès complet à Internet?

Pas le programme. Ce qui se passe, c'est que le compte d'utilisateur appartient à différents groupes et que les différents groupes accordent l'accès à différentes ressources.

Le modèle de sécurité sous Linux est que votre compte d'utilisateur a certains droits et les groupes que votre compte appartiennent à des droits spécifiques. À droite à , une partie du système de fichiers nécessite des privilèges root, qui ne sont normalement pas accordés aux utilisateurs. Même lorsque vous utilisez sudo , vous n'obtenez pas tous les droits.

Les comptes d'utilisateurs normaux ont généralement accès aux ressources dont ils devraient avoir besoin, comme Internet.

Théoriquement, la GIMP pourrait-elle lire ou supprimer n'importe quel répertoire sur mon lecteur, ne nécessitant pas de mot de passe Sudo-Type?

Tout répertoire ou fichier vous, en tant qu'utilisateur, les droits d'accès peuvent être accessibles par l'application que vous lancez lorsqu'il hérite généralement de vos droits. Un utilisateur normalement connecté ne sera normalement pas normalement le droit de modifier la plupart des fichiers système critiques ou des fichiers partagés.

Je suis seulement curieux si c'est techniquement possible, pas si c'est probable ou non. Bien sûr, je sais que ce n'est pas probable.

N'oubliez pas que la plupart des utilisateurs installent généralement des applications de référentiels bien policieuses et que le risque de code hostile est faible.

Je suggérerais probablement une lecture supplémentaire pour accéder à des autorisations Linux.

Le Android Modèle de sécurité évolue pour répondre aux besoins des utilisateurs qui non seulement ne comprennent généralement rien sur le modèle de sécurité sous-jacent du système d'exploitation mais à peine comprendre n'importe quoi sur les ordinateurs.

Le modèle Linux (que j'aimerais franchement plus) est conçu pour permettre aux utilisateurs (et aux administrateurs en particulier) d'exercer davantage de contrôle sur la sécurité sur le système (dans les limites si leurs autorisations autorisées).

Je pense qu'à partir d'un point de vue de l'utilisateur, il est mieux décrit comme la différence entre le contrôle complet automatique et semi-automatique ou manuel. Les consommateurs modernes veulent une auto complète. Linux a semi-auto et manuel. La plupart des utilisateurs Linux n'ont jamais besoin de savoir sur le modèle de sécurité ces jours-ci, mais le contrôle est là si vous en avez besoin ou de le vouloir.

3
StephenG

Lorsque vous installez des programmes, vous pouvez les installer au sein de votre propre espace d'utilisateur (i. E. Autonome de votre répertoire personnel) et non à l'échelle du système. En tant que tel, vous n'êtes pas demandé aux privilèges superutilisateurs, car vous n'en avez pas besoin d'installer un programme pour un usage unique d'un utilisateur. Un programme ainsi installé serait en effet non être capable d'accéder aux fichiers non accordés aux "membres non-propriétaires non du groupe peut lire cette" permission absente d'une escalade de privilège.

2
DopeGhoti