Le management des correctifs logiciels

Les failles de sécurité affectent potentiellement tous les utilisateurs du système d’information. Et tous les composants d’un système d’information sont concernés : serveurs, postes de travail, équipements réseaux, système d’exploitation, application, base de données… Les fournisseurs publient régulièrement des correctifs de sécurité. Reste à les gérer correctement.

La multiplication des menaces contre la sécurité informatique exerce une pression constante sur les administrateurs de systèmes, contraints de déployer des correctifs de plus en plus rapidement. L’approche de la gestion des correctifs se déroule en quatre phases : analyse, identification, évaluation et planification et enfin déploiement.

1. Analyser

La phase d’analyse est la plus importante dans la stratégie de management des correctifs. Concrètement, cette phase va consister à réaliser les actions suivantes :

  • l’inventaire exhaustif des ressources, y compris les postes nomades et les périphériques. Il faut pour cela collecter un certain nombre d’informations (identification de toutes les versions des matériels, systèmes d’exploitation, applications, infrastructures, réseaux, identification de qui fait quoi, identification des correctifs déjà installés, des menaces et vulnérabilités connues…
  • l’analyse des risques (concernant l’intégrité, la confidentialité, la traçabilité, la disponibilité). Cette analyse de risques est également basée sur une analyse en continu des informations produites par le système pour signaler les dysfonctionnements ;
  • la mise en œuvre d’un processus de veille : il s’agit d’identifier les meilleures sources d’informations sur les correctifs (presse, sites Web, listes de diffusion, forums…) ;
  • l’analyse des mécanismes de distribution des logiciels dans l’entreprise : elle consiste à vérifier que, dans l’entreprise, il existe ou non des procédures spécifiques pour distribuer les logiciels aux utilisateurs, si elles peuvent être utilisées pour déployer des correctifs et si elles couvrent tous les postes de travail, y compris les nomades ;
  • l’établissement d’un bilan complet des processus, en fonction des ressources, de la configuration logicielle du système d’information et de l’évolution du périmètre physique du système.

2. Identifier

L’objectif de la phase d’identification est d’abord de détecter de nouvelles mises à jour de logiciels (savoir qu’une mise à jour existe, identifier le niveau critique et pouvoir faire confiance à l’émetteur du correctif). Deuxième objectif : déterminer si des mises à jour de logiciels s’appliquent à l’environnement de production.

Installer tous les correctifs prend en effet trop de temps et occasionne un gaspillage de ressources. Et toutes les menaces et toutes les vulnérabilités ne représentent pas forcément un risque majeur pour le système d’information. En outre, il importe de savoir si les systèmes en question présentent la faille que le correctif doit corriger.

Le troisième objectif est d’obtenir des fichiers sources de mise à jour de logiciel et de confirmer qu’ils présentent un niveau de sécurité satisfaisant. Lorsque la source de la mise à jour de logiciel est identifiée et sa pertinence établie pour le système d’information, il faut obtenir les fichiers sources. L’étape suivante va consister à vérifier qu’ils sont sécurisés et vont s’installer correctement.

En attendant la disponibilité d’un correctif, il faut éventuellement envisager de désactiver certains services, faire fonctionner certains systèmes hors connexion ou encore limiter l’accès aux utilisateurs internes ou à d’autres groupes. Enfin, l’étape d’identification consiste à déterminer le degré d’urgence de la mise à jour.

3. Évaluer et planifier

Cette phase détermine si un déploiement de mise à jour est nécessaire, d’en planifier la diffusion et de conduire les tests. L’identification des actions à mener consiste d’abord à déterminer les priorités dans le déploiement des mises à jour et ensuite de les classifier selon leur catégorie (applications, système d’exploitation…).

Le niveau de priorité est particulièrement important parce qu’il détermine la rapidité avec laquelle une mise à jour de logiciel est transmise avec le processus de modification.

Les priorités peuvent être faibles (la mise à jour s’effectue selon la disponibilité des informaticiens), moyennes (la mise à jour peut se cumuler avec d’autres), élevées (mise à jour en quelques jours ou semaines), ou fortes (mise à jour en quelques heures).

Des critères tels que l’impact sur l’infrastructure réseau, la facilité d’installation, l’importance des modifications supplémentaires nécessaires ou l’impératif d’arrêter un système sont également à prendre en compte pour déterminer les degrés de priorité.

La planification consiste à déterminer sur quelles machines ou quels systèmes d’exploitation vont être déployés les correctifs (d’où l’importance de l’inventaire des ressources matérielles et immatérielles), à identifier les éventuelles difficultés (contraintes de temps et de ressources imprévues) et à établir un plan précis de diffusion (et à en surveiller la bonne exécution).

Enfin, les tests permettent de vérifier les prérequis et les dépendances du correctif à l’égard des autres composantes du système d’information, autrement dit son adéquation avec l’environnement concerné.

Cette adéquation passe par la vérification de son efficacité pour supprimer la vulnérabilité concernée, de la possibilité de revenir en arrière en cas de problèmes et de l’indépendance vis-à-vis d’autres correctifs. Généralement, la procédure de test est un compromis entre le besoin de résoudre un problème de sécurité et le besoin de s’assurer que le correctif fonctionne correctement dans l’environnement.

4. Déployer

Le déploiement s’effectue en quatre phases principales. La première phase consiste à déterminer le nombre d’ordinateurs présents, à définitir la façon dont les correctifs peuvent être mis en œuvre sur chacun des postes des travail et des serveurs, et à repérer les processus métiers affectés par la sélection des correctifs à appliquer. Deuxième phase : identifier quels ordinateurs spécifiques nécessitent quels correctifs spécifiques.

Lors de la troisième phase, on va évaluer et planifier le déploiement des correctifs, y compris la phase de test, en prévoyant de pouvoir annuler leur installation en cas d’échec. Elle permet également de décider quels sont les correctifs suffisamment importants pour nécessiter une application immédiate.

Enfin, la quatrième phase est celle du déploiement des correctifs sur les systèmes qui en ont besoin, en vérifiant que tous les correctifs nécessaires ont bien été appliqués et que les systèmes ont bien été redémarrés lorsque cela était nécessaire.

En d’autres termes, le déploiement d’une mise à jour de logiciel se concrétise par trois actions. D’abord, une phase de préparation. L’environnement de production doit être préparé pour chaque nouvelle version. Il faut notamment établir et communiquer à l’avance le planning de déploiement.

Cette phase d’information sera l’occasion de rappeler aux informaticiens et aux utilisateurs ce qu’ils doivent faire, par exemple laisser allumés leurs postes de travail si le déploiement a lieu en dehors des heures de travail, ou les redémarrer à partir d’une certaine période.

Ensuite, une phase de déploiement. Le déploiement proprement dit va consister à avertir les utilisateurs (notamment sur les modalités : téléchargement ou mise à jour automatique), à surveiller que le processus se déroule sans incident et à gérer les éventuels dysfonctionnements. L’aspect sensibilisation des utilisateurs est important.

En effet, il subsiste un certain nombre d’idées reçues parmi les utilisateurs, qui aboutissent à une mauvaise mise en œuvre des correctifs sur le terrain. Ainsi, les utilisateurs estimeront par exemple ne pas être informés, ne pas être concernés, ne pas percevoir l’utilité des correctifs (notamment ceux qui concernent des applications qui ne sont pas critiques), être déjà bien protégés par des antivirus ou être gênés par les procédures lourdes de déploiements.

Cette attitude n’est pas propre aux utilisateurs du système d’information. On la retrouve aussi dans le comportement des responsables informatiques. Ainsi, se posent des problèmes de charge de travail, de retards accumulés, de déploiement uniquement sur les applications et systèmes critiques ou d’oubli des postes nomades.

Enfin, après l’implémentation des correctifs, il y a lieu d’établir un bilan pour identifier les améliorations et/ou les dysfonctionnements par rapport à l’environnement de production d’origine.

Il convient notamment de vérifier que les vulnérabilités corrigées sont correctement documentées, de sorte que la probabilité d’une attaque soit minimisée, que toutes les versions des applications et des systèmes d’exploitation sont bien à jour et que les performances sont mesurées dans la durée, de manière à anticiper des éventuels dysfonctionnements qui ne seraient pas apparus immédiatement.

Les différents niveaux de vulnérabilité
Type d’ordinateur Niveau critique Niveau modéré Niveau faible
Serveurs Internet Dégradation du site Web, arrêt d’un service ou contrôle total. Difficulté d’exploitation, configuration inhabituelle ou effet passager. Impact limité tel que la divulgation de scripts.
Serveurs internes Élévation des privilèges, divulgation ou modification des données. Audit difficile. Divulgation ou modification des données auditables ou arrêt d’un service. Vol ou modification non ciblé(e) ou fragmentaire de données, arrêt d’un service limité.
Systèmes clients Exécution de code arbitraire sans intervention de l’utilisateur, extension des privilèges à distance. Extension locale des privilèges, divulgation de données non ciblées ou arrêt d’un service, exploitation d’actions d’utilisation. Vol ou modification limité(e) ou fragmentaire de données, attaques dangereuses par le Web.
Source : Microsoft.