Derniers problèmes de PGP
Date : 30 Juin 2005
En février dernier, NAI a annoncé l'arrêt de sa gamme de produit "PGP Desktop Security". Indépendamment de cette annonce, PGP a aussi été mis sur la sellette plusieurs fois au cours du 1er semestre de cette année, par des rumeurs de bugs de sécurité (3 bugs distincts ont été reportés par des utilisateurs sur des forums de discussion).
A chaque fois, aucune confirmation officielle n'a été donnée par NAI, mais des emails laconiques d'ingénieurs de NAI (du type "ce problème est corrigé dans la dernière version du produit") ont été envoyés sur les forums de discussion.
Après analyse, le Cert-IST n'a pas émis d'avis sur ces 3 problèmes, dans la mesure où ils sont non reproductibles ou correspondent à des utilisations non conventionnelles de PGP. La suite de l'article présente ces problèmes et l'analyse du Cert-IST pour chacun.
Envoi de emails non chiffrés
Le problème reporté est que dans certaines conditions, PGP sous OutLook envoie les emails en clair alors que l'utilisateur avait demandé un envoi chiffré.
Il s'agit bien sur d'un défaut majeur, et le Cert-IST a analysé avec soin ce problème. Les premiers tests effectués alors ont montré que le problème décrit n'était pas reproductible sur Outlook. Après plusieurs demandes d'information restées sans réponse auprès de NAI, une campagne de test plus approfondie a été réalisée par le Cert-IST. Elle a permis de montrer que le problème :
- n'a jamais pu être reproduit sur Outlook 2000,
- mais se produit effectivement sur Outlook Express 5.
Le problème se produit si, sous Outlook Express, juste après avoir appuyé sur le bouton d'envoi du message, une autre fenêtre que la fenêtre email devient active. Il est dû au fait que le "plug-in" PGP (composant PGP intégré à l'outil de messagerie), déclenché au moment de l'appui sur le bouton d'envoi, fonctionne de la façon suivante :
- sélection du message à chiffrer,
- envoi du texte ainsi sélectionné au "moteur PGP" qui chiffre ce texte,
- remplacement du message d'origine par le texte chiffré ainsi produit.
Sous Outlook Express ce fonctionnement est bien visible. Au moment de l'appui sur le bouton "envoyer", on voit :
- l'ensemble du texte du message devenir noir (opération de sélection et de copie)
- puis au bout d'un court laps de temps (chiffrement du message), remplacement du texte sélectionné par l'équivalent chiffré ("paste" du texte chiffré dans la fenêtre Outlook Express).
Du fait de ce fonctionnement, si une autre fenêtre devient active au moment du lancement du plug-in PGP, c'est sur cette autre fenêtre que l'opération de chiffrement se produit. Dans ce cas, l'email est alors envoyé non chiffré, car PGP ne s'est pas rendu compte qu'un changement de fenêtre active était survenu en cours d'opération.
Sur Outlook (par opposition à Outlook Express), ce problème n'existe visiblement pas (nous ne l'avons jamais observé), car le fonctionnement du plug-in PGP est différent. En effet, le plug-in PGP utilise dans ce cas la MAPI Microsoft (plutôt qu'un copier/coller dans la fenêtre active) pour manipuler le texte à chiffrer.
Cette différence de fonctionnement du plug-in PGP entre Outlook Express et Outlook2000 a en particulier été mise en évidence par l'un de nos cas de tests. Ainsi, si l'on cherche à chiffrer un message vide :
- Outlook retourne une erreur "Unable to retrieve the MAPI message body"
- OutlookExpress retourne une erreur "PGP could not automatically copy the text from your window"
La faille reportée existe donc uniquement sur Outlook Express, qui est un environnement beaucoup moins commun que Outlook dans le milieu professionnel. Elle existe probablement partout où le plug-in "copier/coller" de PGP est utilisé. Ce mode "copier/coller" est facilement repérable puisque lors du chiffrement l'ensemble du texte du email passe en mode "vidéo-inversé" (l'ensemble du texte est sélectionné).
Stockage en clair de la pass-phrase
Le second problème reporté concerne lui aussi l'utilisation de PGP sous Outlook. Il a été indiqué que si Outlook s'arrête brutalement (erreur d'exécution), la pass-phrase PGP saisie au cours de la session Outlook est alors enregistrée en clair dans le fichier de "trace" généré par Windows (fichier " drwtsn32.log" généré par le composant "DrWatson" de Windows).
Etant donné que les permissions par défaut permettent à n'importe quel utilisateur connecté au système de lire ce fichier, une compromission de ce mot de passe est alors possible.
Le Cert-IST a testé cette vulnérabilité sur Outlook2000 (sous Windows NT4 et Windows 2000) avec PGP 7.0.3 et PGP 6.5.8. Nous n'avons retrouvé la trace de la pass-phrase PGP, dans aucun des fichiers "trace" générés.
Dans tous les cas, si cette anomalie existe réellement, elle ne devient vraiment préoccupante que si un tiers peut accéder à votre disque dur. Cela peut arriver parfois, par exemple dans le cas d'un poste multi-utilisateurs, ou d'un espace disque partagé. L'envoi d'une machine en réparation constitue également un risque, mais il est rare (déconseillé) de laisser le disque dur d'une configuration sensible dans le matériel renvoyé.
Sauvegarde en clair des messages déchiffrés automatiquement
Le dernier problème concerne la fonction de déchiffrement automatique des emails sous Outlook. Il existe en effet une option du plug-in PGP (option "Automatically decrypt/verify when opening messages") qui permet de configurer PGP pour lancer la fonction de déchiffrage dès que l'utilisateur sélectionne un message chiffré (alors que par défaut, il faut activer cette fonction manuellement sur chaque email à déchiffrer).
Avec la version 7 de PGP, les emails déchiffrés de cette manière ne sont pas sauvegardés sous forme déchiffrées (ce qui n'est pas la cas de la version 6), et sont donc conservés de façon sûre (sous forme chiffrée). Une anomalie concernant cette fonction a été constatée pour l'environnement Outlook98 sous Exchange. Il a été noté en effet, que si l'utilisateur répond à un email déchiffré automatiquement, l'email original est lui sauvegardé sous forme déchiffrée.
Ne disposant pas de l'environnement nécessaire au test, le Cert-IST n'a pas contrôlé cette vulnérabilité. Nous invitons donc les utilisateurs concernés à vérifier le fonctionnement de PGP dans ces circonstances.
Pour plus d'information :
- Envoi d'emails non chiffrés : http://archives.neohapsis.com/archives/bugtraq/2001-12/0245.html
- Stockage en clair de la pass-phrase dans le fichier "DcWatson" : http://www.securiteam.com/windowsntfocus/5SP0Y0A6KM.html
- Sauvegarde en clair des messages déchiffrés automatiquement : http://www.securiteam.com/windowsntfocus/5RP032K60C.html