| S . G . D . S . N Agence nationale de la sécurité des systèmes d'information |
![]() |
Paris, le 11 juillet 2008 No CERTA-2008-ACT-028 |
Affaire suivie par :
CERTA
Objet : Bulletin d'actualité
2008-28
| Conditions d'utilisation de ce document : | http://www.certa.ssi.gouv.fr/certa/apropos.html |
| Dernière version de ce document : | http://www.certa.ssi.gouv.fr/site/CERTA-2008-ACT-028 |
Le bulletin d'actualité est disponible dans son intégralité et au format PDF à l'adresse suivante :
http://www.certa.ssi.gouv.fr/site/CERTA-2008-ACT-028.pdf
Un extrait du bulletin, ne reprenant que les articles de la semaine, se trouve en HTML à l'adresse suivante :
http://www.certa.ssi.gouv.fr/site/CERTA-2008-ACT-028/
La presse a très largement relayé cette semaine une vulnérabilité importante concernant DNS. Le Domain Name System est un élément important de l'architecture Internet puisqu'il assure la transposition des noms de machine en adresse IP, sur lesquelles s'effectue le routage. Le CERTA revient sur cet événement et les faits associés.
Un chercheur a annoncé une vulnérabilité protocolaire du DNS pouvant conduire à une corruption du cache. Il ne fournira cependant les détails techniques de celle-ci qu'au début du mois d'août à l'occasion d'une conférence. Cette annonce avait fait depuis quelques jours l'objet de rumeurs.
Mardi 08 juillet au soir, plusieurs éditeurs ont
publié simultanément des correctifs de leur mise
en
uvre du DNS. On peut citer à valeur
d'exemple :
D'autres mises à jour devraient progressivement apparaître dans les prochains jours.
Il est bien important de comprendre ici qu'elles ne corrigent pas la vulnérabilité protocolaire annoncée mais restreignent les possibilités de réussir son exploitation. Il s'agit pour cela d'empêcher à une personne malveillante de pouvoir construire de fausses réponses spécifiques réalistes. Or les réponses DNS fonctionnent généralement sur la couche de transport UDP, protocole sans état. Les seules méthodes possibles pour complexifier la construction de trames malveillantes consistent ainsi à rendre certains champs de celle-ci difficilement prédictibles en augmentant leur entropie.
Les premiers standards mentionnant le DNS datent du début des années 1980 (1982) :
http://www.dns.net/dnsrd/rfc/
Ceux qui servent de référence sont les RFC 1034 et 1035 rédigés par P. Mockapetris en 1987. En 1995, P. Vixie publiait dans une conférence un article intitulé « DNS and BIND Security Issues » le commentaire suivant :
6. What We Cannot Fix (...) With only 16 bits worth of query ID and 16 bits worth of UDP port number, it's hard not to be predictable. A determined attacker can try all the numbers in a very short time and can use patterns derived from examination of the freely available BIND source code. Even if we had a white noise generator to help randomize our numbers, it's just too easy to try them all.
http://www.usenix.org/publications/library/proceedings/security95/full_papers/vixie.txt
En d'autres termes, l'auteur de cet article précise que les champs qui peuvent être utilisés sont l'identifiant de transaction et le port source de la requête. Ceux-ci ne seront par ailleurs jamais à eux-seuls suffisants pour rendre la réponse impossible à prédire.
Des mises en
uvre DNS ont
appliqué ces mesures. D'autres les ont appliquées
partiellement en se limitant à rendre aléatoire
les identifiants de transaction ; les ports source sont
quasi-invariants et prédictibles. C'est le cas de BIND
qui choisit un port source aléatoire mais le conserve
ensuite jusqu'au prochain redémarrage du service.
Sans mentionner ici les problèmes liés à la propre génération de valeurs aléatoires des identifiants qui a fait l'objet de plusieurs correctifs en 2007, il faut rappeler ici quelques résultats de probabilités publiés en 2001 par l'auteur de djbdns (serveur DNS), D.J. Bernstein, défendant alors l'intérêt d'utiliser des ports source aléatoires. Les chiffres représentés sont le nombre de paquets maximaux nécessaires en fonction des aléas utilisés:
Attaque aveugle Attaque aveugle Attaque par capture
brute Collision de trames (sniff)
-------------- -------------- ------------------
Aucun 1 1 1
ID 65536 256 1
(BIND)
ID+port 4227727360 65020 1
(djbdns)
D'autres chiffres peuvent être fournis en appliquant de manière brute des formules du paradoxe des anniversaires. Les ordres de grandeur restent néanmoins similaires.
Les correctifs publiés appliquent un ensemble de bonnes pratiques préconisées depuis quelques années. Le fait d'introduire de l'aléa pour les ports source n'est pas sans poser un certain nombre de problèmes relatifs aux pare-feux. Certains pare-feux personnels ne prennent pas en compte cette modification de comportement et bloquent les réponses pourtant légitimes.
Question n^1 : Quelle est la nature du problème DNS qui a été largement médiatisé cette semaine ?
Lorsqu'un serveur DNS envoie une requête à un autre serveur, il attend une réponse qui contiendra des informations correspondants à sa demande et en particulier :
Comme le choix de ces deux facteurs était relativement facilement prédictible, il devenait possible de créer une fausse réponse correspondant à une vrai requête et donc de corrompre le cache du DNS. Les correctifs de sécurité diffusés cette semaine améliorent la génération pseudo aléatoire de ces facteurs.
Question n^2 : La vulnérabilité DNS est-elle grave ?
Les vulnérabilités touchant le DNS sont de fait graves car elles peuvent provoquer d'importants dysfonctionnements de l'Internet. En l'occurence, dans cette affaire le risque est de tromper l'utilisateur en l'envoyant de façon silencieuse vers un faux site.
Question n^3 : Que faut-il faire pour limiter les risques ?
Il convient d'appliquer sans délais les correctifs de sécurité et de vérifier la bonne configuration des serveurs DNS. A ce propos, un serveur DNS ne doit être récursif que pour le domaine dont il a la reponsabilité. Un DNS ne doit répondre à l'Internet que pour les zones sur lesquelles il a autorité.
Question n^4 : Il a été dit que la vulnérabilité était protocolaire : cela signifie quoi ?
Cela signifie que cette vulnérabilité n'est
pas liée à une mise en
uvre
particulière dans un logiciel donné. Simplement,
les logiciels peuvent en atténuer les risques par des
mesures appropriées comme un choix plus aléatoire
des ports sources. L'attaque est donc probabiliste. Les
spécifications du protocole DNS n'ont pas prévu
la situation mise en évidence par la
vulnérabilité.
Question n^5 : Les serveurs d'autorité de la zone « .fr » sont-ils concernés ?
Non. Ces serveurs ne sont pas concernés car ils ne sont pas récursifs.
Il faut bien comprendre que la corruption de cache DNS est difficilement visible par l'utilisateur. S'il détecte un comportement anormal, il ne sera pas en mesure d'identifier simplement si le problème vient du DNS ou du site qu'il visite, par exemple.
Il appartient aux administrateurs des serveurs de prendre des mesures. Un ensemble de bonnes pratiques doit être impérativement appliqué :
http://www.certa.ssi.gouv.fr/site/CERTA-2008-ACT-008
Le CERTA tiendra publiera dans les prochains jours une note d'information rappelant un ensemble de risques et de bonnes pratiques liées au DNS.
Cette semaine, le CERTA a été informé d'une campagne d'ingénierie sociale visant plusieurs administrations. Cette campagne tente, par l'envoi de courriels, de récupérer les identifiants et mots de passe d'utilisateurs.
Toutes les administrations visées ont pour point commun l'utilisation d'une application de gestion de contenu intégrant un webmail, Horde. Une fois les données d'un compte utilisateur récupérées, ce compte est utilisé à d'autres fins malveillantes :
Le CERTA tient donc à attirer l'attention de ses lecteurs sur la nécessité de sensibiliser les utilisateurs du système d'information des risques associés à l'ingénierie sociale. En effet, il ne faut jamais fournir ces identifiants et mots de passe.
De plus, il est fortement conseillé d'analyser de manière régulière les journaux de connexions des applications de ce type et de prêter une attention toute particulière aux connexions suspectes, comme celles provenant par exemple de l'étranger ou faites à des heures non conventionnelles.
Il devient donc possible à une personne malintentionnée de réaliser une analyse inverse du code de l'application cliente pour retrouver les identifiants de connexion à la base de données, contournant ainsi la « mesure » de protection mise en oeuvre. L'utilisation d'un protocole non-chiffré peut également permettre, en écoutant le réseau (en utilisant un sniffeur), de retrouver le compte utilisé ou d'intercepter les données échangées.
Une personne malveillante disposant du compte utilisé par l'application pourrait interroger directement le serveur de base de données et ainsi accéder à des informations non-autorisées.
Le CERTA recommande de ne pas utiliser de comptes générique car cette pratique rend difficile l'identification a posteriori. Les comptes utilisés doivent être restreints, ne permettant pas de modifier, supprimer ou accéder à des données non-autorisées. Le fait de figer dans une application un mot de passe ne permet pas de le mettre à jour facilement et régulièrement. Cette pratique peut être contraire à la politique de gestion des mots de passe mise en oeuvre au sein du système d'information.
http://www.certa.ssi.gouv.fr/site/CERTA-2002-INF-002/
http://www.certa.ssi.gouv.fr/site/CERTA-2005-INF-001/
Le CERTA a publié cette semaine deux alertes sur des produits Microsoft. Celles-ci concernent des failles non corrigées et actuellement exploitées de Microsoft Office Word et Microsoft Office Access.
La première vulnérabilité a fait l'objet de l'alerte CERTA-2008-ALE-009 et concerne le contrôle ActiveX du Snapshot Viewer for Microsoft Access. La faille permet à une personne malintentionnée de forcer le téléchargement d'un fichier vers un répertoire arbitraire du poste de l'utilisateur, selon ses droits.
Le contrôle vulnérable est installé par défaut avec les versions 2000, XP et 2003 de Microsoft Access. Il est également signé par Microsoft, ce qui signifie qu'il peut être téléchargé automatiquement dans certaines configurations (« Télécharger les contrôles ActiveX signés ») et/ou exécuté automatiquement (« Exécuter les contrôles ActiveX et les plugins »).
L'un des contournements de la vulnérabilité est justement de migrer si nécessaire vers Internet Explorer 7 et de mettre ces options à « Demander ».
Il est également possible et fortement recommandé de désactiver le contrôle ActiveX vulnérable (cf. CERTA-2008-ALE-009) ou d'utiliser un navigateur alternatif. La navigation avec un compte aux droits restreints et limités à des sites uniquement de confiance est également une bonne pratique.
Pour les administrateurs, il est possible de filtrer avec un serveur mandataire inverse les chaînes suivantes :
F0E42D50-368C-11D0-AD81-00A0C90DC8D9 F0E42D60-368C-11D0-AD81-00A0C90DC8D9 F2175210-368C-11D0-AD81-00A0C90DC8D9 snpvw.Snapshot Viewer Control
La vulnérabilité dans Microsoft Office Word a fait l'objet de l'alerte CERTA-2008-ALE-010. La faille permet à une personne d'exécuter du code arbitraire sur le poste d'une victime après ouverture d'un fichier spécialement conçu.
Seul Microsoft Office Word 2002 est concerné.
Les contournements sont l'utilisation d'autres logiciels, tels que :
http://www.certa.ssi.gouv.fr/site/CERTA-2008-ALE-009/index.html
http://www.certa.ssi.gouv.fr/site/CERTA-2008-ALE-010/index.html
Une mise à jour de juillet de la base des signatures de virus (4.31) et du moteur (2.75) pour certains produits Sophos provoque des arrêts inopinés lors du traitement de certains éléments MIME ayant une longueur nulle.
Les produits affectés sont :
Apparemment, seules les versions pour Linux/Unix sont concernées.
Une mise à jour automatique pour Sophos Email Appliance et Pure Message for Unix a ramené la base de signatures en version 4.30 et le moteur en version 2.74. Concernant SAVI, un correctif a été appliqué automatiquement lors d'une mise à jour.
http://www.sophos.com/support/knowledgebase/article/42245.html
La fondation Mozilla a sorti, à la fin de l'année 2007, un nouveau module additionel pour son navigateur, Weave.
Cette extension a pour but d'exporter vers l'Internet l'ensemble des données relatives à la navigation d'un utilisateur :
Ainsi un utilisateur pourra retrouver toutes les informations dont il a l'habitude, sur n'importe quelle machine, du moment qu'elle est pourvue du navigateur et de l'extension de la fondation Mozilla. Ces informations sont accessibles après une authentification et les données sont chiffrées sur le poste client afin de limiter les possibilités de récupération par un autre utilisateur. En plus de centraliser l'ensemble de ces éléments, il existe la possibilité de partager et de déléguer la gestion de tout ou partie de ces informations à des tiers.
Malgré l'aspect pratique de ce type d'application, le CERTA tient à rappeler que les données personnelles de l'utilisateurs sont stockés sur des serveurs dont il n'a pas le contrôle. Il est donc possible que des données soient récupérées par des personnes et/ou organismes auxquels il ne voulait pas les communiquer. Le CERTA ne recommande pas d'utiliser ce type de module pour les raisons suivantes :
Les fonctionnalités de protection sont le résultat de l'intégration de l'extension Safe Browsing développée par Google dans Firefox 2. Elles se sont enrichies avec la version 3 du navigateur en apportant en plus d'une protection contre les sites contrefaits (filoutage), une protection contre les sites malveillants. Elles fonctionnent sur un principe de listes (noires ou blanches) enregistrées localement et régulièrement mises à jour. Ces listes contiennent les hash partiels des URL suspectes.
Par exemple, le navigateur annonce qu'il a déjà les chunks add 1-3,5,8 et les chunks sub 4-5, pour la liste goog-phish-shavar soit:
goog-phish-shavar;a:1-3,5,8:s:4-5
Le serveur répond que les chunks sub 1 et 2 sont obsolètes et l'adresse ou télécharger les nouveaux disponibles :
n:1200
i:goog-phish-shavar
u: cache.google.com/first
sd:1,2
La connexion à cache.google.com/first retourne une liste de chunks et les données associées:
a:4:48:1200
[encoded data]
s:3:96:100
[encoded data]
a:6:32:800
[encoded data]
a:7:48:1200
[encoded data]
Toutes ces informations sont enregistrées dans le fichier de base de données urlclassifier3.sqlite
echo "SELECT * FROM goog-phish-shavar LIMIT 10;" | sqlite3 urlclassifier3.sqlite
Les URL contenues dans la version précédente, urlclassifier2.sqlite étaient chiffrées en ROT13 et étaient lisibles avec la commande :
echo "SELECT key FROM goog_black_url LIMIT 10;" | sqlite3 urlclassifier2.sqlite | tr N-ZA-Mn-za-m A-Za-z
http://code.google.com/p/google-safe-browsing/wiki/Protocolv2Spec
http://wiki.mozilla.org/Phishing_Protection:_Design_Documentation
Dans la période du 04 au 10 juillet 2008, le CERTA a émis les avis suivants :
Pendant la même période, les avis suivants ont été mis à jour :
(ajout d'une référence au bulletin d'Apple sur MacOS et mise à jour de la description)
(ajout des références au CVE et aux bulletins de sécurité Debian, Red Hat et Sun )