web-dev-qa-db-fra.com

Un programme d'installation de Windows qui ne nécessite pas de droits d'administrateur est-il dangereux?

J'utilise Atlassian SourceTree sur Windows, et une chose que j'aime à ce sujet est qu'il ne nécessite pas de privilèges d'administrateur pour installer ou mettre à jour. Il m'est arrivé de le mentionner à notre ISSO (responsable de la sécurité des systèmes d'information), et il n'était pas fan. Il a dit que ne pas avoir besoin d'administrateur était dangereux parce que (pour paraphraser) "Si cela ne vous demande pas d'approbation, vous ne savez jamais ce qui se passe et change en arrière-plan!"

Maintenant, cette personne a tendance à être trop prudente, donc je suis sceptique quant à son évaluation. J'avais toujours pensé que si un programme ne demande pas d'autorisations d'administrateur, c'est parce qu'il n'apporte pas de modifications suffisamment profondes pour en avoir besoin. Pour ajouter à cela, nos ordinateurs de travail sont extrêmement verrouillés, donc j'ai du mal à croire que tout ce qu'un installateur doit faire pour obtenir notre sécurité fonctionnalités est de ne pas demander la permission.

Quelle est donc la situation réelle? Un programme d'installation qui peut s'exécuter sans privilèges d'administrateur peut-il vraiment être aussi dangereux?

132
David K

Installer quelque chose sans avoir besoin des privilèges d'administrateur n'est pas plus dangereux que d'exécuter un programme sans installation avec des autorisations utilisateur standard. C'est aussi moins dangereux que d'installer quelque chose AVEC des privilèges d'administrateur (ou, en fait, d'exécuter n'importe quoi avec des autorisations d'administrateur).

L'exécution d'un programme aléatoire téléchargé sur Internet, bien sûr, est potentiellement dangereuse - même si elle ne nécessite pas d'administrateur.

Si la préoccupation de votre ISSO est "vous utilisez un code Internet aléatoire, et l'auteur de ce code vous permet d'être paresseux en me demandant de le vérifier", alors cela est tout à fait valide et factuel. (vous pourriez débattre du rapport coût/bénéfice, mais il est valable)

Si le problème est "ce programme d'installation est plus dangereux que les autres programmes d'installation ou de non-installation car il n'augmente pas son niveau d'accès", alors non, c'est en fait incorrect.

268
Ethan Kaminski

Eh bien, s'il n'a pas besoin de droits d'administrateur, cela signifie qu'il ne peut faire que ce qu'un utilisateur ordinaire peut faire. Bien sûr, vous ne saurez pas vraiment ce que fait l'installateur (mais le savez-vous vraiment?), Mais vous pouvez être assuré qu'il ne pourra rien faire qu'un utilisateur non privilégié ne puisse pas, alors je ne le fais pas '' t voir le problème si vous faites confiance à la source.

82
Jordi

Sur la plate-forme Windows, si un programme d'installation d'application déclenche UAC (User Account Control) n'est pas à la hauteur de l'application et l'application ne peut pas contourner UAC. Si l'installation de l'application nécessite de faire quelque chose qui nécessiterait un administrateur, l'UAC sera déclenché. Cela inclut l'écriture dans des répertoires système ou des paramètres de registre qui sont à l'échelle du système.

Si une installation d'application ne déclenche pas l'UAC, cela indique que l'application s'installe sous le répertoire de profil de l'utilisateur non administrateur et ne définit le registre que sous le propre profil de l'utilisateur. Il est certainement possible pour un utilisateur d'installer un logiciel malveillant, et le logiciel malveillant conçu pour ne jouer qu'avec les fichiers/paramètres de cet utilisateur, les dommages ne s'étendront pas à l'échelle du système.

Dans le contexte des menaces de ransomware, cela signifie qu'un ransomware qui cible uniquement les propres fichiers de l'utilisateur volerait sous le radar UAC.

Pour vous protéger contre cela et satisfaire les préoccupations de votre ISSO, votre organisation aurait besoin d'outils de politique et de protection pour empêcher l'exécution d'une application qui n'est pas fournie par l'entreprise et certifiée. C'est incroyablement difficile à faire efficacement, et cela nécessiterait un investissement très important en personnel pour certifier les applications selon les besoins de l'entreprise.

De toute évidence, ce qui précède n'est vrai que si l'UAC n'a pas été désactivé ou falsifié. Auparavant, il était assez courant pour les gens de désactiver le contrôle de compte d'utilisateur, car c'était une gêne, car des applications qui ne devraient vraiment pas avoir besoin d'administrateur le déclencheraient. Par exemple, il était courant (et se produit toujours) lorsque l'exécution d'un jeu nécessite une élévation car le jeu le fait et une mise à jour automatique à chaque exécution. De nos jours, les applications se comportent mieux et l'UAC ne devrait vraiment pas être désactivé.

Mis à jour pour clarification à la suite de bons commentaires:

Il convient de mentionner que lorsque vous êtes connecté en tant qu'utilisateur avec un administrateur local, il existe des moyens de contourner l'UAC. Pour une meilleure protection, il ne faut pas avoir de droits d'administrateur pour son compte quotidien et en créer un autre avec des droits d'administrateur. UAC demandera ces informations d'identification d'administrateur lorsque les paramètres à l'échelle du système sont modifiés ou que le logiciel est installé, mais UAC ne peut pas être contourné entièrement si UAC est activé.

27
Thomas Carlisle

Une menace supplémentaire pour les installations de programme qui ne nécessitent pas de droits d'administrateur est que l'installation peut être modifiée par un code de niveau utilisateur. Cela permet des mises à jour silencieuses (aucun accès administrateur requis), ce qui signifie que le comportement du programme peut changer sans avertissement. Cela permet également à un adversaire d'insérer du code et de falsifier le programme en silence (aucun accès administrateur requis).

15
AstroDan

S'il ne vous demande pas d'approbation, vous ne savez jamais ce qui se passe et change en arrière-plan!

Que le programme d'installation nécessite ou non des droits d'administrateur, vous ne savez pas ce qu'il fait, sauf si vous suivez/surveillez les modifications du système.

Ce que vous savez cependant, c'est que s'il ne demande pas de droits d'administrateur, il ne peut apporter aucune modification nécessitant un droit d'administrateur (modifier les fichiers système, le registre système, les pilotes, etc.).

Un programme d'installation qui ne nécessite pas de droits d'administrateur est-il dangereux?

Cela pourrait être, mais pas plus qu'un installateur qui nécessite des droits d'administrateur, en fait c'est théoriquement moins dangereux.

Mais dans tous les cas, vous ne devez pas exécuter any programme d'installation auquel vous ne pouvez pas faire confiance dans un environnement sensible, qu'il nécessite ou non des droits d'administrateur.

12
zakinster

L'application doit toujours demander l'élévation si elle a besoin de plus de privilèges, indépendamment de son installateur. D'un autre côté, si une application est un malware, elle peut déjà exécuter son code nuisible dans le programme d'installation.

En fait, c'est l'inverse, si ni l'installateur ni l'application ne demandent d'élévation, cela peut faire moins de mal que si l'un d'eux demande des privilèges.

Lors de l'écriture d'un programme d'installation, on essaie d'utiliser aussi peu de privilèges que nécessaire. Habituellement, cela détermine si le programme ne peut être installé que sur une base par utilisateur ou s'il peut être installé pour tous les utilisateurs.

Donc, s'il suffit d'écrire dans la branche de registre [HKEY_CURRENT_USER], il n'est souvent pas nécessaire de demander l'élévation, lorsque le programme d'installation a besoin de privilèges pour écrire dans [HKEY_LOCAL_MACHINE] ou pour faire d'autres choses, seul un administrateur doit être autorisé, il doit demander.

6
martinstoeckli

Ce que cela signifie

Si un programme d'installation ne nécessite pas de droits d'administrateur, il installe le logiciel uniquement pour l'utilisateur actuel, plutôt qu'à l'échelle du système.

Quels sont les impacts sur la sécurité?

Le logiciel que vous installez ne peut s'exécuter que sous votre propre compte utilisateur, il n'a donc aucun moyen de modifier ou d'endommager le système au niveau superutilisateur/administrateur et d'affecter d'autres utilisateurs ou services système. À cet égard, il est plus sûr que d'exécuter un programme d'installation de logiciel qui nécessite des droits d'administrateur.

Cependant, cela ne signifie pas que le logiciel lui-même ne peut pas faire de mauvaises choses, comme n'importe quel logiciel, comme vous espionner, spammer le trafic réseau indésirable, jouer avec vos fichiers dans votre compte, etc. Rien de tout cela, cependant, n'est spécifique à la méthode d'installation du logiciel.

Pourquoi les administrateurs système peuvent ne pas l'aimer

Il contourne toutes les politiques qu'ils peuvent avoir concernant les utilisateurs installant des logiciels tels qu'un processus d'approbation.

Leur préoccupation est-elle justifiée?

Oui et non. Bien que cela ne représente pas plus un risque pour la sécurité du système lui-même que tout ce que vous pouvez déjà faire dans votre compte utilisateur (comme écrire des scripts, exécuter vos propres binaires ou compiler votre propre logiciel), il y a encore quelques raisons pour lesquelles les services informatiques peuvent souhaitez être notifié ou consulté de toute façon.

Certains services informatiques aiment garder une trace des logiciels qui existent sur les ordinateurs des utilisateurs à des fins d'audit. Si l'utilisateur installe un logiciel sans que l'informatique le sache, ce logiciel peut toujours faire des choses néfastes comme attaquer des ordinateurs sur un réseau, envoyer du spam, utiliser beaucoup de ressources sur la machine, divulguer des documents confidentiels, etc. Ainsi, même s'il ne peut pas risquer l'intégrité du système pour les autres utilisateurs de ce système, il peut toujours effectuer des choses indésirables.

Même les logiciels bien intentionnés peuvent présenter des vulnérabilités qui peuvent causer des problèmes s'ils ne sont pas mis à jour. Si un service informatique connaît les logiciels installés sur les systèmes des utilisateurs, il peut s'assurer qu'ils sont tenus à jour.

Résumé

En résumé, il n'y a pas de risque de sécurité inhérent à un programme d'installation qui s'installe pour un seul utilisateur et n'utilise pas les droits d'administrateur. Ce qui peut inquiéter un service informatique, c'est simplement installer des logiciels sans les avertir.

4
thomasrutter

Un programme d'installation qui ne demande pas de droits d'administrateur est plus sûr qu'un programme qui demande,…

À moins que, vous avez des droits d'administrateur et les avez accordés au programme d'installation.

Par exemple, j'ai un programme d'installation sur mon MacBook qui est capable d'installer des applications dans/use/local/bin sans demander mon mot de passe administrateur (appelé 'brasser' pour les curieux). La seule façon possible est que le brassin ait reçu des droits d'administrateur lors de son installation. Maintenant, MacOS a quelque chose appelé SIP qui empêche même l'administrateur de faire certains types de changements. Pour autant que je sache, Windows n'a pas d'équivalent. (Mais je n'ai pas utilisé Windows depuis près de quatre ans.)

Cela dit, même sans privilèges d'administrateur, un programme que vous avez installé peut éventuellement faire des choses désagréables pour vous . Une autre réponse a mentionné certaines de ces choses. Mais n'importe quel programme peut en faire partie, pas seulement un programme d'installation.

1
WGroleau

Un grand nombre d'installateurs peuvent simplement être extraits sans droits d'administrateur à l'aide d'outils tiers tels que l'extracteur universel et ne nécessitent pas réellement de droits d'administrateur. En donnant aux installateurs l'accès au mode administrateur, vous leur donnez accès à toutes les parties de votre ordinateur, un programme d'installation qui s'exécute sans ces droits n'a accès qu'aux fichiers qui ne nécessitent pas de droits d'administrateur.

Cependant, il est vrai que vous ne savez jamais ce que fait TOUT programme tiers, sauf si vous vérifiez par vous-même. Tout ce que vous pouvez faire est de vous assurer que le programme provient d'une source fiable, qu'il n'a pas de virus connus (en utilisant un antivirus/virustotal) et enfin vous pouvez utiliser quelque chose comme un extracteur universel pour voir ce que fait le script ou même l'utiliser pour extraire directement les fichiers du programme d'installation. Et évidemment, assurez-vous que le patron est d'accord avec les programmes que vous exécutez/installez.

Gardez à l'esprit que tous les programmes d'installation ne peuvent pas être extraits de cette manière et que certains programmes d'installation nécessitent en fait des droits d'administrateur pour installer des éléments tels que des pilotes ou entrer des éléments dans le registre.

1
HiddenKnowledge

Pour ajouter aux réponses existantes, il y a un inconvénient à un installateur qui n'a pas besoin de droits d'administrateur si le logiciel installé a besoin de droits d'administrateur pour fonctionner.

Si le programme d'installation n'utilise pas les droits d'administrateur, le logiciel ne peut pas être installé dans le dossier (protégé) Program Files. En installant localement plutôt que globalement, il est possible pour un acteur malveillant de modifier le programme ou d'installer des compléments personnalisés à partir d'un compte local plutôt qu'administrateur. Cela pourrait potentiellement entraîner une escalade de privilèges si quelqu'un exécute ensuite ce programme en tant qu'administrateur.

Les conditions nécessaires pour y parvenir pratiquement sont cependant très éloignées. Il s'agit davantage d'une vulnérabilité théorique que d'une vulnérabilité réelle.

0
niemiro

Votre ISSO a tout simplement tort.

Tout d'abord, si j'ai réussi à créer un programme d'installation qui n'a pas besoin de privilèges d'administrateur mais qui est en fait un logiciel malveillant (par exemple, qui m'envoie tous vos documents), alors il est trivial pour moi de lui faire demander des privilèges d'administrateur. Je me demande vraiment comment la demande de privilèges d'administrateur rendrait ce programme d'installation plus sûr.

Ne pas demander l'approbation ne signifie pas que l'installateur peut faire tout ce qu'il veut. Il ne peut faire que des choses qui ne nécessitent l'approbation. Il ne peut pas faire ces choses sans approbation. Le programme d'installation avec les droits d'administrateur peut faire n'importe quoi sur votre ordinateur et le gâcher complètement. Le programme d'installation sans droits d'administrateur peut faire n'importe quoi dans votre répertoire utilisateur et le gâcher complètement - ce qui est inférieur à ce que le programme d'installation avec des privilèges d'administrateur peut faire.

Désormais, les dégâts ne sont pas nécessairement causés par malveillance, mais souvent par stupidité (alias bugs dans l'installateur). Avec les droits d'administrateur, un programme d'installation a la possibilité de gâcher tout votre ordinateur involontairement. Sans droits d'administrateur, ce risque est considérablement réduit.

(Comme mentionné précédemment, sur les systèmes MacOS récents, les "privilèges d'administrateur" et les "privilèges root" ne sont pas du tout les mêmes, ce qui est utilisé pour protéger le système d'exploitation même contre le code avec les droits d'administrateur).

0
gnasher729

Cela signifie simplement qu'il ne peut pas faire ce qu'un administrateur peut faire. Si une action nécessite des droits d'administrateur, l'exécution du processus nécessitera Elevation. Puisque SourceTree ne demande pas d'élévation, il ne fera rien qui puisse endommager le système.

Par exemple, il ne peut pas:

  • Installer un service Windows
  • Démarrer ou arrêter un service
  • Arrêtez tout processus élevé
  • Installez le pilote de périphérique (signé ou non, ce n'est pas le but).
  • Registre protégé en lecture/écriture
  • Formater un lecteur
  • Modifier la partition de disque
  • Modifier l'heure du système
  • Arrêtez la machine
  • Démarrer un profileur de processus à l'échelle du système
  • Lire le répertoire protégé.
  • Modifiez la configuration de démarrage.
  • Changer la politique de sécurité
  • . . .

Par conséquent, il est préférable et sûr que le programme d'installation (ou tout autre programme) ne demande pas l'exécution du mode Admin.

0
Ajay