La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft.

Présentations similaires


Présentation au sujet: "Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft."— Transcription de la présentation:

1 Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft France

2 Bon à savoir Pour récupérer les présentations mises à jour, se connecter sur rubrique événements Pour poser une question que vous navez pas eu le temps de poser durant une session

3 Sommaire Pourquoi vous auriez tout intérêt à utiliser un compte utilisateur normal, même si vous êtes administrateur Comment faire sans devenir dingue Les conseils Des démos, des démos, des démos !

4 DéfinitionsNon-Admin Utilisateur avec pouvoir Nest PAS un Non- Admin ! Typiquement : Utilisateurs, Utilisateurs du domaine LUA Limited User Account Least-privileged User Account Principe du moindre privilège

5 Les expositions aux risques ne manquent pas Navigation sur le Web Messagerie instantanée Jeux sur Internet Lecteurs audio/vidéo Et ce, quel que soit le fournisseur des applications

6 Ce quun compte Admin peut faire, quun LUA ne peut pas faire : Installer des rootkits en mode noyau Installer des keyloggers au niveau système (pour capture les mots de passe, y compris ceux saisis à louverture de session) Installer des contrôles ActiveX, y compris des extensions de lexplorateur ou dIE (activité courante pour les spywares) Installer et démarrer des services Arrêter des services existants (comme le pare-feu par exemple) Accéder à des données qui appartiennent à dautres utilisateurs Faire en sorte que du code sexécute lorsquun autre utilisateur ouvrira une session Remplacer des fichiers dapplications ou du système dexploitation par des chevaux de Troie Accéder aux secrets LSA (dont les mots de passe des comptes de service du domaine servant) Désactiver ou désinstaller lanti- virus Créer ou modifier des comptes utilisateurs Réinitialiser des mots de passe Modifier le fichier hosts et dautres paramètres de configuration du système Éliminer ses traces dans le journal des événements Rendre votre machine incapable de démarrer …

7 Mais mon métier est dêtre administrateur… Dans ce cas, ouvrir une session avec un compte normal et exécuter en tant quadmin uniquement les tâches administratives La plupart des utilisateurs en entreprise ne devrait jamais avoir besoin de privilèges élevés

8 Le cas des développeurs Développer sans être administrateur Améliore votre logiciel Vous permet de trouver les bugs plus rapidement Diminue les coûts de développement Est plus sûr Les bugs LUA La fonctionnalité ne marche que si on est admin Cause : le développeur était admin de sa machine ! ça marche sur ma machine ! Dépense non nécessaire Résolution: Refaire limplémentation ou même ré-architecturer ou Demander les privilèges admin pour exécuter le produit

9 Je suis en sécurité parce que … … je suis à jour au niveau des correctifs … je maintiens à jour mon antivirus … jutilise un pare-feu … jutilise Windows XP SP2 … jutilise Microsoft AntiSpyware ! … jai un mot de passe fort … je nouvre pas les pièces jointes étranges dans les s … je fais attention à où je navigue … je ninstalle pas nimporte quel logiciel … jai du bon sens / je suis rusé … je nai jamais été infecté …

10 Et les Zero-Day Exploits ? Vulnérabilités sans correctifs Reverse-engineering du correctif dès sa sortie Divulgation publique avant larrivée du correctif Vulnérabilités inconnues jusqualors Lexploitation précède la divulgation publique

11 Exemple : Download.Ject Zero-day pour Internet Explorer Exploitation venant de sites Web légitimes Ce nétait pas la première fois, et ça ne sera probablement pas la dernière

12 Non-admin et les rootkits Sujet de la dernière session de la journée La plupart des rootkits nécessitent des privilèges Admin Installent/chargent des pilotes noyau Installent des services Détournent des fonctions noyau ou des interruptions Modifient les structures de données du noyau Les rootkits en mode LUA Plus faciles à détecter Moins dendroits où se cacher et assurer leur démarrage automatique Naffectent quun seul utilisateur

13 OK, cest bon je suis convaincu. Et comment fait-on ?

14 Passer Admin quand cest nécessaire Changement rapide dutilisateur (Fast User Switching) Windows XP Edition Familiale Windows XP Professionnel, hors domaine Les sessions de logon sont isolées les unes des autres Suggestion pour lusage domestique : Un LUA par personne, compte invité optionnel Un compte Admin Pas de mots de passe !

15 démodémo Changement rapide dutilisateur

16 RunAs Démarre un programme avec un utilisateur différent (ou le même mais avec un jeton de sécurité modifié) Même bureau En ligne de commande ou avec une boîte de dialogue dans linterface graphique Les programmes « fils » héritent du contexte de sécurité de leur « parent » Démarrer CMD en tant quadmin Lancer des applications depuis ce CMD Elles sexécutent en tant quadmin

17 Boîte de dialogue Exécuter en tant que (RunAs) Menu contextuel par clic droit Applis, raccourcis Console MMC (.msc) Shift+clic droit pour : Les applis du Panneau de configuration (.cpl) Les liens spéciaux Windows Installer

18 Boîte de dialogue Exécuter en tant que (RunAs) Faire en sorte quun raccourci propose systématiquement la boîte de dialogue Exécuter en tant que Propriétés du raccourci, Propriétés avancées

19 RunAs en ligne de commande Exemple : runas /u:Administrateur cmd.exe

20 RunAs – Indication visuelle cmd.exe /t:4f /k cd c:\ && title ***** Console admin ***** runas.exe /user:%computername%\Administrator "cmd.exe /k color 4f && title ** Console Admin **" Utiliser la commande color -? pour trouver les couleurs qui vous vont bien..

21 RunAs – indication visuelle Image de fond pour IE et lexplorateur Réglé via TweakUI par ex.

22 PrivBar Exécution dIE en tant quadmin: … comme utilisateur avec pouvoir : … comme utilisateur normal : … avec Protéger ma machine:

23 PrivBar (suite)

24 démodémo RunAs / PrivBar / TweakUI

25 RunAs et les fichiers.MSI Les fichiers Windows Installer (.msi) noffrent pas loption RunAs On peut lajouter dans les Options des dossiers ou En exécutant tout simplement le fichier depuis un CMD Admin : C:\Downloads> gpmc.msi

26 Parfois RunAs ne fonctionne pas Certaines applications sont mono-instances Lexplorateur de Windows Microsoft Office Word Certaines applications sont lancées par le shell ShellExecute[Ex]DDE La version précédente de WindowsUpdate (v5)! (v6 dispo depuis le 6 juin !!)

27 RunAs et lexplorateur Deux solutions : Indiquer à lexplorateur dexécuter plusieurs instances Launch folder windows in a separate process Avertissement concernant ce paramétrage Ou utiliser Internet Explorer à la place "" /b "%ProgramFiles%\Internet Explorer\iexplore.exe" %* Exemple : ie c:\

28 démodémo RunAs et lexplorateur

29 Problèmes liés à lutilisation dun compte Admin local Pas daccès aux ressources du domaine Des paramètres de profil différents Certaines applications supposent que la personne qui linstalle est celle qui va lutiliser Paramètres de stratégie par utilisateur Options dalimentation Solution ? Script MakeMeAdmin dAaron Margosis

30 MakeMeAdmin Élévation temporaire au niveau Admin de votre compte actuel Résultat : CMD sexécute en tant que votre compte normal mais avec des privilèges Admin Les applications démarrées depuis ce CMD héritent de ce contexte de sécurité Disponible sur le blog dAaron Margosis

31 démodémo MakeMeAdmin

32 Autres remarques Il nest pas possible dutiliser un IE admin via RunAs pour mettre à jour la machine depuis Windows Update v5 (il faut soit ouvrir une session complète séparée, soit faire une installation automatique ; linstallation de mise à jour à lextinction de la machine fonctionne en LUA) Regedit est mono-instance (utiliser /m) Changement dheure non permis en tant que LUA Attribuer le privilège SeSytemTimePrivilege Attention : tolérance limitée de Kerberos

33 Autres remarques Pour savoir quel est le compte Set username Whoami Dans un CMD en RunAs, le Ctrl+C ne marche pas : utiliser Ctrl+Break Panneau de configuration : possibilité de lancer des.cpl directement (si Explorateur configuré correctement) Winsudo

34 Astuces Modifier la configuration réseau ou activer / désactiver la carte Wi-Fi : ajouter son compte du domaine dans le groupe local Network Configuration Operators Pour les grands voyageurs qui veulent changer leur time zone en fonction du continent sur lequel ils se trouvent, ajouter pour son compte la permission Set Value sur la clé HKLM\SYSTEM\CurrentControlSet\Control\T imeZoneInformation

35 Astuces pour les scripts Trouver le nom du groupe local Administrateurs avec psgetsid.exe : off setlocal for /F "skip=1 tokens=2" %x in ('psgetsid S ') do set ADMINNAME=%x echo ADMINNAME=%ADMINNAME% endlocal Trouver le nom de l'administrateur local avec psgetsid.exe off setlocal for /F "skip=1" %x in ('psgetsid %computername%') do set COMPSID=%x for /F "skip=1 tokens=2" %x in ('psgetsid %COMPSID%-500') do set ADMINNAME=%x echo ADMINNAME=%ADMINNAME% endlocal psgetsid.exe Déterminer si on est administrateur ou non, avec whoami.exe des Support Tools de Windows XP off whoami.exe /groups /noverbose | find "BUILTIN\Administrat" if "%ERRORLEVEL%"=="0" ( echo Admin!! ) else ( echo Non admin !! )

36 Développeurs 90% des programmes ne fonctionnent pas sans les privilèges administrateurs à cause de : Écriture dans %ProgramFiles%, %windir% Écriture dans HKEY_LOCAL_MACHINE (HKLM) Pour faire en sorte quun programme sexécute sans les privilèges administrateurs : ACT 4.01 (Application Compatibility Toolkit ) : Outil gratuit sur le site web de Microsoft Regmon et Filemon : outils gratuits de sysinternals Emprunt didentité (Impersonation) : lorsquun thread sexécute sous un contexte de sécurité différent de son processus père. Attention : tous les threads dun processus partagent la même table des handles.

37 Longhorn LUA est un des objectifs de cette version

38 RessourcesRessources

39 Références Site sécurité : Le blog non-Admin dAaron Margosis : Le Wiki Non-Admin : Browsing the Web and Reading Safely as an Administrator Part 1: us/dncode/html/secure asp Part 2: us/dncode/html/secure asp us/dncode/html/secure asphttp://msdn.microsoft.com/library/en- us/dncode/html/secure asp us/dncode/html/secure asphttp://msdn.microsoft.com/library/en- us/dncode/html/secure asp

40 Références TweakUI: /powertoys/xppowertoys.mspx /powertoys/xppowertoys.mspx /powertoys/xppowertoys.mspx Outils SysInternals : Developing Software in Visual Studio.NET with Non-Administrative Privileges =/library/en- us/dv_vstechart/html/tchDevelopingSoftwareInVis ualStudioNETWithNon- AdministrativePrivileges.asp =/library/en- us/dv_vstechart/html/tchDevelopingSoftwareInVis ualStudioNETWithNon- AdministrativePrivileges.asp =/library/en- us/dv_vstechart/html/tchDevelopingSoftwareInVis ualStudioNETWithNon- AdministrativePrivileges.asp How to develop code as a non-admin to_runasnonadmin.html to_runasnonadmin.html to_runasnonadmin.html

41 Autre idée (peu recommandée) Pour les irréductibles : comment exécuter de applications avec des privilèges réduits lorsque l'on est administrateur, avec l'outil DropMyRights.exe de Michael Howard /columns/default.aspx?pull=/library/en- us/dncode/html/secure asp /2005/01/17/ aspx /columns/default.aspx?pull=/library/en- us/dncode/html/secure asp /2005/01/17/ aspx

42 Remerciements Aaron Margosis Arnaud Jumelet

43 Microsoft France 18, avenue du Québec Courtaboeuf Cedex

44 ComplémentsCompléments

45 Le panneau de configuration Access.cplAppwiz.cplDesk.cplHdwwiz.cplInetcpl.cplIntl.cplIrprops.cplFirewall.cplJoy.cplMain.cplMmsys.cplNcpa.cplNusrmgr.cplNetsetup.cplOdbccp32.cplPowercfg.cplSysdm.cplTelephon.cplTimedate.cplWscui.cplWuaucpl.cpl Propriétés d'accessibilité Ajout/Suppression de propriétés de programmes Propriétés d'affichage Propriétés Ajout de matériel Propriétés Internet Propriétés Paramètres régionaux Propriétés Port infrarouge Pare-feu Windows Propriétés de manette Propriétés de souris Propriétés multimédia Propriétés Connexions réseau Propriétés de comptes d'utilisateur Assistant Réseau Sans-fil Propriétés Data Source Administrator (ODBC) Propriétés Options d'alimentation Propriétés système Propriétés Options de modems et téléphonie Propriétés de temps et date Centre de sécurité Windows Mises à jour Automatique Utiliser cmd.exe + fichier.cpl

46 Compléments Runas /netonly Ne pas faire save credentials avec runas (par principe de sécurité) Dans XP Home, pas de PowerUser, seulement 2 groupes : Owners et Users Usage domestique – jeux : choisir loption « Installer pour tous les utilisateurs de cet ordinateur » si lapplication propose ce choix. Dans le cas contraire ladministrateur sera la seule personne capable de pouvoir jouer au jeu à la fin de linstallation

47 Utilisation Familiale Créer un Administrateur sans mot de passe (louverture de session ne sera possible que de façon interactive, pas de netlogon et runas) Créer un utilisateur limité Différencier les 2 comptes avec un fond décran spécial pour ladministrateur

48 Winsudo

49 Winsudo

50 Winsudo %windir%\system32\runas /user:administrator "cmd /c start \"\" control timedate.cpl && %windir%\system32\eventcreate.exe /ID 700 /T INFORMATION /D \"WINSUDO:CPL_DATE_AND_TIME-RUNAS_ADMIN\""

51 Jeton La fonction CreateProcessWithLogon génère un jeton en créant une nouvelle session de connexion avec un processus initial. La commande RunAs fonctionne de cette manière. Note : restriction mot de passe vide pour Windows XP et Windows Server 2003

52 PrivilègesSeCreateTokenPrivilegeSeLockMemoryPrivilegeSeMachineAccountPrivilegeSeSecurityPrivilegeSeLoadDriverPrivilegeSeSystemtimePrivilegeSeIncreaseBasePriorityPrivilegeSeCreatePermanentPrivilegeSeRestorePrivilegeSeDebugPrivilegeSeSystemEnvironmentPrivilegeSeRemoteShutdownPrivilegeSeSyncAgentPrivilege SeAssignPrimaryTokenPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege SeIncreaseQuotaPrivilege SeTcbPrivilege SeTcbPrivilege SeTakeOwnershipPrivilege SeTakeOwnershipPrivilege SeSystemProfilePrivilege SeSystemProfilePrivilege SeProfileSingleProcessPrivilege SeProfileSingleProcessPrivilege SeCreatePagefilePrivilege SeCreatePagefilePrivilege SeBackupPrivilege SeBackupPrivilege SeShutdownPrivilege SeShutdownPrivilege SeAuditPrivilege SeAuditPrivilege SeChangeNotifyPrivilege SeChangeNotifyPrivilege SeUndockPrivilege SeUndockPrivilege SeEnableDelegationPrivilege SeEnableDelegationPrivilege

53 Privilèges SeBackupPrivilege : revient à donner les permissions suivantes sur lensemble du système de fichier présent sur lordinateur local : Traverse Folder/Execute File, List Folder/Read Data, Read Attributes, Read Extended Attributes et Read Permissions.

54 Privilèges SeDebugPrivilege : Lutilisateur peut sattacher à nimporte quel processus pour le débugger. Ce privilège nest pas requis pour débugger vos propres programmes.

55 Privilèges SeLoadDriverPrivilege : Lutilisateur est autorisé à installer et désinstaller un pilote de périphérique. Il peut également démarrer et stopper les périphériques. Les pilotes de périphériques sexécutent en mode noyau, et peuvent ainsi prendre le contrôle total du système.

56 Privilèges SeSytemTimePrivilege : Lutilisateur est autorisé à changer lheure de lhorloge interne de son ordinateur. A partir de Windows 2000, par défaut, les utilisateurs ne possèdent pas ce privilège afin de pas interférer avec lauthentification Kerberos.

57 Privilèges SeRestorePrivilege : Lutilisateur est autorisé à passer outre les permissions sur le système de fichiers afin de restaurer des fichiers et des dossiers. Peut également redéfinir le propriétaire dun objet.

58 Privilèges SeTakeOwnershipPrivilege : Permet à un utilisateur de devenir le propriétaire de nimporte quel objet comportant un descripteur de sécurité. Cela inclut les objets Active Directory, les fichiers et les répertoires, les imprimantes, les clés de registre, les processus…

59 Autres NeoExec de NeoValens - un outil qui permet de définir des privilèges au niveau des applications. Le principe est de définir pour certaines applications qu'elles s'exécuteront toujours avec le privilèges administrateur. Utile à la maison pour certains jeux.


Télécharger ppt "Principe du moindre privilège en action Cyril Voisin Chef de programme Sécurité Microsoft France Pascal Sauliere Consultant Principal Sécurité, CISSP Microsoft."

Présentations similaires


Annonces Google