From: "Michel Bouissou" To: Cc: Date: Fri, 1 Dec 2000 10:51:11 +0100 Subject: [open-crypto] Re: [open-crypto-devel] Nouveau bug de securite dans GnuPG De : pplf > > Pour le deuxième fois en deux mois, GnuPG a un bug de sécurité. Un patch > est ici : > ftp://ftp.gnupg.org/pub/gcrypt/gnupg/gnupg-1.0.4.security-patch1.diff > > WK écrit : > > "The problem here is that someone may replace foo.sig with a standard > signature containing some arbitrary signed text and its signature, and > then modify foo.txt - GnuPG does not detect this - Ooops." Pour ce que je comprends du message de WK, il s'agit d'un problème qui concerne uniquement la vérification de signatures "détachées". Normalement, une signature détachée ne comporte pas de "texte", juste une signature, et se rapporte à un fichier externe, qui sera vérifié par rapport à cette signature. Il semble, selon ce qu'écrit WK, qu'une attaque est possible car GnuPG ne fait pas réellement la différence entre une signature détachée et un document signé. Explication: M. Toto crée un fichier "document.zip" et le signe de manière détachée dans "document.zip.sig", cette signature détachée permettant normalement de vérifier l'authenticité de "document.zip". M. Grosmalin, un attaquant, a l'idée suivante: - Il remplace "document.zip" par un "document.zip" falsifié à sa sauce; - Il récupère quelque part un document _authentique_ signé par Toto, la signature étant dans le document (comme un mail signé quelconque, etc) et renomme ce document authentique en "document.zip.sig". - Il distribue alors le faux "document.zip" et le faux "document.zip.sig" ensemble. - La personne attaquée vérifiera la signature "document.zip.sig", mais, comme ce fichier (bien qu'il ait changé de nom) est authentique _ET_ comporte un texte signé, GnuPG rapportera une "bonne signature", qui est en fait la bonne signature de "document.zip.sig" par rapport à son propre contenu, et la vérification de "document.zip", externe, ne sera pas effectuée du tout. - L'utilisateur qui vérifie la signature croira alors qu'il a affaire à un "document.zip" authentique, et ne remarquera pas la contrefaçon. Toutefois, la contrefaçon pourra être mise en évidence si l'attaqué a la curiosité de regarder le contenu de "document.zip.sig", car il y trouvera alors un texte signé (probablement) san rapport avec document.zip, alors qu'il ne devrait y figurer qu'une signature sans texte. Cette incapacité de GnuPG à différencier une signature "détachée" d'une signature "incorporée" est selon moi un bug grave, et la modification de syntaxe de la vérification proposée par WK ne me semble pas satisfaisante. Il s'agit là d'une manière d'indiquer à GnuPG qu'il _doit _ considérer la signature comme détachée et se rapportant à un autre document, mais que se passe-t-il si on oublie ? Et, si on fournit 2 fichiers à vérifier à GnuPG (normalement liés) et que le premier lui semble correct et auto-suffisant, comment se fait-il qu'il ignore tout simplement le second, non signé, sans le signaler haut et fort? A première vue, belle boulette... > On critique PGP pour leur goût du bug, mais GnuPG n'a-t-il pas un modèle > développement trop "bazar" et pas asez "cathédrale" ? (c'est une simple > question et non un appel au troll ;-) Ne trollons pas ;-) Pour moi, c'est un bug idiot et regrettable, qui trouvera certainement très vite une solution plus satisfaisante que la rustine proposée dès à présent. Je ne crois pas que ce type de bug puisse être attribué au modèle de développement de GnuPG, ce sont simpement "des choses qui arrivent", quel que soit le modèle de développement. L'avantage du développement open-source est justement de permettre une découverte plus rapide de ce genre de bug (combien d'années le bug ADK de PGP est-il passé inaperçu ?) et d'avoir une communication transparente et rapide sur ce type de problème et ses implications. Selon moi, ce bug ne compromet pas la confiance que l'on peut placer en GnuPG, le fait d'avoir cette info est un plus qui permet de rendre prudent lorsqu'on vérifie une signature détachée, en attendant une solution définitive à ce problème. Cordialement. Michel Bouissou PGP DH/DSS ID 0x5C2BEE8F _________________________________________________________ Pour tout savoir sur cette liste ou pour vous désabonner, rendez-vous sur la page web: http://sympa.i-quake.com/wws/info/open-crypto Pour vous désabonner directement par mail, envoyez un e-mail vide à l'adresse sympa@sympa.i-quake.com, avec pour sujet: signoff open-crypto Rendez-nous visite sur http://www.i-quake.com !