1 Problèmes liés à des relais HTTP
Les incidents de sécurité informatique affectant les serveurs laissent parfois des traces sur l'Internet. C'est le cas par exemple avec les défigurations, qui sont généralement revendiquées sur des sites spécialisés et/ou qui restent dans les caches des moteurs de recherche, ou encore lorsque la machine sert de relais de phishing ou de rebond d'attaque (les messages électroniques ou journaux relatifs à ces problèmes sont parfois publiés sur des sites web). Il est un cas que nous n'abordons quasiment jamais : les proxies ouverts.
Un proxy est un service qui relaie une requête, le cas le plus fréquent étant avec HTTP. L'utilisation d'un proxy HTTP (parfois appelé serveur mandataire) permet ainsi de naviguer plus ou moins anonymement sur des sites ou forums. Ils sont parfois utilisés pour déposer des messages tout en indiquant l'adresse IP du proxy en lieu et place de celle de l'internaute. Un serveur peut être un proxy suite à une action volontaire de l'administrateur, mais aussi à cause d'une erreur de configuration ou d'une intrusion frauduleuse. Des listes de serveurs mandataires publics sont maintenues sur certains sites spécialisés.
Lorsqu'un serveur figure sur une liste de proxies ouverts, sa fréquentation peut brutalement augmenter. Cela se traduit entre autres par une augmentation significative de la taille des journaux. Par exemple, dans le cas d'un proxy HTTP, de nombreuses connexions au serveur auront pour but de demander des pages externes au site web. Une des conséquences directes peut être la saturation de la bande passante du serveur. En effet, toute page externe demandée transitera deux fois par le proxy : une première fois entre le serveur HTTP réellement interrogé et le proxy et une seconde fois entre le proxy et le client.
Le CERTA a récemment traité le cas d'un serveur en « déni de service » parce que le mode proxy était activé. Cependant, la désactivation de celui-ci ne résoud pas tous les problèmes. En effet, l'adresse IP de ce serveur est référencée dans des listes de proxies ouverts. La bande passante est largement moins saturée mais les journaux d'accès au serveur HTTP sont pollués par des demandes de pages externes, ce qui se traduit par des erreurs 404 en grand nombre. Dans ce cas, seul un changement d'adresse IP permet d'alléger les systèmes.
2 Des vulnérabilités associées aux navigateurs
2.1 Introduction
Les navigateurs offrent de manière générale des surfaces d'attaques intéressantes pour les attaquants. Ils se limitent souvent à quelques modèles, partageant des moteurs de rendus. La tendance est actuellement à les complexifier en multipliant les services Web au cours des diverses navigations.
Cette semaine, plusieurs vulnérabilités ont été publiées sur l'Internet. Bien que l'exploitation de ces dernières aient été testées sur Mozilla Firefox, d'autres navigateurs peuvent avoir les mêmes particularités. Elles illustrent cependant que ces applications restent un point de fragilité des machines connectées sur l'Internet.
2.2 Les documents téléchargeables
2.2.1 Présentation
L'en-tête HTTP permet au serveur de préciser différents comportements au niveau du navigateur du poste client.
Le standard MIME permet ainsi d'encapsuler plusieurs types de données dans un même document Internet (courriel ou page Web par exemple).
C'est le cas de l'option Content-Disposition. Cette option est définie dans le RFC 2183 (remplaçant du RFC 1806), et permet de définir quelques paramètres pour la récupération d'objets attachés, comme :
- le nom de l'objet ;
- le type ;
- la date de création ou de de modification ;
- la taille en octets. Le standard précise même que cette valeur est indicative, et peut être estimée.
Un exemple visible dans un en-tête de réponse HTTP peut être de la forme :
Content-type = application/octet-stream Content-disposition = attachment; filename=certa.txt
L'utilisateur va donc voir une fenêtre qui lui propose d'ouvrir le fichier certa.txt, ou de l'enregistrer sur le poste.
Le problème souligné cette semaine par des personnes est que la page ouverte (sans ou après avoir été enregistrée) est interprétée par le navigateur Firefox dans le contexte local de la machine, et non le contexte du site sur lequel la page est prise. Des scripts insérés dans la page téléchargée peuvent ainsi accéder à des données locales.
Il faut que l'utilisateur ouvre, à un moment ou un autre, la page proposée en téléchargement, pour que l'action malveillante réussisse.
La page peut inciter cette action d'une manière ou une autre.
Il faut enfin noter que Microsoft précise bien dans un document de sa base de connaissances (KB279667) que plusieurs méthodes existent pour contourner la demande présentée à l'utilisateur pour enregistrer ou ouvrir le document. Il cite les contrôles ActiveX ou une applet Java.
2.2.2 Recommandations
Les recommandations classiques s'appliquent ici : l'utilisateur doit naviguer sur des sites de confiance, et ne doit pas activer l'interprétation de codes dynamiques (Javascript, ActiveX, etc.) par défaut.
Cette rigueur dans la configuration du navigateur doit s'appliquer pour tout document ouvert avec celui-ci, même s'il est ouvert à partir d'un fichier téléchargé et enregistré sur la machine.
2.3 Les URI de type jar:
2.3.1 Présentation
Le CERTA a mentionné dans de précédents bulletins d'actualité des problèmes issus de l'interprétation par le navigateur de certains champs protocolaires, comme res:, data:, etc. Des personnes ont rappelé cette semaine qu'un bogue subsiste et concerne jar:. Ce bogue a été mentionné dans le site de suivi de bogues de Mozilla, dès février 2007, mais n'est toujours pas corrigé à la date de rédaction de cet article.
Le protocole jar: a une syntaxe particulière, et peut être inséré dans une page HTML pour indiquer une archive via une adresse réticulaire URL (chemin absolu), ainsi que le fichier à extraire de cette archive.
... jar:http://serveur_victime_xss/fichier.jar!/mon_fichier ...L'URL peut être de forme quelconque : http://, comme dansl'exemple ci-dessus, ou https://, file://, ftp://, chrome://, etc.
Cette propriété peut aussi être exploitée via tout site offrant la possibilité de charger de tels fichiers d'archives, qu'ils soient aux formats traditionnels JAR ou ZIP, ou sous des formes plus complexes, comme les formats OpenOffice OpenDocument (ODT) ou Microsoft OpenXML.
Un tel site est alors exploité pour lancer une attaque par injection de code indirecte (XSS).
2.3.2 Recommandations
Plusieurs actions peuvent être entreprises :
- pour l'administrateur :
- surveiller au niveau d'une passerelle Web les contenus de type jar:URL!fichier ;
- limiter les chargements possibles par les utilisateurs via un site Web, et contrôler l'accès de ceux-ci ;
- mettre en place éventuellement des mesures de conversion des fichiers.
- pour l'utilisateur :
- naviguer sur des sites de confiance ;
- ne pas interpréter par défaut de codes dynamiques au niveau du navigateur ;
- utiliser un système d'exploitation et des applications (navigateur et antivirus notamment) à jour.
2.4 Documentation associée
- RFC 2183, "Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field", août 1997 :
http://www.ietf.org/rfc/rfc2183.txt
- Documentation Java.net, "Class JarURLConnection" :
http://java.sun.com/j2se/1.4.2/docs/api/java/net/JarURLConnection.html
- Bug de référence 369814 de Bugzilla, concernant Mozilla Firefox :
https://bugzilla.mozilla.org/show_bug.cgi?id=369814
3 Vulnérabilité sur Macrovision SafeDisc
Macrovision SafeDisc est un mécanisme de vérification de l'authenticité de certains jeux sur Microsoft Windows. Il utilise le pilote secdrv.sys et il est installé par défaut sur les systèmes Windows XP, Windows Server 2003 et Windows Vista.
Le CERTA a publié le 06 novembre 2007 l'avis CERTA-2007-AVI-480 portant sur ce pilote. La vulnérabilité est un débordement de mémoire causé par une erreur dans le traitement de certains paramètres de configuration du pilote. L'exploitation de cette faille par une personne malveillante permet une élévation de privilèges maximale. Toutefois, elle nécessite auparavant que l'attaquant soit connecté au système d'exploitation (via un code malveillant ou en local, par exemple).
Le CERTA insiste sur l'importance de cette vulnérabiltié car elle affecte tous les utilisateurs de systèmes d'exploitation Windows XP et Windows Server 2003. Windows Vista utilise également SafeDisc mais n'est pas affecté par la faille. Macrovision a publié un correctif que l'on peut d'ores et déjà télécharger manuellement. Il est également probable que Microsoft publie une mise à jour via son système des mises à jour automatiques. La vulnérabilité est actuellement exploitée et il est donc recommandé d'installer la mise à jour de Macrovision sans plus attendre.
Documentation
- Bulletin de sécurité Microsoft 944653 du 05 novembre 2007 :
http://www.microsoft.com/technet/security/advisory/944653.mspx
- Avis CERTA-2007-AVI-480 du 07 novembre 2007 :
http://www.certa.ssi.gouv.fr/site/CERTA-2007-AVI-480/index.html
- Bulletin de sécurité ESB-2007-0871 de l'AusCERT du 06 novembre 2007:
http://www.auscert.org.au/render.html?it=8310