Existe-t-il un fichier binaire (.exe) dans le dossier System32 responsable des fonctionnalités de Windows UAC? (par exemple, uac.exe
). Que se passerait-il si ce fichier était supprimé de force? Windows se briserait-il ou échouerait-il au démarrage?
Il n'y a pas de problème XY ici; Je suis simplement curieux de savoir ce qui se passerait si l'UAC était supprimé de force d'un PC.
Réponses:
UAC est une architecture multi-composants implémentée par plusieurs binaires
Le contrôle de compte d'utilisateur (UAC) fait référence à plusieurs composants qui forment ensemble l' architecture UAC . J'examinerai brièvement certains d'entre eux ainsi que les binaires responsables de leur implémentation, mais voici d'abord un aperçu de l'architecture UAC de l'article Microsoft Docs Comment fonctionne le contrôle de compte d'utilisateur :
Autorité de sécurité locale (LSA) / jeton filtré
Conceptuellement, le «premier» composant de l'UAC est implémenté par le sous-système Local Security Authority qui gère la création du jeton d'accès d'un utilisateur pendant le processus de connexion. À partir de Windows Vista, le processus d'ouverture de session a été modifié de sorte que lorsqu'un administrateur ouvre une session avec l'UAC activé, le sous-système LSA génère deux jetons d'accès distincts pour l'utilisateur:
Comme indiqué ici, ce processus est différent de celui d'une connexion utilisateur standard:
Le service de sous-système LSA vit dans le
lsass.exe
processus.Virtualisation
Ajouté dans Windows 7, la virtualisation des fichiers et du registre est un composant de l'UAC qui shims les applications plus anciennes qui ne sont pas conformes à l'UAC mais qui ne nécessitent que des droits administratifs pour accéder à certaines zones protégées du système de fichiers ou du registre:
La source
En redirigeant ces tentatives d'accès vers des zones qui ne nécessitent pas d'autorisations d'administrateur, ces applications continuent de fonctionner même si l'UAC est activé sur le système.
Cette virtualisation est implémentée dans le noyau .
Service d'information sur les applications
Le service d'informations sur les applications (AIS) lit le manifeste d'une application et travaille avec l'invite de consentement UAC pour déterminer si une application est autorisée à s'exécuter avec des droits élevés (c'est-à-dire démarrer dans le contexte du jeton d'accès de niveau administratif non filtré créé à l'ouverture de session) . Ce billet de blog donne un bon aperçu de son rôle dans le processus UAC:
Voici un graphique qui suit la citation ci-dessus détaillant le rôle d'AIS dans le processus d'invite de consentement UAC:
L'AIS est implémenté dans la DLL
appinfo.dll
qui est exécutée parsvchost.exe
.Invite de consentement
La réponse de @ BenN explique le rôle clé de la (dans) la célèbre UAC Consent Prompt. Ceci est implémenté dans
consent.exe
et est responsable de l'obtention du consentement de l'utilisateur ou des informations d'identification d'un utilisateur administratif afin de permettre le lancement d'une application nécessitant des droits d'administrateur.Bureau sécurisé
Le bureau sécurisé est l'endroit où l'invite de consentement UAC s'affiche par défaut. L'UACBlog de Microsoft nous dit ce qui est unique à propos de ce bureau par rapport au bureau utilisateur:
L'idée derrière son utilisation lors de la demande du consentement de l'utilisateur pour exécuter une application avec des autorisations élevées est que les logiciels malveillants ne peuvent pas imiter Secure Desktop à moins qu'il ne dispose déjà de droits administratifs, auquel cas inciter un utilisateur à les accorder est théorique.
Conclusion: UAC n'est pas seulement un binaire. C'est un tissu de sous-systèmes entrelacés.
Il y a encore d'autres aspects de l'architecture UAC non couverts ici, mais cela devrait fournir suffisamment de preuves pour les faits que:
Depuis son introduction dans Windows Vista, il a été profondément intégré dans les parties clés du système d'exploitation, ce qui rend impossible la suppression de tout le code responsable de l'UAC sans casser d'autres choses (telles que votre capacité à vous connecter!)
Je pense qu'il est prudent de dire que si vous "supprimiez de force" l'UAC, vous briseriez Windows.
la source
Comme Twisty l'a très bien expliqué , il existe de nombreux composants qui aident à implémenter l'UAC. La partie de l'UAC que les gens connaissent le mieux est la boîte de dialogue d'élévation / consentement:
Ceci est fourni par
consent.exe
"UI de consentement pour les applications administratives". J'ai essayé de le renommer dans une machine virtuelle et de voir ce qui se passe. Comme prévu, aucune invite d'élévation n'apparaît lors de l'utilisation de «exécuter en tant qu'administrateur» - à la place, vous obtenez une erreur de fichier introuvable qui blâme la chose que vous essayez d'élever:Essayer d'utiliser un élément de l'interface utilisateur du panneau de configuration qui nécessite une élévation (c'est-à-dire avec l'icône de bouclier), même s'il est connecté en tant qu'administrateur, échoue avec des erreurs similaires. Essayer de lancer des tâches administratives à partir du menu Démarrer génère une erreur légèrement différente:
En fonction de l'ACL défini lors du changement de nom qui a tout cassé, il pourrait être impossible de résoudre ce problème à partir du système d'exploitation, car les opérations sur les fichiers peuvent nécessiter une élévation (même si elles ne produisent généralement pas la boîte de dialogue de consentement). Les activités de type utilisateur normal ne semblent cependant pas être dégradées.
la source
consent.exe
, un attaquant qui peut le faire est déjà de l'autre côté de l' écoutille hermétique et a des façons plus simples de faire de mauvaises choses.