Mise au point sur MS08-067

La publication cette semaine d'une mise à jour de sécurité particulière a donné lieu à tant de questions et commentaires -et ce n'est pas terminé- que cela mérite quelques éclaircissements et mises au point.

Deux questions reviennent le plus souvent, et représentent les vraies préoccupations de nos clients :

  • Quel est l'urgence d'appliquer la mise à jour ?
  • Comment protéger mes systèmes sous NT4, Windows 2000 SP3, Windows XP SP1 ?

Une chose intéressante à constater est que la plupart des questions trouvent leur réponse dans le bulletin de sécurité lui-même. Le niveau de gravité y est précisé :

Il s'agit d'une mise à jour de sécurité de niveau « critique » pour toutes les éditions prises en charge de Windows 2000, Windows XP, Windows Server 2003 et de niveau « important » pour toutes les éditions prises en charge de Windows Vista et Windows Server 2008.

Le bulletin décrit également la nature de la vulnérabilité (exécution de code, prise de contrôle à distance par RPC), les facteurs d'atténuation (le pare-feu par défaut, l'authentification nécessaire pour Vista et Server 2008), ainsi que des méthodes de contournement (désactiver le service Serveur, bloquer l'UUID RPC concerné, bloquer les ports 139 et 445). Cela permet de se faire son idée sur l'urgence de la mise à jour en fonction de son propre environnement.

Par exemple, un serveur web IIS, sur lequel le pare-feu local n'autoriserait que les ports 80 et 443 en entrée et le port SQL 1433 en sortie vers le serveur SQL en back-end, ne serait pas vulnérable et sa mise à jour pourrait attendre un arrêt planifié. Par contre, les systèmes Windows sur le réseau interne de l'entreprise, dans lequel (1) l'authentification des communications est "naturelle" dans le domaine, et (2) les ports 139 et 445 sont ouverts dans les pare-feu locaux par stratégie de groupe pour les besoins quotidiens de partage et d'administration, la mise à jour de TOUS les systèmes est impérative et extrêmement urgente.

Sans tomber dans la paranoïa, il faut également savoir que les spécialistes n'ont eu besoin que de quelques heures pour écrire des exploits après la publication de la vulnérabilité. Ces exploits sont donc dans la nature depuis maintenant plusieurs jours.

À la première question, la réponse est donc clairement : à vous de juger avec les éléments disponibles, mais le plus rapidement est le mieux --le délai est à compter en jours, certainement pas en semaines.

À propos de la deuxième question concernant les versions de Windows qui ne sont plus supportées, voici ce qui est indiqué dans le bulletin :

Microsoft a testé les logiciels suivants afin de déterminer quelles versions ou éditions sont concernées. Toute autre version ou édition a soit atteint la fin de son cycle de vie ou bien n'est pas affectée. Consultez le site Web Politique de Support Microsoft afin de connaître la politique de support Microsoft pour votre version ou édition.

Le Microsoft Support Lifecycle Blog a également un article suite à MS08-067 pour préciser les conditions de support des produits.

Aujourd'hui, les versions de Windows bénéficiant de mises à jour de sécurité sont les suivantes (détails) :

  • Windows 2000 SP4 : disponibilité générale le 26/6/2003, supporté jusqu'à 24 mois après la sortie du prochain Service Pack, ou la fin du support du produit (13/7/2010)
  • Windows XP SP2 : disponibilité générale le 17/9/2004, supporté jusqu'au 13/7/2010
  • Windows XP SP3 : disponibilité générale le 21/4/2008, supporté jusqu'à 24 mois après la sortie du prochain Service Pack, ou la fin du support du produit (8/4/2014)
  • Windows Server 2003 SP1 : disponibilité générale le 30/3/2005, supporté jusqu'au 14 avril 2009.
  • Windows Server 2003 SP2 : disponibilité générale le 13/3/2007, supporté jusqu'à 24 mois après la sortie du prochain Service Pack, ou la fin de support du produit (14/7/2015)
  • Windows Vista, disponibilité générale le 25/1/2007, supporté jusqu'au 13/4/2010
  • Windows Vista SP1 : disponibilité générale le 4/2/2008, supporté jusqu'à 24 mois après la sortie du prochain Service Pack ou la fin de support du produit (11/4/2017) -- si un nouveau Service Pack est publié en 2009, Windows Vista SP1 sera supporté jusqu'en 2011.
  • Windows Server 2008 : disponibilité générale le 6/5/2008, supporté jusqu'à 24 mois après la sortie du prochain Service Pack ou la fin de support du produit (10/7/2018) -- si un nouveau Service Pack est publié en 2009, Windows Server 2008 sera supporté jusqu'en 2011.

Alors, que faire des Windows non supportés, vulnérables et sans mise à jour ? La question est non seulement légitime, mais particulièrement douloureuse. Et malheureusement, il n'y a pas de solution miracle à cette situation. Ce n'est d'ailleurs pas la première fois que ce problème est soulevé, comme MS06-040 en était un exemple il y a deux ans, sur une vulnérabilité très similaire.

Dans un monde idéal, la question ne se poserait pas, les évolutions de version se faisant en dehors des périodes de crise, régulièrement, avec la sérénité qui convient à ces opérations maintes fois répétées : avec 6 Service Packs pour Windows NT 4.0, 4 pour Windows 2000, 3 pour Windows XP, 2 pour Windows Server 2003 et un pour Windows Vista, on pourrait penser qu'une telle évolution est monnaie courante. La réalité est beaucoup plus rude, quelles qu'en soient les raisons.

Il est intéressant de réaliser que cette crise est l'occasion d'un retour à la réalité à la fois pour Microsoft (tout le monde ne suit pas les versions au rythme de leur sortie) et pour ses clients (suivre les versions est utile, notamment en cas de crise de ce genre). Et en cela elle aura des effets positifs.

Cela dit, pratiquement, que fait-on ? Il n'y a malheureusement pas de réponse satisfaisante à la question des versions non supportées de Windows. Sans mise à jour, il faut chercher le bon mélange des différentes solutions de contournement qui peuvent exister, parmi lesquelles :

  • Désactiver le service Serveur (*)
  • Bloquer localement les ports 139 et 445 (possible même sur NT4 dans les paramètres TCP/IP) (*)
  • Segmenter le réseau et bloquer les ports 139 et 445 au niveau de routeurs filtrants (*)
  • Installer un système d'IPS réseau et tenir à jour ses signatures en fonction de l'évolution des exploits et menaces (**)
  • Migrer au plus vite tous les systèmes périmés et se focaliser sur les dysfonctionnement et incompatibilités

(*) Ces solutions ont un impact fort sur les fonctionnalités réseau.

(**) Ce type de solution a l'inconvénient de procurer un faux sentiment de sécurité, et de retarder les migrations et mises à jour nécessaires des systèmes.

La dernière solution est bien sûr extrême, mais présente à mes yeux un mérite : elle permet de concentrer ses efforts sur une action positive, à savoir faire fonctionner les applications sur un environnement supporté, plutôt que de perdre du temps sur un problème insoluble qui, même résolu, aboutirait toujours sur une situation intenable. Mais ce n'est que mon avis personnel.