1 Mise à jour Microsoft du mois d’août

Cette semaine, Microsoft a publié treize bulletins de sécurité pour ses produits. Parmi ces bulletins, quatre traitent de vulnérabilités permettant l’exécution de code arbitraire à distance et deux sont classés comme critiques par l’éditeur.

Les deux bulletins critiques sont :

  • le bulletin MS11-057 qui corrige sept vulnérabilités dans Internet Explorer ;
  • le bulletin MS11-058 qui corrige deux vulnérabilités dans le serveur Windows DNS.

Le CERTA rapelle qu’il est nécessaire d’appliquer l’ensemble de ces mises à jour de sécurité dès que possible.

Documentation

2 Mise à jour Adobe

Adobe a publié cette semaine cinq bulletins de sécurité concernant les produits suivants :
  • Adobe Shockwave Player ;
  • Adobe Flash Media Server ;
  • Adobe Flash Player ;
  • Adobe Photoshop CS5 ;

Les vulnérabilités concernant Adobe Shockwave Player, Adobe Flash Player et Adobe Photoshop CS5 permettent l’exécution de code arbitraire à distance. Il est impératif d’appliquer les mises à jour dès que possible.

Documentation

3 Des fichiers temporaires qui peuvent en dire beaucoup

Il est de temps en temps nécessaire à l’administrateur d’un serveur ou à un webmestre d’éditer un fichier, parfois dans l’urgence, d’un service en production. Que ce soit un fichier de configuration ou un simple élément d’une feuille de style, la modification de ces fichiers passe par un éditeur de texte, plus ou moins évolué, en ligne de commande ou utilisant une interface graphique.

Or la plupart de ces logiciels ont recours à des fichiers temporaires, ou à des fichiers de sauvegarde. Un éditeur en ligne de commande comme vim va, lors de l’ouverture et de l’édition d’un fichier « test.html », créer un fichier temporaire, dans le même dossier que l’original. Ce fichier, nommé « .test.html.swp » dans notre exemple, joue le rôle de verrou exclusif (évitant ainsi l’édition simultanée du fichier original) ainsi que d’historique des modifications apportées à « test.html ». En cas de fermeture inopinée de l’éditeur, ce fichier peut ne pas être supprimé. vim crée également un fichier de sauvegarde, dont le nom est « test.html~» et qui est une copie du fichier « test.html », dans son état avant édition. L’éditeur emacs a un comportement similaire, mais les fichiers temporaires sont alors de la forme « #test.html# ».

Au delà de la multiplication dans une arborescence des fichiers de sauvegarde du type « test.html~», ce comportement peut poser des problèmes de sécurité. En effet, imaginons un fichier « database.php », fournissant à tout script PHP qui en fera l’inclusion une liste de fonctions et d’indentifiants requis pour accéder à une base de données. Si un administrateur édite ce fichier, une copie « database.php~ » apparaîtra dans le même dossier que le script « database.php ». Ce fichier, avec l’extension « .php~» ne sera pas interprété par le serveur Web comme un fichier PHP mais sera servi au client comme un fichier texte, c’est-à-dire en envoyant son contenu brut, et donc les identifiants qu’il contient.

Ce scénario montre qu’il est indispensable de connaître le comportement de chacun des outils utilisés sur un serveur de production. Les manuels des éditeurs de texte indiquent les moyens de désactiver la création de fichiers temporaires et de sauvegarde, ou encore de les créer systématiquement dans un autre dossier de l’arborescence. Une autre possibilité est de configurer les différents services (Web, partage de fichiers, …) afin qu’ils ignorent ces fichiers.

4 Internet et vie privée

Il existe un grand nombre de technologies liées à l’Internet qui permettent à une société de suivre les activités d’un internaute afin, par exemple, de lui proposer de la publicité ciblée. Parmis celles-ci, les plus connues sont sans aucun doute les cookies HTTP et leurs homologues Flash. L’avénement de HTML5 apporte aussi son lot de nouveautés dans ce domaine avec les technologies de type Web Storage (cf. bulletin d’actualité 2011-30).

Une nouvelle méthode vient s’ajouter à cette liste. Il ne s’agit pas d’une nouvelle technologie mais plutôt du détournement d’un mécanisme déjà existant : les ETags.

4.1 Qu’est-ce qu’un ETag?

Un Etag ou plus précisément un HTTP ETag est un code d’identification associé à une ressource par un serveur Web.

Ce code est utilisé par le mécanisme de cache Web. Lors de l’accès initial à une ressource par un client, le serveur Web renvoie au navigateur la ressource qu’il a demandée et également un ETag identifiant ces données. Cet ETag est ensuite renvoyé par le client à chaque accès à la ressource. Si l’ETag envoyé correspond à la ressource demandée, le serveur signifie au client qu’il peut utiliser la version de la ressource dont il dispose dans son cache local. Dans le cas contraire, la ressource modifiée et un nouvel ETag identifiant cette dernière sont envoyés.

4.2 Suivi par ETag

Certains sites Web détournent le mécanisme de cache afin d’assurer le suivi des clients qui les contactent. Le principe est simple : lors de l’accès à une ressource particulière, un ETag propre au client, et non à la ressource, est généré et est retourné avec la ressource au client. Quand ce dernier voudra accéder de nouveau à cette donnée, son navigateur présentera l’ETag qui y est associé au serveur. Le serveur n’a alors plus qu’à comparer cet Etag avec la liste de ceux qu’il a distribués pour identifier le client.

Afin de limiter les effets de ce suivi, il est recommandé de vider régulièrement le cache de son navigateur Web. Il est aussi possible, sur certains navigateurs, de réduire la taille du cache local à 0. Cependant, ce type de configuration à un impact négatif sur la vitesse de navigation : il faut télécharger l’ensemble des données à chaque accès à une ressource.

Documentation

Rappel des avis émis

Dans la période du 01 au 07 août 2011, le CERT-FR a émis les publications suivantes :


Durant la même période, les publications suivantes ont été mises à jour :