Академический Документы
Профессиональный Документы
Культура Документы
PREMIER MINISTRE
Secrtariat gnral de la dfense et de la scurit nationale Agence nationale de la scurit des systmes dinformation
Paris, le 6 dcembre 2013 No DAT-NT-13/ANSSI/SDE/NP Nombre de pages du document (y compris cette page) : 14
Note technique Recommandations pour la mise en uvre dune politique de restrictions logicielles sous Windows
Informations
Avertissement Ce document rdig par lANSSI prsente les Recommandations pour la mise en uvre dune politique de restrictions logicielles sous Windows . Il est tlchargeable sur le site www.ssi.gouv.fr. Il constitue une production originale de lANSSI. Il est ce titre plac sous le rgime de la Licence ouverte publie par la mission Etalab (www.etalab. gouv.fr). Il est par consquent diusable sans restriction. Ces recommandations sont livres en ltat et adaptes aux menaces au jour de leur publication. Au regard de la diversit des systmes dinformation, lANSSI ne peut garantir que ces informations puissent tre reprises sans adaptation sur les systmes dinformation cibles. Dans tous les cas, la pertinence de limplmentation des lments proposs par lANSSI doit tre soumise, au pralable, la validation de ladministrateur du systme et/ou des personnes en charge de la scurit des systmes dinformation.
Personnes ayant contribu la rdaction de ce document: Contributeurs BAS, BAI, BSS Rdig par BAS Approuv par SDE Date 6 dcembre 2013
volutions du document : Version 1.0 Date 6 dcembre 2013 Nature des modications Version initiale
Pour toute remarque: Contact Bureau Communication de lANSSI Adresse 51 bd de La Tour-Maubourg 75700 Paris Cedex 07 SP @ml Tlphone
communication@ssi.gouv.fr
01 71 75 84 04
Page 1 sur 13
Mise en uvre dune stratgie de restrictions logicielles avec AppLocker 3.1 Dmarche pralable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Raliser un inventaire des applications utilises . . . . . . . . . . 3.1.2 Activer et congurer AppLocker sur les congurations . . . . . . Conguration des rgles . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Crer les rgles pour les excutables . . . . . . . . . . . . . . . . 3.2.2 Crer les rgles pour les scripts et les installeurs . . . . . . . . 3.2.3 Crer les rgles pour les bibliothques (optionnel) . . . . . . . . . Tester les rgles mises en place et aner leur conguration si ncessaire Maintenir les rgles jour au gr des volutions des congurations . . .
3.2
3.3 3.4 4
Annexes A B Les variables de chemin daccs utilises par AppLocker Liste non exhaustive des vnements gnrs par AppLocker
Page 2 sur 13
1 Prambule
Lintrt principal des mcanismes de restriction logicielle rside dans la possibilit de restreindre lexcution des programmes une liste de programmes dment autoriss (liste blanche). Le principe dune liste blanche procure plusieurs avantages : une meilleure protection contre les programmes malveillants : en empchant systmatiquement lexcution des programmes non rpertoris dans la liste, on bloque galement ceux susceptibles de contenir un code malveillant, que ce dernier soit connu ou non des bases de signature de lantivirus ; un blocage de linstallation ou de lutilisation de logiciels indsirables, en particulier ceux qui sont susceptibles de ralentir ou de rendre instables les congurations, et qui dans tous les cas augmentent la surface dattaque des congurations ; un blocage de linstallation ou de lutilisation de logiciels sans licence. Sur un systme jour de ses correctifs de scurit et respectant le principe de sparation des privilges, lactivation des mcanismes de restriction logicielle augmente sensiblement la matrise des congurations. Enn, en rgle gnrale, lactivation des mcanismes de restriction logicielle nengendre pas de ralentissement sur la machine, cette mesure est totalement transparente pour lutilisateur.
R1
Pour mettre en uvre une politique de restrictions logicielles ne, il est prfrable dutiliser Applocker plutt que SRP .
R2
Pour une meilleure lisibilit du comportement dAppLocker, il est prfrable de nutiliser que des rgles du type AUTORISER avec si ncessaire des exceptions.
Lautorisation ou le refus dexcution dun programme est conditionn la vrication de rgles pour lesquelles trois types dirents existent : les rgles bases sur le chemin daccs, qui permettent dautoriser ou de refuser lexcution de chiers se trouvant dans le rpertoire et les sous-rpertoires du chemin. Pour dsigner les rpertoires classiques du systme de chiers, AppLocker utilise des variables qui sont direntes des variables denvironnement de Windows (voir le tableau de correspondance en annexe A) ; les rgles bases sur une signature lectronique, permettent dautoriser seulement les chiers signs par un diteur donn, et rpondant ventuellement dautres critres comme le nom du produit, le nom du chier et sa version ; les rgles bases sur lempreinte cryptographique (sha256) dun chier, qui nautorisent que le chier correspondant lempreinte.
1. Ce paragraphe est une synthse des lments fournis par Microsoft sur le site technet.microsoft.com que le lecteur est invit consulter pour tout complment dinformations ou toute prcision sur le fonctionnement dAppLocker. 2. Le paramtre est accessible dans larborescence suivante : conguration ordinateur -> stratgies -> modles dadministration -> composants Windows -> Explorateur Windows-> Dnir le lien dune page web de support.
Page 4 sur 13
Les rgles bases sur le chemin daccs orent une grande souplesse, mais exigent en contre-partie la matrise dans le temps du contenu et des autorisations des rpertoires associs an de sassurer que seuls des programmes lgitimes peuvent sy trouver. En gnral, la mise jour dun logiciel noblige pas modier les rgles existantes. Les rgles bases sur une signature lectronique obtenue laide de certicats de conance orent quant elles plus de scurit et, selon leur conguration, une souplesse gomtrie variable. Les mises jour des programmes sont en gnral transparentes. Les rgles bases sur des empreintes orent le meilleur niveau de scurit car elles nautorisent que les chiers correspondant lempreinte cryptographique. Par contre, lors de la mise jour dun logiciel, les rgles doivent la plupart du temps tre modies. De faon analogue aux rgles, les exceptions peuvent sappliquer un rpertoire, une signature lectronique ou une empreinte de chier, et ce quel que soit le type de la rgle auxquelles elles sont rattaches.
R3
Lorsque cela est possible, il convient dutiliser des rgles bases sur la signature lectronique pour autoriser ou refuser lexcution dun programme en stant assur au pralable que les certicats et les autorits de certication sont de conance.
Page 5 sur 13
R4
Lorsquil nexiste pas dinventaire exhaustif des applications utilises dans une organisation, la fonctionnalit daudit dAppLocker peut tre utilise pour identier les applications inconnues.
Figure 1 Conguration dAppLocker en mode audit 3.1.2 Activer et congurer AppLocker sur les congurations Une fois linventaire des applications ralis, il reste activer le mcanisme et crer les rgles correspondantes sur la conguration de rfrence. AppLocker ne fonctionne que si le service Identit de lapplication est dmarr. R5 Pour activer AppLocker sur une conguration, le service AppIdSvc - Identit de lapplication - doit tre congur pour dmarrer automatiquement au lancement du systme.
Page 6 sur 13
R6
Les congurations sur lesquelles AppLocker est dploy doivent tre utilises avec un compte utilisateur standard. Les utilisateurs ne doivent en aucun cas disposer de privilges dadministration locaux.
AppLocker peut tre congur au travers dune stratgie locale (applicable une machine donne) ou bien une stratgie de groupe (Group Policy Object) lorsque les machines sont rattaches un domaine. Dans ce cas, il est conseill de tester pralablement la stratgie en mode audit sur un chantillon reprsentatif du parc informatique, puis de lappliquer progressivement sur lensemble du domaine.
une rgle autorisant les administrateurs excuter les chiers depuis tous les emplacements.
Il est noter que la rgle cre par dfaut pour c:\Windows autorise de fait lexcution de programmes depuis des emplacements sur lesquels un utilisateur standard dispose des droits dcriture, par exemple c:\Windows\temp, c:\Windows\tasks ou encore c:\Windows\system32\spool\drivers\color. Ainsi, tout utilisateur standard peut contourner cette rgle de faon triviale, en crant ou en copiant un programme dans ces emplacements. Pour remdier ce problme, il est recommand de lister lensemble des rpertoires accessibles en criture aux utilisateurs standard et dajouter des exceptions de type chemin daccs la rgle par dfaut. Un logiciel comme AccessEnum pourra tre avantageusement utilis pour identier rapidement les rpertoires en question.
R7
Lorsquune rgle de type chemin daccs est utilise, le dossier spci ainsi que ses sous-dossiers ne doivent tre accessibles en criture quaux administrateurs et aux entits SYSTEM. Pour les sous-rpertoires de Windows accessibles en criture par les utilisateurs, la rgle cre par dfaut pour c:\Windows doit tre complte par lajout dexceptions sur ces derniers.
R8
Note : Une mthode alternative est de supprimer la rgle par dfaut au prot dune rgle de type Editeur nautorisant que les composants signs Microsoft Operating System . De faon analogue, la rgle cre par dfaut pour c:\Program Files autorise tous les programmes de ce dossier sexcuter. Il convient donc de sassurer que toutes les applications prsentes cet emplacement sont autorises. Parmi ces applications, il convient aussi de sassurer quaucune ny a cr No DAT-NT-13/ANSSI/SDE/NP du 6 dcembre 2013 Page 8 sur 13
de rpertoire accessible aux utilisateurs en criture. Nanmoins, sur un parc informatique existant, il est peu probable que toutes les congurations soient homognes. Aussi, pour une meilleure matrise des applications autorises sexcuter et une meilleure lisibilit des rgles, il est prfrable de supprimer la rgle par dfaut au prot de rgles autorisant explicitement les applications stockes cet emplacement. R9 Il est recommand de supprimer la rgle par dfaut concernant c:\Program Files et de la remplacer par des rgles autorisant explicitement chaque application de cet emplacement sexcuter.
Note : Une mthode alternative est de supprimer la rgle par dfaut au prot de rgles bases sur les signatures numriques des applications ou, lorsque possible, les empreintes. On notera la prsence dun assistant permettant de gnrer automatiquement les rgles des excutables en scannant les dossiers dans lesquels ils se trouvent. Lassistant permet de choisir entre 2 algorithmes : cration de rgles bases sur des signatures numriques le cas chant, dans le cas contraire lassistant propose au choix de crer une rgle base sur lempreinte ou sur le chemin daccs ; cration de rgles bases exclusivement sur les empreintes des chiers. Bien que cet assistant facilite la tche de cration des rgles, il convient de sassurer que les rgles ainsi gnres ne sont pas trop permissives.
Figure 4 Dmarrage de lassistant de gnration automatique de rgles 3.2.2 Crer les rgles pour les scripts et les installeurs Les rgles pour les scripts et les installeurs doivent galement tre congures. Sagissant des installeurs , les rgles cres par dfaut nautorisent que les chiers signs ou se trouvant dans c:\Windows\installer (non accessible en criture aux utilisateurs). Sur un rseau bien administr, ces rgles ne posent pas de problme particulier. En ce qui concerne les scripts, les rgles par dfaut nautorisent lexcution de ces derniers que depuis c:\Windows, ce qui, comme vu prcdemment, peut tre contourn. R10 Supprimez les rgles autorisant lexcution des scripts depuis c:\Windows. Nautorisez que des scripts signs numriquement ou dsigns explicitement par leur empreinte.
Page 9 sur 13
3.2.3 Crer les rgles pour les bibliothques (optionnel) Par dfaut, les rgles concernant les bibliothques ne sont pas appliques. Un message davertissement met en garde ladministrateur concernant un possible impact sur les performances ainsi que des comportements inattendus si les rgles ne sont pas correctement dnies.
Figure 5 Activation des rgles DLL En fonction des congurations logicielles, lactivation des rgles DLL peut eectivement ncessiter lajout plus ou moins consquent de rgles spciques an de garantir le bon fonctionnement des applications. Quoi quil en soit, lactivation des rgles DLL est toujours considrer, des vulnrabilits peuvent tre exploites pour charger une bibliothque contenant un code malveillant. R11 Dans la mesure du possible, activez les rgles concernant les DLL en cochant la case dans longlet avanc de la fentre de conguration de mise en application des rgles. linstar des rgles relatives aux excutables, les rgles par dfaut doivent tre compltes par lajout dexceptions portant sur les sous-rpertoires des chemins daccs qui restent accessibles en criture aux utilisateurs.
R12
Page 10 sur 13
3.3 Tester les rgles mises en place et aner leur conguration si ncessaire
Lorsque les rgles ont t cres et testes avec succs sur la conguration de rfrence, elles doivent tre testes en conditions relles. Dans un premier temps, an dviter de bloquer les utilisateurs, la conguration en mode audit pourra savrer utile. Pour faciliter lanalyse de lensemble des vnements gnrs sur les machines, il est possible de centraliser ces derniers grce la fonction de collecte des vnements disponible depuis 2003 R2, Vista SP1 et Windows 2008. La collecte des vnements peut se faire en crant un abonnement sur la machine prvue cet eet, ce qui permet en outre de slectionner seulement les vnements intressants grce un ltre de requte. Une liste non exhaustive des vnements gnrs par AppLocker est fournie en annexe B. Il est galement possible dobtenir des statistiques sur les chiers qui sont (ou seraient) bloqus par une stratgie AppLocker grce la cmdlet Powershell GetAppLockerFileInformation. Par exemple, la commande suivante permet de connatre le nombre de fois quun chier aurait t bloqu si les rgles avaient t appliques : Get-AppLockerFileInformation -EventLog -Logname c:\...\fichier-log -EventType Audited -Statistics Dans un deuxime temps, AppLocker pourra tre dploy sur une partie du parc informatique, de prfrence sur un chantillon reprsentatif, puis, si les tests sont concluants, tendu lensemble du domaine.
Page 11 sur 13
Les rgles AppLocker autorisent ou empchent le lancement des programmes, mais nexercent aucun contrle sur le comportement des programmes une fois lancs. En utilisant des fonctions avec des paramtres spciaux 3 , un programme peut lancer des excutables ou des bibliothques sans que les rgles ne sappliquent. En particulier, les modules dextension (greons, plugins, etc.) de certains logiciels peuvent tre exploits par un attaquant pour contourner les restrictions dApplocker. R14 Les programmes autoriss sexcuter doivent avoir fait lobjet de vrications pour sassurer quils ne comportent pas de fonctionnalits susceptibles de permettre un contournement dApplocker. Les utilisateurs ne doivent pas tre autoriss installer des modules dextension.
AppLocker ne contrle pas lexcution de tous les codes interprts existants, comme par exemple les scripts Perl ou les macros. Des mesures de scurit supplmentaires doivent tre prises an de restreindre les possibilits en la matire. R15 Les logiciels orant des possibilits de scripting doivent tre paramtrs de faon restreindre les possibilits dexcution des codes interprts. Dans le cas dune suite bureautique, outre le paramtrage restreignant lexcution aux seules macros signes et de conance, il est recommand dempcher lutilisation de lditeur de macros.
Les applications 16 bits ne sont pas contrles par AppLocker car celles-ci sont excutes dans une machine virtuelle instancie par le processus NTVDM - NT Virtual Dos Machine (c:\Windows\system32\NTVDM.exe). R16 Si aucune application 16 bits nest utilise dans votre organisation, dsactivez la fonction NTVDM avec lditeur de stratgie de groupe 4 .
3. Lorsque la fonction LoadLibraryEx() est appele avec le drapeau LOAD_IGNORE_CODE_AUTHZ_LEVEL, les rgles AppLocker sont ignores (voir la page Security Considerations for AppLocker sur le site technet.microsoft. com). 4. La fonction peut tre dsactive en se rendant dans larborescence suivante : Conguration ordinateur -> modeles dadministration -> composants Windows -> compatibilit des applications 16 bits -> Empcher laccs aux applications 16 bits.
Page 12 sur 13
EXE ou DLL.
Script ou Installeur
Page 13 sur 13