1 / 37

Contrôle de compte utilisateur UAC

Contrôle de compte utilisateur UAC. Cyril Voisin Chef de programme Sécurité Microsoft France https:// blogs.technet.com/voy. Pascal Sauliere Consultant Principal Sécurité Microsoft France. Sommaire. Objectif Principes Définitions Meilleure expérience des utilisateurs standards

emily
Télécharger la présentation

Contrôle de compte utilisateur UAC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Contrôle de compte utilisateur UAC Cyril Voisin Chef de programme Sécurité Microsoft France https://blogs.technet.com/voy Pascal Sauliere Consultant Principal Sécurité Microsoft France

  2. Sommaire • Objectif • Principes • Définitions • Meilleure expérience des utilisateurs standards • Modes et modèle d’élévation • Utilisateur standard • Administrateur protégé • Configuration • Compatibilité • Virtualisation • Shims • Contrôle d’intégrité obligatoire (MIC,UIPI) • Manifestes • Conseils • Synthèse

  3. UAC (User Account Control) • Principe de moindre privilège : classique en sécurité • Objectif : un système qui marche pour des utilisateurs standards

  4. Principes d’UAC • Tous les utilisateurs s’exécutent comme des utilisateurs standards même s’ils sont administrateurs • Tâches courantes revues pour fonctionner en tant qu’utilisateur standard • Ne concerne que le logon interactif • Les administrateurs n’utilisent leurs privilèges que pour les tâches ou applications administratives • L’utilisateur fournit un consentement explicite avant d’utiliser des privilèges élevés • Haute compatibilité des applications • Les installateurs d’applications sont détectés • Les applications nécessitant des privilèges « admin » peuvent être marquées comme telles

  5. Définitions • Utilisateur • Compte n’appartenant pas au groupe local Administrateurs • Ne peut pas effectuer des changements sur le système complet (à quelques exceptions près comme les paramètres d’affichage) • Utilisateur à moindre privilège (LUA) ou Utilisateur Standard • Administrateur • Compte appartenant au groupe local Administrateurs (ou à Certificate Administrators, Enterprise Administrators, Schema Administrators…) ou ayant certains privilèges comme Backup, Restore, Debug… • Par défaut les mêmes privilèges qu’un Utilisateur, mais a la possibilité de les élever pour avoir un accès complet à la machine • Administrateur protégé (PA)

  6. Meilleure expérience des utilisateurs standards • Corriger/supprimer les contrôles administratifs inappropriés • Exemple typique : l’horloge système / calendrier • Ajout d’imprimante (dont le pilote est installé sur la machine ou autorisé par l’administrateur par stratégie de groupe), d’autres périphériques, changement de fuseau horaire, défragmenteur, options d’alimentation, ajout d’une clé WEP/WPA, configuration d’un VPN, installation d’ActiveX de sites approuvés par l’administrateur, installation de mises à jour Windows critiques … • Cacher certains éléments de l’interface si l’utilisateur n’est pas administrateur • Utilisateur standard par défaut lors de la création • Bouclier pour identifier lesopérations « admin »

  7. Demande d’élévation de privilèges

  8. Modes d’élévation • Mode Approbation (Demande de consentement) • Mode dans lequel il est demandé son consentement à l’Administrateur avant d’effectuer une tâche administrative –sauf pour le compte Administrateur intégré (RID == 500) • Mode saisie (Demande d’informations d’identification) • Demande d’intervention d’un administrateur (authentification : nom/mot de passe, carte à puce…) • Lorsqu’un Utilisateur effectue une tâche administrative

  9. Modèle d’élévation Privilèges d’administrateur Comment demander élévation:Marquage application Détection installationCorrectif compatibilité (shim)Assistant compatibilitéExécuter en tant qu’administrateur Compte administrateur Privilèges d’utilisateur standard (par défaut) Compte utilisateur standard

  10. Élévation de privilège Systématiquement, par les propriétés de l’exécutable : À la demande :

  11. Interface utilisateur PA Application système Application non signée Application signée

  12. Utilisateur standard (Toby) sous Windows Vista Démo

  13. 2 jetons pour un administrateur Jeton filtré par défaut Privilèges d’un utilisateur standard Jeton complet Privilèges d’un administrateur Consentement par défaut

  14. Administrateur (Abby) sous Windows Vista Démo

  15. Avertissement • Windows Vista permet à un administrateur de faire une utilisation plus raisonnable de ses privilèges mais un administrateur demeure un administrateur • L’objectif global N’est PAS de permettre à plus d’utilisateurs d’être administrateurs mais bien l’inverse

  16. Configuration d’UAC • Par stratégie de groupe (Stratégies locales / Options de sécurité) • 9 paramètres

  17. Configuration d’UAC Démo

  18. Compatibilité • Problème : de nombreuses applications pourraient parfaitement fonctionner en utilisateur standard mais stockent sans raison des infos dans HKLM\Software ou %ProgramFiles% • Emplacement globaux (donc accessibles uniquement aux administrateurs) mais informations par utilisateur et non globales • La solution : virtualisation • Écriture : redirige les écritures « par machine » (disque, registre) vers le profil utilisateur • Program Files, HKLM • Lecture : essaie de lire depuis le profil utilisateur en premier

  19. Virtualisation • Virtualisation des processus dont les opérations ont pour origine la session interactive (pas pour le partage de fichiers par ex.) SAUF SI • Ils sont 64 bits • Ils ont un requestedExecutionLevel dans leur manifeste (cas de la plupart des exécutables de Windows Vista) • Ils s’exécutent avec des privilèges admin

  20. Contrôle du comportement par le manifeste • Windows Vista introduit une nouvelle clé requestedElevationLevel : • asInvoker : s’exécute avec les droits de l’utilisateur • highestAvailable : si utilisateur standard, ne demande rien. Si administrateur, demande élévation • requireAdministrator : demande toujours élévation <description>Windows Firewall Settings</description> <trustInfoxmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo>

  21. Virtualisation • Désactivable par stratégie de groupe • Chemins virtualisés • Système de fichiers • %ProgramFiles% (\Program Files) • %AllUsersProfile% (\ProgramData – ce qui était dans \Documents and Settings\AllUsers) • %SystemRoot% (\Windows) • %SystemRoot%\System32 (\Windows\System32) • Registre • HKLM\Software

  22. Virtualisation • Exceptions: • Système de fichiers • Fichiers avec des extensions d’exécutables (.exe, .bat, .vbs, .scr, etc) • Ajout d’exceptions dans HKLM\System\CurrentControlSet\Services\Luafv\Parameters\ExcludedExtensionsAdd • Registre • HKLM\Software\Microsoft\Windows • HMLM\Software\Microsoft\Windows NT • Autres clés sous Microsoft • Racine virtuelle par utilisateur • %UserProfile%\AppData\Local\VirtualStore • Remarque : les fichiers virtualisés ne font pas partie des profils itinérants • HKEY_CURRENT_USER\Software\Classes\VirtualStore

  23. Visualiser les fichiers virtualisés • Bouton Fichiers de compatibilité dans l’Explorateur

  24. Virtualisation Démo

  25. Compatibilité • Certaines applications ont besoin de davantage d’aide pour tourner en tant qu’utilisateur standard • Windows Vista inclut certaines corrections (shims) en standard • Les utilisateurs peuvent en définir d’autres comme : • ForceAdminAccess : pour les requêtes d’appartenance au groupe Administrateurs • VirtualizeDeleteFile : pour la suppression d’un fichier global • LocalMappedObject : remplace des objets globaux par des objets locaux • VirtualizeHKCRLite, VirtualizeRegisterTypeLib : détourne l’enregistrement global d’objets COM

  26. Corrections (shims) • Utiliser Standard User Analyzer (SUA) pour analyser les applications qui ne fonctionnent par comme utilisateur standard • Téléchargement gratuit • Ne voit pas forcémenttoutes les opérationsadmin • LUA Buglight • Assigner les shims avec le Compatibility Administrator • Partie du Application Compatibility Toolkit5.0 • Crée une base de shims (.sdb) que l’on peut installer manuellement ou avec sdbinst.exe

  27. Isolation des processus élevés • Problème : les processus élevés s’exécutent sur le même bureau que les processus LUA • Solution : Vista isole les fenêtres des processus élevés • User Interface Privilege Isolation (UIPI) • Empêche les malwares de piloter les processus élevés • N’empêche pas les applications d’accessibilité (ex : clavier virtuel) • <requestedExecutionLevellevel="asInvoker“ uiAccess="true"/> • Signature • Emplacement sécurisé (Program Files, Windows\System32)

  28. Niveauxd’intégrité • Niveaux d’intégrité définis par des SIDs : • Low S-1-16-4096 (0x1000) • Medium S-1-16-8192 (0x2000) • High S-1-16-12288 (0x3000) • System S-1-16-16384 (0x4000) • Objets : No-Write-Up – un processus de faible intégrité ne peut pas modifier un objet d’intégrité supérieure • Processus : No-Write-Up + No-Read-Up – pour éviter les fuites d’informations (mots de passe…) • Interface graphique : un processus de faible intégrité ne peut pas envoyer de message à une fenêtre d’un processus d’intégrité supérieure (Shatterattacks)

  29. Accès à des objetsou des processus Objets Processus High High Medium Medium Medium IL Process Low Low Low IL Process Lecture Ecriture

  30. Isolation des processus Niveau d’intégrité Service Système • Processus à différents niveaux sur le même bureau • Le niveau de privilège (admin, LUA) détermine le niveau d’intégrité • Intégrité ~ confiance • Isole les interactions spécifiques entre les niveaux de privilège • Bas ne peut pas écrire dans haut • Blocage à la frontière des niveaux d’intégrité • Attaques Shatter • Injection de DLL • Compatibilité applicative inchangée au même niveau d’intégrité System CPL Console AV Admin Word PPT Utilisateur/LUA IE Limité exe téléchargé

  31. Isolation de processus • Met en place une frontière de séparation des privilèges entre utilisateur LUA et administrateur protégé PA qui empêche l’élévation de privilèges interprocessus • La vérification est faite à chaque fois qu’un processus utilise un objet • Un processus peut démarrer un enfant avec un IL inférieur • Privilège pour lancer dans un IL supérieur : SeRelabelPrivilege

  32. UIPI Démo

  33. Programme Logo Windows Vista • Inclut le respect d’UAC • Manifeste sur chaque .EXE <requestedExecutionLevellevel="asInvoker|highestAvailable|requireAdministrator" uiAccess="true|false"/> • Séparation des tâches administratives • Programme principal pas admin (sauf autorisation demandée à MS; ex: outil système) • Ne pas utiliser uiAccess=True (sauf autorisation; ex : outil d’accessibilité) • Etc. • Signature des exécutables (exe, dll, ocx, sys, cpl, drv, scr) • Signature des pilotes • Respect vie privée (cfAnti-Spyware Coalition) • …

  34. Conseils – en entreprise Bon Mieux Meilleur • Mode Approbation de l’administrateur – pour ceux qui en ont réellement besoin pour : • leur rôle • problèmes de compatibilité applicative non résolus • Utilisateurs standards • Demande d’informations d’identification pour les administrateurs • Ctrl+Alt+Suppr pour l’élévation • Activation de DEP pour IE (nécessite tests des add-ons) • Pas d’élévation pour les utilisateurs standards – tâches administratives par : • stratégies de groupe • ouverture session locale ou bureau à distance

  35. Synthèse • UAC : rendre possible l’utilisation de comptes utilisateurs standards • Protéger le système • Protéger les autres utilisateurs sur le système • Améliorer la compatibilité des applications avec le mode utilisateur standard (virtualisation) • Fournir une méthode sécurisée pour exécuter certaines applications dans un contexte de privilèges élevés • L’élévation est un moyen pratique, pas une frontière de sécurité • Isoler les processus : niveaux d’intégrité, MIC/UIPI

  36. Références • Blog UAChttp://blogs.msdn.com/uac/ • Application compatibility with Windows Vistahttp://technet.microsoft.com/en-us/windowsvista/aa905066 • Understanding and configuring UAC in Windows Vistahttp://technet.microsoft.com/en-us/windowsvista/aa905117

More Related