1 Activité en cours

1.1 Les inclusions de pages PHP

Cette semaine, le CERTA a, une nouvelle fois, traité des incidents de défigurations de sites Web vulnérables à des attaques dites de PHP Include.

Dans certains cas, ces compromissions sont allées jusqu’à la mise en ligne de sites de filoutage (phishing). Le CERTA recommande de contrôler l’intégrité de toutes les variables (passées en paramètre dans l’adresse réticulaire ou non) avant de les utiliser et dans la mesure du possible de ne pas se servir de la fonctionnalité Include dans les pages web PHP. L’utilisation de cette fonctionnalité du langage PHP peut, en effet, s’avérer dangereuse.

Les exemples ci-dessous indiquent de bonnes pratiques en matière de vérifications de données. Ces exemples ne doivent en aucun cas être appliqués tels quels mais peuvent faire partie d’une réflexion globale en matière de contrôle des variables et des entrées :

  • La plupart des intrusions utilisent des failles PHP Include se servant de scripts téléchargés depuis un site Internet. Une bonne pratique consiste à limiter la directive Include aux variables ne contenant pas les mots clef HTTP et FTP et WWW :
     <? if (
            $page && !strncmp($page, »http »,4) &&
            !strncmp($page, »ftp »,3) &&
            !strncmp($page, »www »,3) && stat($page)
            )
       INCLUDE($page); else … ?>
    
    Cette technique ne protège pas des scripts malveillants déjàprésents sur le serveur.
  • Il est beaucoup plus sûr de limiter les pages pouvant être passées en paramètre à celles autorisées et présentes sur le serveur Web (liste blanche) :

    <? $tab_pages=Array(« mapage1.php », »mapage2.php », »mapage3.php »); if (in_array($page,$tab_pages)) { include $page;} ?>

Les exemples de code fournis, le sont à titre d’information uniquement et ne peuvent en aucun cas remplacer un audit de sécurité. Le CERTA recommande également d’interdire, au niveau du pare-feu, les téléchargements à partir du serveur lui-même.

Documentation

  • Alerte du CERTA du 09 septembre 2003 sur l’exploitation massive de la vulnérabilité « PHP Include » : ancrehttp://www.certa.ssi.gouv.fr/site/CERTA-2003-ALE-003http://www.certa.ssi.gouv.fr/site/CERTA-2003-ALE-003
  • Note d’information du CERTA du 19 décembre 2005 sur les bonnes pratiques concernant l’hébergement mutualisé :
    http://www.certa.ssi.gouv.fr/site/CERTA-2005-INF-005
    
  • ‘Secure Programming for Linux and Unix HOWTO – Creating Secure Software’, D. Wheeler :
    http://www.dwheeler.com/secure-programs/
    

1.2 Rejetés par Google

L’utilisation régulière des grands moteurs de recherche, en l’occurrence Google, peut parfois présenter quelques effets de bord. Cela est dû à la mise en place de quelques mécanismes de protection par Google contre des codes considérés comme malveillants (virus, spyware, etc.).

Sur des critères définis par lui-même, le moteur de recherche Google peut limiter l’accès aux formulaires de recherche en imposant à l’utilisateur de recopier un cryptogramme visuel. Ce dernier est inclus dans une page prévenant l’utilisateur d’une éventuelle compromission de son système par un virus ou un spyware. Cela permet à Google de s’assurer que la recherche provient bien d’un humain, et non d’un outil automatique malveillant.

Cette mesure du moteur de recherche Google présente des conséquences indésirables dans le cas d’une connexion Internet partagée avec une seule adresse IP publique. Une utilisation non standard du moteur de recherche Google depuis l’un des postes du réseau conduit tous les autres postes du réseau partageant la même adresse IP publique à la même sanction, à savoir un accès avec cryptogramme au formulaire de recherche.

Les incidents de ce type, déjà traités par le CERTA, ont permis de mettre en évidence deux éléments importants :

  • ne pas paniquer à l’affichage d’un tel message de la part du moteur de recherche Google et avertir sans délai son service informatique ;
  • analyser le trafic réseau dès que possible afin de faciliter l’identification d’un éventuel système compromis.

D’une manière générale, le moteur de recherche Google ne constitue pas la seule solution en matière de recherche sur l’Internet.

2 Les logiciels gratuits pseudo-miracles

2.1 Cas général

Certains logiciels, gratuits ou non, apparaissent subitement dans les médias, car offrant une fonctionnalité peu courante, voire inexistante jusqu’alors. Il peut s’agir par exemple de navigateurs.

Parmi les cas les plus récents, les « avantages » mis en avant sont les suivants :

  • anonymat de la navigation ;
  • nettoyage des traces laissées par la navigation sur la machine ;
  • remplissage « magique » des formulaires ;
  • suppression de publicités envahissantes ;
  • personnalisation poussée de l’apparence du navigateur ;
  • etc.

Ces outils s’appuient souvent sur un produit existant, comme par exemple Internet Explorer ou Firefox. Ils sont donc non seulement vulnérables aux mêmes classes d’attaques, mais ils ouvrent aussi d’autres opportunités d’attaques, à la mesure des fonctionnalités offertes si généreusement.

2.2 Que faire ?

Les outils mentionnés ci-dessus ont tous un point en commun : ils offrent de manière alléchante une ou plusieurs fonctionnalités. Il est donc prudent de :

  • s’enquérir sur la bonne facture de l’outil auprès de spécialistes en sécurité ;
  • tester que les fonctionnalités annoncées sont bien celles installées, et elles seules, qu’il n’y a ni cheval de Troie ni publiciel ;
  • valider que les outils restent conformes à la politique de sécurité.

3 « Month of Apple Bug » (troisième semaine)

Voici pour cette semaine les vulnérabilités sur les produits Apple publiées par le projet « Month of Apple Bug », et non corrigées à la date de parution de ce bulletin. Depuis vendredi dernier, on notera les publications suivantes :

  • Une vulnérabilité dans la mise en œuvre du protocole AppleTalk dans MacOS X permettant de provoquer un déni de service ou d’exécuter du code arbitraire à distance ;
  • une vulnérabilité dans le positionnement des droits d’accès à certains fichiers du répertoire /Applications avec le bit suid positionné permettant une élévation de privilèges ;
  • une vulnérabilité dans le service slpd (Service Location Protocol Daemon) permet à un utilisateur distant de provoquer un déni de service ou d’exécuter du code arbitraire.

4 Problème GIF et Java

Le CERTA a publié cette semaine l’avis CERTA-2007-AVI-033, concernant une vulnérabilité dans la machine virtuelle Java de Sun. Elle ne manipulerait pas correctement certaines images au format GIF (pour Graphics Interchange Format). Ce format est très répandu, et une attaque peut se produire via une page Web contenant du code Java mettant en œuvre l’affichage d’un GIF spécialement construit.

Il est donc recommandé de :

  • vérifier que le support de Java est désactivé par défaut au niveau du navigateur, tout comme cela doit être fait pour Javascript ;
  • vérifier que vous disposez bien de la dernière version de la machine virtuelle Java.

Rappel des avis émis

Dans la période du 08 au 14 janvier 2007, le CERT-FR a émis les publications suivantes :