Академический Документы
Профессиональный Документы
Культура Документы
Introduction
La gestion des correctifs de scurit (plus communment appels patches ) est lune des tches les plus ingrates des quipes dadministration et de scurit des entreprises. Pourtant, nul ne peut sy soustraire sans que des consquences importantes en dcoulent. En effet, il y a encore quelques annes, la gestion des patches ntait ncessaire que sur un sous-ensemble restreint de systmes : principalement les serveurs les plus sensibles et/ou exposs (serveurs joignables depuis Internet par exemple). Ce faisant et en appliquant quelques rgles de scurisation de bon sens, on vitait doffrir sur un plateau des cibles de choix pour les pirates du dimanche et autres scripts-kiddies . Malheureusement, aujourdhui, ce nest plus aussi simple. La cause, il faut la chercher du cot des virus et autres vers auto-propagateurs principalement. La menace a en effet volu et sest mme automatise avec lapparition de vers exploitant des failles de scurit de logiciels largement rpandus sur le march pour pntrer les systmes non patchs, tels CodeRed, Nimda et autres Blaster. Pire, le primtre vulnrable sest considrablement largi : il ne suffit plus de protger les serveurs sensibles ou exposs dont on parlait plus haut, car toute machine (tel le PC dun utilisateur lambda) est source potentielle de contamination. Limpact unitaire nest, il est vrai, que de faible intensit, mais lorsque des centaines, voire des milliers de PC sont infects par des vers balayant des plages dadresses entires la recherche de machines vulnrables, cest le rseau interne (LAN voire WAN) de lentreprise qui fait grise mine. Sans parler des ventuels effets de bord des vers ou virus en question (destruction de fichiers, diffusion de documents confidentiels situs dans le rpertoire Mes Documents ou sur le Bureau tout le carnet dadresses, etc.). Ltude des principaux vers ayant affect les entreprises du monde entier durant ces dernires annes montre par ailleurs que la situation ne fait quempirer. En effet, de Nimda Blaster par exemple, la priode de gestation des vers (entre la publication de la vulnrabilit par lditeur concern et lapparition dun ver exploitant la faille en question) sest considrablement raccourcie : 11 mois pour Nimda, 6 mois pour SQL Slammer et seulement trois semaines pour Blaster (on peut mme citer Witty, affectant les produits ISS : 1 journe !).
11 mois
6 mois 5 mois
3 sem.
1 jour
Nimda
SQL Slammer
Welchia Nachi
Blaster
Witty
Intervalle entre la rvlation dune nouvelle vulnrabilit et son exploitation par un ver De plus, la vitesse de propagation des vers (entre lapparition des premires instances du ver et latteinte du nombre maximal de machines contamines) sacclre : quelques jours pour CodeRed, quelques minutes seulement pour SQL Slammer :
jours
heures
minutes
CodeRed
Nimda
SQL Slammer
En clair, il est urgent dagir si lon ne veut pas passer son temps (et son argent) ragir en cas de contamination. Une solution consiste dfinir une politique de gestion des correctifs adapte la menace du moment et aux contraintes mtier de lentreprise et limplmenter laide des outils disponibles sur le march. Nous allons donc, dans cet article, commencer par un panorama des outils de gestion des correctifs de scurit dans un environnement Windows avant de prsenter un exemple de mise en uvre au sein dune entreprise du secteur tertiaire.
O : sur la totalit des ordinateurs. Mme les PC portables doivent tre patchs. Cest la raison pour laquelle il est impratif quils se reconnectent rgulirement au rseau de lentreprise. Do les correctifs doivent-ils tre tlchargs ? Depuis un ou plusieurs serveurs centraux, en utilisant typiquement le plus proche. Comment : les patches sont appliqus automatiquement, en tche de fond, de faon ce que lopration soit transparente pour lutilisateur. Si ncessaire, un redmarrage du systme devra tre planifi. Des informations pertinentes doivent tre enregistres dans des logs pendant et aprs lopration. Une telle politique de gestion de patches peut tre implmente laide de certains outils diffuss par Microsoft. Nous allons maintenant analyser certains de ces outils.
MBSA
MBSA (Microsoft Baseline Security Analyzer) est lun des outils Microsoft les plus simples. Il est issu lorigine de la socit Shavlik. Une version gratuite de cet outil peut tre tlcharge lURL suivante : http://www.microsoft.com/technet/security/tools/mbsahome.mspx La dernire version gnrique de MBSA est la 1.2, mais une nouvelle version, la 1.2.1, est ncessaire afin de pouvoir tre compatible avec le SP2 de Windows XP : il offre une meilleure intgration avec les amliorations de scurit du SP2. MBSA 1.2.x peut effectuer des scans en local ou distance sur des systmes Windows NT 4.0, Windows 2000, Windows XP, et Windows Server 2003. En plus des patches de scurit Windows, il supporte galement un grand nombre de produits Microsoft : IIS 4.0, 5.x, 6.0 SQL Server 7.0, 2000 IE 5.01+ Exchange Server 5.5, 2000, 2003 Windows Media Player 6.4 et plus Microsoft Office (scans locaux seulement) MDAC 2.5, 2.6, 2.7, and 2.8 Microsoft Virtual Machine BizTalk Server 2000, 2002, 2004 Commerce Server 2000, 2002 Content Management Server 2001, 2002 Host Integration Server 2000, 2004, and SNA Server 4.0.
MBSA peut tre excut en mode graphique (lancer mbsa.exe) ou en ligne de commande (lancer mbsacli.exe). Dans le second mode, il est possible dutiliser des
fichiers batches afin dautomatiser loutil. Par exemple, le script qui suit scanne un systme et enregistre les rsultats dans un fichier XML :
set cname=%computername% set uname=%username% "C:\Program Files\MBSA\mbsacli.exe" /nvc /nosum /c %cname% /n IIS+OS+SQL+Password /o %cname% copy "%userprofile%\SecurityScans\%cname%.xml" "\\%cname%\c$\Documents and Settings\%uname% \SecurityScans\"
MBSA remplace les anciens outils HFNetChk et MPSA. Afin dmuler le mode de fonctionnement de HFNetCheck, on peut lancer MBSA avec les paramtres suivants :
mbsacli.exe -hf -?
http://xml.shavlik.com/mssecure.cab (version 4.0) http://xml.shavlik.com/mssecure.xml Si MBSA ne peut pas tlcharger le fichier mssecure.xml, il utilise la copie locale (la dernire version tlcharge en local). Ainsi, vous pouvez tlcharger le fichier mssecure.xml de Shavlik et lutiliser avec MBSA ! Mais notez que cest une opration non supporte par Microsoft. 3 Puis MBSA analyse le niveau de patches du systme scann par rapport au rfrentiel de scurit. 4 MBSA dtecte les patches de scurit manquants, ainsi que les Service Packs, et affiche les messages correspondants dans son rapport. Le fichier mssecure.xml est un fichier prcieux : il contient tous les correctifs de scurit publis depuis 1998, avec des informations descriptives. Pour chaque patch, sont indiques notamment les informations suivantes : Description Chemin daccs au fichier de mise jour Chemin, version et somme de contrle du patch Les cls de registre modifies par le patch.
Le fichier mssecure.xml contient aussi un historique des anciens correctifs inclus depuis dans des patches cumulatifs ou des Service Packs. Ce fichier XML est bien sr modifi chaque fois quun nouveau correctif de scurit est publi.
Parfois, MBSA ne peut que vrifier la valeur de certaines cls de registre afin de dterminer si un patch est install ou non. Par exemple, dans le MS03-037, des cls de registre communes sont prsentes pour chaque version de vbe6.dll mais les versions ou les sommes de contrle sont diffrentes :
Patch NOT Installed MS03-037 Q822150 File C:\Program Files\Common Files\Microsoft
Shared\VBA\VBA6\vbe6.dll has an invalid checksum and its file version [6.4.99.69] is equal to what is expected [6.4.99.69].
Quand un patch qui nest pas un correctif de scurit crase des fichiers prcdemment patchs, MBSA indique les fichiers corrigs comme tant non srs :
Warning MS03-023 Q823559 File C:\Program Files\Common Files\Microsoft Shared\TextConv\msconv97.dll has a file version [2003.1100.5510.0] greater than what is expected [2003.1100.5426.0].
Par ailleurs, la langue par dfaut de lordinateur analys dtermine aussi si les tests de checksums sont effectus ou non (options /hf, /sum et /nosum).
Scripter MBSA
Les scans de MBSA peuvent tre automatiss en utilisant des scripts : vous pouvez ainsi raliser des tests large chelle ainsi que permettre des utilisateurs ayant des privilges rduits de vrifier eux-mmes leur niveau de scurit sans avoir besoin dappeler le service informatique. Pour plus dinformation, voir : http://www.microsoft.com/technet/security/tools/mbsascript.mspx Vous pouvez par exemple tlcharger les scripts batchscan.js et rollup.js, qui permettent de scanner un nombre illimit de systmes ou dadresses IP partir dun fichier, tout en compilant les rsultats dans un rapport de synthse unique (fichier XML) qui peut tre visualis laide dInternet Explorer.
Windows Update
Windows Update est un outil de vrification et dinstallation en ligne de patches qui peut tre utilis selon deux modes : un mode manuel, avec Internet Explorer pointant sur ladresse http://windowsupdate.microsoft.com, et un mode automatique, utilisant le service Automatic updates comme partie cliente. Windows Update est idal pour les compagnies de petite taille. Lorsquil est utilis en mode automatique, le service Automatic Updates, qui permet une mise jour automatique et en tche de fond, ncessite que le service BITS (Background Intelligent Transfer Service) soit activ : ce service utilise la bande passante non exploite afin de tlcharger les patches depuis le site Web de Microsoft, de faon rendre le processus totalement transparent pour lutilisateur. Windows Update nutilise pas le mme mcanisme que MBSA. Le client WU vrifie que chaque patch a t correctement install sur lordinateur local. Pour ce faire, il effectue des vrifications plusieurs niveaux :
Cls de registre (situes dans HKLM\SOFTWARE\Microsoft\Updates\Windows [VERSION]\SP[X]\KBxxxxxx) Liste de fichiers sur le disque Version et somme de contrle de ces fichiers.
Le processus de mise jour tourne en tche de fond et reste transparent pour un utilisateur normal. Les notifications de nouveaux patches sont prsentes lutilisateur logu localement seulement sil a les privilges Administrateur :
Ce type de notification a exactement le mme aspect quavec le client MSUS (voir cidessous).
ncessaires. Ensuite, les postes utilisateurs se connectent automatiquement lun des serveurs internes de faon tlcharger et appliquer les patches valids. Remarque : contrairement WindowsUpdate, MSUS ne vrifie pas le numro de srie des logiciels installs MSUS utilise une interface dadministration Web (http://sus.votreintranet.com/SUSAdmin/) et a besoin dIIS sur les serveurs MSUS internes. Les outils IISLockdown et URLScan sont automatiquement installs sur ces serveurs IIS durant le setup de MSUS afin de les scuriser.
Les administrateurs doivent alors approuver les nouvelles mises jour avant quelles ne puissent tre appliques sur les ordinateurs du rseau local. Une architecture MSUS avance ressemble ceci :
10
Administrateur local
Internet
Validation
Rplication
Administrateur
Aprs approbation des patches par ladministrateur, les mises jour peuvent tre dans lun des tats suivants : New (aucun choix na t fait par ladministrateur) Approved (approuv) Not approved (non approuv) Updated (une nouvelle version du patch vient dtre tlcharge. Il sagit dune sorte de mta-patching ou patch dun patch) Temporary unavailable (le patch associ nest pas disponible ou une dpendance na pas t trouve). Notez quun correctif qui a dj t appliqu et qui est ensuite marqu not approved par un administrateur ne pourra plus tre dsinstall par le client AutoUpdate. Cela ne sera plus le cas avec WUS (Windows Update Services, le nouveau nom MSUS version 2.0) qui sera capable de dsinstaller des patches prcdemment appliqus. MSUS est un outil trs puissant qui permet dimplmenter la politique typique que nous avons prsente prcdemment en rpondant aux diffrentes questions poses : Qui : le service Automatic Updates tourne avec les privilges SYSTEM. Si un utilisateur est Administrateur, il a le choix dappliquer ou pas les patches (voir plus haut). Les utilisateurs normaux ne peuvent pas refuser lapplication automatique des patches, mais ne peuvent pas installer des patches de leur propre initiative. Dailleurs, une fois que MSUS est install sur votre rseau interne, il est recommand dappliquer des rgles de filtrage sur votre Proxy HTTP sortant. Les sites autoriser pour le serveur SUS primaire sont les suivants : http://www.msus.windowsupdate.com http://download.windowsupdate.com
11
http://cdm.microsoft.com De plus, les sites interdire pour tout autre systme (serveurs et stations de travail), de faon viter linstallation manuelle de correctifs par les utilisateurs, sont les suivants: http://www.windowsupdate.com http://windowsupdate.microsoft.com Quoi : MSUS ne peut installer que les patches de scurit de Windows, cest--dire les correctifs de scurit, les SRP (Security Rollup Packages), les mises jours critiques de Windows ainsi que les Service Packs. Le serveur SUS vrifie la signature des mises jour afin dtre sr quils ont bien t mis par Microsoft. Les mises jour appropries sont alors automatiquement slectionnes (parmi celles qui ont t valides par ladministrateur), en fonction de lordinateur cible (version de lOS, langue, etc.). MSUS supporte des mises jour en 31 langues. Quand : les patches sont appliqus automatiquement chaque jour, une heure prcise que vous pouvez dfinir. Un dlai alatoire entre les diffrents clients permet dviter des connexions simultanes sur le serveur SUS. Les patches sont aussi appliqus au moment du dmarrage, si lheure spcifie est dpasse. O : les patches sont appliqus sur chaque ordinateur ayant le client Automatic Updates configur. Un pull HTTP est utilis afin de rcuprer les mises jour depuis le serveur MSUS. Comment : les mises jour sont dabord testes et approuves par ladministrateur. Ensuite, les correctifs sont transfrs entre le serveur SUS principale et les serveurs SUS secondaires, puis vers les clients, en tche de fond, en optimisant la bande passante grce au service BITS. Puis les patches sont automatiquement appliqus sur chaque ordinateur, en tche de fond ou non. Si ncessaire (dans 30% des cas environ), un unique redmarrage est effectu. Enfin, les journaux de synchronisation et dapprobation (au format XML) sont mis jour. Nous tudierons plus loin le contenu de ces journaux. MSUS offre des points de distribution multiples pour les patches Windows. Chaque serveur SUS peut servir jusqu 15000 clients (daprs Microsoft). Vous pouvez spcifier un ou plusieurs points dapprobation et de journalisation : il est possible de diffrentier chaque serveur MSUS parmi ces deux rles, dans leur configuration, mme si un seul serveur peut avoir les deux rles simultanment. La rplication entre les serveurs SUS internes est galement base sur les services Automatic Updates et BITS, permettant dutiliser la bande passante non utilise du rseau. Malgr ceci, le transfert des mises jour peut tre trs long (parfois plusieurs jours !). Il faut en effet prciser quun jeu complet de patches pour un systme tournant sous Windows 2000 / XP / 2003 reprsente actuellement environ 600 Mo par langue gre (non compris Windows XP SP2, qui fait environ 270 Mo).
12
Le client MSUS est dj prsent dans Windows 2000 SP3 ou plus, Windows XP SP1 et Windows Server 2003. Pour les versions plus anciennes de Windows, il peut tre tlcharg sous forme de setup depuis lURL suivante : http://www.microsoft.com/windows2000/downloads/recommended/susclient/default.asp Il remplace Critical Update Notification et prcisons quil ne peut pas tre dsinstall. Le client est ses paramtres peuvent tre dploys sur une station de travail en utilisant des GPOs ou des fichiers ADM (WUAU.ADM, disponible dans %WINDIR%\INF). Les paramtres sont stocks dans la cl de registre suivante : HKLM\SOFTWARE\Policies\Microsoft \Windows\WindowsUpdate\AU. Ces paramtres sont: Ladresse du serveur SUS (cl WUServer) ; Le planning de mise jour (cls ScheduledInstallDay et ScheduledInstallTime) ; Les types de tlchargement et dinstallation (cl AUOptions) : vous pouvez choisir deffectuer une notification avant de tlcharger le patch et/ou de le faire avant son installation ; Redmarrage automatique ou non (cl NoAutoRebootWithLoggedOnUsers). Si lutilisateur connect est Administrateur local, il a la possibilit de redmarrer immdiatement ou pas. Sil nest pas Administrateur, le redmarrage est forc. Vous pouvez aussi choisir de ne pas redmarrer automatiquement sil y a des utilisateurs connects et dattendre le prochain redmarrage manuel.
13
x.internetexplorer6x.ver_platform_win32_nt.5.2.x86.en. ..3790...com_microsoft.q824145_ie_server2003.&D=&P=5.2 .ece.2.112.3.0&L=en-US&S=f&E=80190193&M=ctx%3D5&X= 040108110352351 80 - 123.123.123.123 Industry+Update+ Control 200 0 0 Le champ Client_ID est un ID unique affect chaque ordinateur sur le rseau. Le champ Status indique ltat de linstallation du patch sur le client. Les valeurs possibles pour ce champ sont les suivantes : s Succs r Succs (redmarrage ncessaire) f Echec c Annul (par lutilisateur) d Dclin (par lutilisateur) n Pas de patch (aucun correctif ntait disponible pour le systme client) p En attente
Vous pouvez utiliser loutil SUS Statistics Report tool pour produire des rapports partir des logs de MSUS. Cet outil gratuit peut tre tlcharg lURL suivante : http://www.susserver.com/Software/SUSreporting/ Cependant, il est recommand de contrler ltat des machines du rseau aprs chaque dploiement de correctif, laide dun scan MBSA (voir plus haut), et deffectuer une analyse des logs MBSA pour dtecter les ordinateurs sur lesquels les patches nont pas t appliqus avec succs. Des logs sont galement gnrs ct client pendant le processus de mise jour. Ces logs indiquent si linstallation des patches sest faite avec succs ou non. Ils sont contenus dans les fichiers suivants : %programfiles%\WindowsUpdate\V4\IUHist.xml %windir%\Windows Update.log
14
Vous pouvez galement approuver automatiquement les nouveaux correctifs, sans avoir le faire manuellement dans linterface Web dadministration de MSUS. En effet, SUS stocke sa base de donnes de correctifs dans des objets dictionnaires au format texte, situs dans le fichier suivant : C:\InetPub\wwwroot\autoupdate\dictionaries\ApprovedIte ms.txt Chaque correctif possde un enregistrement de la forme : com_microsoft.q311889_xp_5081,1@|0@|0@|2003-0801T15:06:35 Le premier "1" aprs la description indique ltat du correctif : 0= non approuv, 1 = approuv, 2 = nouveau, etc Donc un simple rechercher/remplacer sur ce champ va mettre jour la base de donnes de MSUS avec un nouvel tat, remplaant ainsi le processus manuel. MSUS va relire sa base de donnes la prochaine fois quil effectuera une synchronisation avec les serveurs de Microsoft, et considrera donc les correctifs comme approuvs. Vous pouvez trouver dautres outils et scripts lURL suivante : http://www.susserver.com/Tools/ Certains problmes surviennent de manire rcurrente : par exemple, les mmes correctifs sont appliqus et rappliqus sans fin sur lun des postes de travail. Dans ce cas, les critres de dtection des correctifs peuvent tre incorrects, ou la mise jour choue, ou encore linstallation russit mais lun des lments de dtection de mise jour nest pas correctement cr. Pour corriger cela, il est ncessaire de consulter la base de connaissance de Microsoft pour savoir quels sont les critres de dtection et de faire les modifications ncessaires la main, dans la Registry notamment. Un autre problme provient du fait que certains correctifs et le patch cumulatif qui est cens les contenir sont appliqus un par un sur une machine. Malheureusement, MSUS 1.0 ne gre pas les patches cumulatifs. Il faut donc attendre la version 2.0 de MSUS et, en attendant, dsapprouver les correctifs individuels inclus dans les patches cumulatifs suivants.
MSUS et SMS
MSUS peut sintgrer SMS 2.0 et SMS 2003 grce au SMS SUS Feature Pack , qui est gratuit et qui comprend plusieurs outils : Security Update Inventory Tool Microsoft Office Inventory Tool for Updates Distribute Software Updates Wizard Web Report Add-ins for Software Updates Elevated-rights Deployment Tool
15
Avec le SMS SUS Feature Pack, il est possible de dployer des patches pour toutes les plates-fomes et toutes les applications, et plus seulement les correctifs de scurit de Windows. Il est galement possible de suivre ltat des installations sur les clients : pour cela, loutil mbsacli.exe est envoy sur tous les clients pour effectuer un scan local (mbsacli.exe /hf), et le rsultat est analys pour savoir si lapplication de certains correctifs a chou. Mais SMS est un produit coteux, et les petites entreprises ne sont pas disposes lutiliser.
Microsoft a galement dcid de diffuser les correctifs de scurit non urgents une fois par mois (le deuxime mardi de chaque mois). Cela permettra aux administrateurs deffectuer des cycles mensuels de tests et de diffusion des patches, afin que les correctifs individuels soient diffuss ensemble. Les mthodes dinstallation vont passer de 8 actuellement 2 seulement : MSI 3.0 et UPDATE.EXE. La taille des correctifs sera rduite. Aujourdhui, la rduction de taille est dhors et dj de 35% environ. Avec WUS, cette rduction atteindra 80%, selon Microsoft. De plus, une technologie de delta patching , dj en fonction sur Windows Update, sera utilise, et le processus sera amlior avec MSI 3.0. La dure dindisponibilit sera rduite galement. Actuellement, la diminution du nombre de redmarrages est dj de 10% avec Windows 2000 / XP / 2003. Les redmarrages seront rduits de 30% avec Windows 2003 SP1 et jusqu 70% avec la prochaine version Serveur, selon Microsoft. Aprs cette tude des outils de gestion des patches, nous allons maintenant voir comment une politique de gestion des correctifs de scurit peut tre implmente dans le monde rel.
16
Programme permettant dexploiter une faille de scurit au sein dun applicatif, souvent la base dun ver.
17
Internet
Pull Serveur MSUS central (intgration)
Rplication
Firewall Validation Pull Serveur MSUS de la filiale Equipes scurit / production Download automatique Installation manuelle
La mise en uvre sest faite grce MSUS. Un serveur central a t install au Sige de la Division, tandis que des serveurs esclaves ont t mis en place dans chacun des sites dploys. Ainsi, lors de la validation dun patch en central, les serveurs locaux viennent tlcharger les correctifs avant de les diffuser sur les postes dfinis, laide de GPO Windows (Group Policy Objects). Depuis son implmentation avec MSUS, dbut 2004, cette politique a t enrichie et amliore plusieurs reprises. Les points prendre en compte sont notamment : La programmation des tlchargements par zones gographiques, afin dviter la saturation du rseau lors des transferts de correctifs. Tenir compte des ventuels redmarrages aprs application des patches : en effet, certains correctifs ncessitent le reboot de la machine aprs leur application. Une politique spcifique doit tre mise en place pour les postes nomades (de lexclusion du rseau des postes non jour au patchage automatique). Vrifier rgulirement le degr dapplication des correctifs au sein du parc avec des scanners (MBSA notamment ou outils tiers) et lventuelle apparition de systmes non jour.
Conclusion
Comme nous lavons expliqu plus haut, aucune Entreprise ne peut aujourdhui saffranchir de la mise en place dune politique efficace de gestion des correctifs de scurit. Si de nombreux outils existent (et nous navons pas dtaill les produits de tldistribution tels que SMS ou autres produits tiers), leur mise en uvre ncessite une
18
vritable rflexion globale afin de limiter le temps dexposition une faille tout en ne pnalisant pas lactivit de lentreprise. Il faut noter que Microsoft semble uvrer dsormais de faon importante afin dune part de rendre ses logiciels moins vulnrables (configuration par dfaut plus restrictive pour Windows Server 2003 par exemple) ou exposs (firewall embarqu activ par dfaut dans Windows XP SP2, protection de la mmoire contre les buffer overflows dans Windows 2003 et Windows XP SP2), tout en facilitant encore la gestion des correctifs (avec MSUS 2.0). Ceci tant dit, de nouvelles formes de hacking automatis risquent toujours dapparatre un jour ou lautre, rendant la veille plus que jamais indispensable lanticipation des problmatiques de scurit de demain.
19