˜ Libre-Fan ˜

Spoofing, phishing, sécurité des internautes

IDN, le Web et les emails
16 février 2005 - Dernière mise à jour : 31 octobre 2006
 

Suite à l’alerte IDN de la semaine du 7 février 2005, il apparaît que les IDN (International Domain Names) posent un sérieux problème à la communauté Mozilla comme à d’autres.

Cet article reste d’actualité car il paraît que Firefox 2, nous apportera davantage de protection. Cet article tente donc de faire le point, d’éclaircir un peu le débat qui continue et de répondre à quelques questions importantes.


Au sommaire :

Introduction
Codages et IDN
Spoofing
Solutions universelles ?
Navigateurs et spoofers
Bien protégés avec Firefox 2
Du phishing dans les courriels
Expériences et astuces distrayantes
Parades
Mozilla nous cause !
Conclusion - Phishing
Du nouveau depuis Mozilla-Firefox 1.0.1
Nouveau problème (/09/10/2005)
Archives : Extensions pour Firefox contre le spoofing

Introduction

Mazette ! cet article est référencé sur le Dico du Net

Il reste sur Libre-fan à titre d’information mais le navigateur Firefox vous permet, depuis un bon bout de temps et si vous êtes un peu attentif, de ne pas tomber dans le piège.

Codages et IDN

Toute cette histoire d’IDN remue un vaste champ de jeux de caractères (charset, normes de codage pour l’informatique) dont la base est ASCII avec des variantes importantes selon les langues et surtout selon les signes qu’elles utilisent.

ASCII (prononciation aski), codage de caractères latins sans accents, est la norme basée sur la langue anglaise et utilisée pour les noms de domaines. Les autres normes sont des extensions de l’ASCII, les plus connues dans notre coin du globe étant Latin-1, Latin-9, Unicode.

Dans la rédaction d’un site Web ou dans un document rédigé dans un traitement de texte, la norme pour le français et de nombreuses autres langues, pas seulement européennes, est Latin-1 (ISO-8859-1) ou Latin-9 (ISO-8859-15). Bien sûr M$Windows s’est fabriqué sa propre norme...

La norme Unicode tend à couvrir tous les signes des langues du monde. Le codage UTF-8 transcrit cette norme sur les pages Web.

Vous pouvez voir les nombreux codages qui existent, dans Firefox (ou Mozilla, avec variantes) : Menu « Préférences » ou « Options » > « Général » > « Langues... » (ou en passant par Menu « Affichage » > « Codages » ou « jeux de caractères » ?)

Références sur Wikipedia-fr :

Spoofing

D’après le Concise Oxford Dictionary, le verbe spoof a été inventé par un comique anglais dans les années 1930. Il inclut l’idée de tromperie et d’imitation parodique.

Un site fait du spoofing quand il se fait passer pour un autre site en imitant son apparence, en l’occurrence, son mon de domaine (zozo.net, exemple fictif) qui figure dans l’URL (http://www.zozo.net/).

Ce qui se dit communément est qu’un spoofer (site frauduleux versé dans le spoofing) inclut certains caractères non ASCII choisis de telle sorte qu’une fois transcrits en UTF-8 ils ressemblent à des caractères ASCII. Il semble que cette description soit inexacte.

D’après vinc17, corrigeant par un commentaire l’article de Tristan Nitot recommandé sur MozillaZine-fr :

On ne peut pas mettre de l’UTF-8 dans les noms de domaine. C’est toujours de l’ASCII. Mais l’IDN permet d’interpréter certaines séquences ASCII comme étant des caractères Unicode ; et inversement on a un mapping de l’Unicode vers l’ASCII. Cet encodage n’a rien à voir avec UTF-8.

(Le mot « encodage » est inutile ; en français le mot correct est « codage », dixit Wikipedia.)

- Punycode et Unicode

Ce commentaire semble être corroboré par l’article de Wikipedia-en sur le punycode (pas trouvé de traduction, puny veut dire « chétif »). Si j’ai bien compris, le punycode est un codage qui, étendant les possibilités de l’ASCII, permet de convertir des signes illisibles dans certaines normes en signes lisibles. Voir aussi la définition succincte trouvée sur Linux-France.org : « Syntaxe de codage de caractères Unicode en caractères ASCII (et réciproquement)... ». Exemple d’URL d’un site letton donné sur Wikipedia (« Punycode ») :

Compare an ASCII ’punycoded’ URL http://xn—tdali-d8a8w.lv/ and its full Unicode counterpart that does include Latvian characters with appropriate diacritics : http://tūdaliņ.lv

Voici ce que je comprends. Vous pouvez avoir un lien de cette forme : Mozilla.org : Vous ne voyez pas l’URL mais il est là : si vous cliquez sur ce lien vous allez sur la page d’accueil de Mozilla.org et si vous vous contentez de placer la souris sur le lien vous verrez l’URL s’afficher dans la barre d’état de Firefox ou Mozilla, en bas à gauche. L’URL cachée sous les mots « Mozilla.org » est http://www.mozilla.org qu’on pourrait transformer en lien visible ainsi : http://www.mozilla.org.

L’article de Wikipedia montre la différence entre deux liens d’un site venu de Lettonie pour expliquer l’intérêt du punycode. L’affichage ou la lecture corrects du lien letton en Unicode http://tūdaliņ.lv nécessite l’UTF-8. Essayons de cliquer sur ce lien Unicode : http://tūdaliņ.lv

J’ai désactivé Adblock : j’arrive sur une page blanche avec deux lignes en jaune clair, en letton, j’imagine. Sans doute une page d’erreur.

Si on active Adblock, une page blanche s’affiche ; l’adresse du site est lisible dans le champ de l’URL de Firefox.

Au contraire, converti par le punycode, le lien devient lisible sur une page Web dont le jeu de caractère est iso-8859-1 : http://xn--tdali-d8a8w.lv/

Essayons de cliquer sur ce lien punycode : http://xn—tdali-d8a8w.lv/

Adblock est de nouveau activé. Eh oui, le site s’affiche bien, avec image et texte.

Quant à Spoofstick, il affiche dans les deux cas ce le punycode du nom de domaine du site letton : xn--tdali-d8a8w.lv.

Et maintenant, je cache les URL des liens ainsi et vous pouvez essayer :

En fait, je me demande s’il ne faut pas comprendre ceci après cette expérience : grâce au punycode l’URL du site s’affiche avec ses caractères lettons tout en restant déchiffrable — en quelque sorte le punycode est la face cachée des caractères lettons. L’URL en Unicode pur et dur reste indéchiffrable par le navigateur malgré les apparences et le lien ne fonctionne donc pas.

Si vous avez des éclaircissements à proposer, n’hésitez pas à le faire dans le forum en bas de page en cliquant sur « Répondre à cet article ».

- Alors le Spoofing ?

Il semble donc que les auteurs de sites frauduleux insèrent un ou plusieurs caractères ASCII qui peuvent passer pour de l’Unicode (converti par punycode ?) à cause de l’IDN ; donc des caractères qui donnent des lettres hétérogènes à l’alphabet environnant mais très ressemblantes.

Deux sites peuvent ainsi être enregistrés sous le même nom, à un caractère près. Le site frauduleux est appelé dans ce cas site « homographe », la graphie de son nom de domaine paraissant être la même que celle du nom du site légitime original.

Les responsables sont évidemment les organismes qui enregistrent les noms de domaine, sans les vérifier soigneusement.

ICANN (Internet Corporation For Assigned Names and Numbers) propose des règles et des normes à suivre aux organismes, sociétés, etc. qui enregistrent les noms de domaines. Ces organismes, ne suivent pas toujours les recommandations d’ICANN, notamment dans la question des IDN, (VeriSign est montré du doigt).

Ce qui est piquant et que relève James Seng, dans un billet intitulé « IDN and homographs spoofing » (08/02/2005), c’est qu’un nom de domaine homographe de paypal.com a pu être enregistré sans entraves pour mettre à disposition des internautes une page de test sur le site de Secunia.

Solutions universelles ?

La solution radicale serait-elle de mettre l’univers du Web à la sauce ASCII sans IDN ? Pourquoi ne pas aussi faire de l’anglo-américain l’unique langue du monde ? On voit par là l’aberration d’une solution qui est pourtant proposée et même revendiquée par quelques-uns sur le forum de MozillaZine (en anglais) avec des accents xénophobes.

D’ailleurs, il existe des sites homographes tout simples avec notre alphabet latin et nos chiffres arabes quotidiens : il suffit de remplacer la lettre « o » par le chiffre « 0 », dans le nom de domaine de M$, a-t-il été indiqué comme exemple. Serions-nous en danger de confondre microsoft avec micro$oft ? ;-)

Est-il légitime d’interdire l’utilisation de caractères hétérogènes dans le nom d’un site ? Pourquoi un site rédigé en coréen n’utiliserait pas un chiffre arabe dans son nom de domaine ou le mot belge « Tintin » ;-) — pour un site tintinophile, ce serait très chic. J’extrapole et mélange tout pour montrer que les choses ne sont pas simples.

Il semble que seuls la vigilance des organismes d’enregistrement des noms de domaine et leur respect des recommandations de l’ICANN peuvent être efficaces.

Navigateurs et spoofers

Mozilla, Firefox et tous les navigateurs Gecko, ainsi qu’Opera affichent les sites IDN. Il peut donc arriver que vous atterrissiez sur une page d’un faux site sans y prendre garde.

IE, proclame-t-on, est à l’abri : oui, IE n’a pas de fonction IDN. Il est incapable d’afficher les sites qui recourent à l’IDN.

Non, IE n’est pas à l’abri plus que les autres navigateurs si vous avez installé le plugin Verisign qui permet d’afficher ces sites. Voir la page de Secunia.com. On peut imaginer que des Japonais surfant sur IE et visitant des sites japonais aient ce plugin — ou tout internaute parlant le Japonais. VeriSign est précisément une société qui enregistre les noms de domaines.

Bien protégés avec Firefox 2

- Cliquez sur ce lien inoffensif : c’est un faux spoof mis en ligne par Mozilla.com pour vous montrer comment Firefox 2 vous prévient.

Sauf qu’au 31/10/2006, cette page ne fonctionne pas du tout : Erreur 404. Vous pouvez essayer une page de Google (Firefox safebrowsing), bien que certains d’entre nous en aient un peu assez de « Google est ton ami ».

C’est en tous cas spectaculaire ! Si vous vous faites avoir par des sites frauduleux, c’est qu’ils surgiraient avant que Firefox ne récupère la liste mise à jour de ces sites de bandits :

JPEG - 51.1 ko
protection contre le phishing dans Firefox 2
Cliquez pour agrandir l’image

Du phishing dans les courriels

Une autre forme de phishing s’accomplit par l’intermédiaire de ce qu’on appelle social engineering. C’est une expression bien compliquée pour décrire un courriel apparemment envoyé par un site comme Ebay vous incitant à cliquer sur un lien pour confirmer votre inscription. J’en ai reçu un de ce genre : il suffit de passer la souris sur les liens contenus dans le message pour voir que certains ne renvoient pas du tout à ebay.com. Ce n’est plus une petite lettre qui change, c’est le nom de domaine complet.

C’est donc du phishing vraiment grossier et facilement détectable mais c’est aussi une façon commode pour un voleur en ligne de récupérer vos informations personnelles et votre numéro de carte bancaire si vous n’êtes pas méfiants.

Il ne s’agit pas d’une faille de Thunderbird, naturellement mais d’une simple histoire de spam nocif.

Ne cliquez sur aucun lien, ne répondez pas. Indiquez à Thunderbird qu’il s’agit d’un spam ou junk et au pire supprimez votre adresse email et créez-en une nouvelle.

Bref, méfiez-vous des messages publicitaires ou venant de sites commerciaux.

Expériences et astuces distrayantes

Parades

Même si les navigateurs vulnérables ne sont pas responsables de cette histoire d’IDN homographes des parades doivent être trouvées. Pour le moment, des parades provisoires sont possibles, plus pratiques que les astuces précédentes.

Rappel : les solutions proposées sur les forums ne sont pas toutes efficaces, en particulier, modifier le fichier compreg.dat ou la ligne network.enableIDN dans about:config est parfaitement vain avec la version de Firefox 1.0 stable et officielle. Le fichier sera modifié par chaque extension ou thème que vous installerez et la ligne IDN sera remise à True à chaque fois que vous fermerez et relancerez Firefox.

- Voir Astuces pour Mozilla-Firefox

Mozilla nous cause !

Voici l’extrait d’un Blog sur MozillaZine daté du 15 février 2005 et rédigé par Gervase Markham. L’auteur, développeur de Mozilla, souligne les défauts des registres des IDN mais aussi le devoir de Mozilla envers ses utilisateurs et indique les solutions envisagées.

However, we also have a duty to protect our users. So, in the mean time, the enableIDN preference will be set to “false” in Firefox 1.0.1 and Mozilla 1.8 beta, including all official localisations. An XPI will be made available to turn it on again ; this XPI will make the risks of doing so clear. This means that by default, links to IDN domains which use the Unicode rather than the punycode form for the href will fail, and the browser will display any IDN domain visited in its raw form.

In the future (Firefox 1.1 and beyond) we hope to be able to turn IDN back on again. We may be able to find a way to turn it on selectively for those TLDs which have a demonstrable record of good practice - but we can’t promise to do that. It partly depends on how much resource maintaining a white or black list would take. (To help with that decision, please tell me of any instances where the registration of two homographic domains to different entities has happened in TLDs other than .com.)

Voici ma paraphrase (ce n’est pas du tout une traduction) avec commentaires.

Dans la nouvelle version améliorée Firefox 1.0.1 et dans la version bêta de Mozilla 1.8 et les versions officielles locales (= en langues variées), la fameuse ligne dans about:config sera désactivée ( = mise à false) par défaut. Comme cela peut poser problème pour certains internautes qui risquent de voir l’accès à certains sites bloqué, une extension XPI sera disponible : elle permettra d’activer les IDN tout en alertant les internautes des dangers possibles ; ce qui veut dire que, par défaut, les liens vers des noms de domaine IDN utilisant Unicode plutôt que le punycode seront bloqués (voir plus haut l’exemple de Wikipedia ; ce lien serait bloqué : URL d’un site en Lettonie, version Unicode) et que le navigateur affichera l’URL de tout nom de domaine IDN sous sa forme brute (comme Spoofstick l’affiche actuellement ?, ce n’est pas clair).

À partir de Firefox 1.1, La Fondation espère pouvoir activer les IDN par défaut de nouveau. Il se peut qu’un moyen soit trouvé pour faire le tri entre les faussaires et les sites légitimes mais il est impossible de le promettre. Tout dépend des ressources à mobiliser pour tenir à jour des listes noires ou blanches des TLD (= top-level domains, c’est le suffixe com, org, fr, etc., de l’URL). Vous pouvez influencer la décision de la Fondation en signalant à G. Markham des exemples de noms de domaines homographiques dans des TLD autres que .com.

Conclusion - Phishing

Le Web est un terrain dangereux — bref, ne livrez pas des informations importantes sur une page d’un site dont vous n’êtes pas absolument sûr et n’achetez pas en ligne à tout va.

« phishing », néologisme anglais dont la dimension est imparfaitement rendue par le terme « hameçonnage » —Dico du Net

Le phishing est pratiqué par les spoofers se faisant passer pour des sites légitimes. Il consiste à récupérer des informations (mots de passe, n° de carte bancaire, etc.) en vous invitant par un lien, le plus souvent, sur leurs sites déguisés. Le phishing est une activité à but hautement lucratif — bref, c’est du vol. Vérifiez qu’un email urgent venant prétendûment de votre banque, par exemple, n’inclut pas un faux lien. Utilisez plutôt un marque-page du vrai site de la banque ou tapez l’URL dans Firefox. Ne croyez pas tout ce qui arrive dans votre boîte à lettres et utilisez le filtre Junk (= spam) dans Thunderbird.

Du nouveau depuis Mozilla-Firefox 1.0.1

25 février 2005 : vous avez bien sûr vu la nouvelle et installé cette nouvelle version qui n’est pas un patch, — voir IDN et Firefox 1.0.1 : du nouveau ! ;-)

Vous pouvez conserver les extensions « anti-spoofing ». Mais avez-vous été voir about:config ? Désactivez Adblock si vous voulez tester les nouveautés de Firefox 1.0.1.

En tapant IDN vous trouverez deux lignes :

- Vous trouvez que Firefox n’a pas la bonne solution ? C’est pourtant la seule possible pour ne pas sanctionner des internautes qui visitent des sites dont les adresses contiennent du punycode.

- Vous avez la possibilité d’utiliser Adblock et IDN-Fix pour vous protéger davantage, selon vos besoins (Spoofstick semble redondant maintenant).

- Vous pouvez aussi régler network.enableIDN à false ; c’est radical. Le site letton en version Unicode sera également introuvable comme le faux site payapal.com (voir plus haut).

- À vous de choisir ce qui vous convient !

Nouveau problème (/09/10/2005)

- Voir la brève : Encore un petit coup d’IDN ! — Cette fois, ce sont les traits d’union dans les URL qui font du bazar.

- Mieux vaut aussi avoir lu cet article depuis le début

- Voici ce que conseille Mozilla

Changer un petit quelque chose dans la configuration du navigateur Firefox ou de celui de la Suite Mozilla — voir les instructions complètes sur What Firefox and Mozilla users should know about the IDN buffer overflow security issue :

  1. Tapez about:config dans le champ de l’URL du navigateur et appuyer sur la touche du clavier « Entrée ».
  2. Dans le champ « Filtre » tapez network.enableIDN
  3. Clic droit de la souris sur la ligne network.enableIDN et mettez la valeur à false en choisissant toggle (= changer) pour désactiver la ligne. Ou bien cliquez deux fois (gauche) sur la ligne, ce qui la désactive aussi.
  4. Vérifiez que le changement est effectif : fermez le navigateur puis lancez-le de nouveau et refaites les étapes 1 et 2 en vérifiant que la valeur est bien false.

Cette faille est réparée dans les navigateurs Mozilla récents. Ayez toujours la toute dernière version. Les failles sont vite réparées.

Archives : Extensions pour Firefox contre le spoofing

Ces extensions sont inutiles depuis Firefox 1.5. Mais il est bon de conserver ces archives sur Libre-Fan.

- Spoofstick

Il faut au moins la version 1.0.5 de Firefox et du navigateur Mozilla.

— Vérifie que vous êtes bien sur le site que vous pensez être en train de visiter — certains sites se font passer pour d’autres (des sites surchargé d’acheteurs ; la notice de Spoofstick vous donne un exemple d’un site à enchères). Cette version est à jour (au 13 février 2005) — voir ci-dessous.

— Spoofstick, 1.0.5 sur corestreet.com, version revue et corrigée par l’auteur de Spoofstick, vous offre une solution toute simple.
— Cette nouvelle version est d’ailleurs plus pratique.

— En regardant mieux le nom du site affiché dans le champ de l’URL du navigateur, vous verrez peut-être que le deuxième « a » est plus petit ; c’est un caractère cyrillique, ce qui ne veut pas dire que les pirates sont des gens utilisant l’alphabet cyrillique pour écrire leur langue — c’est seulement un subterfuge pour faire enregistrer un site dont l’adresse peut être confondue avec celle d’un site légitime et ainsi espérer voler des internautes.

— Il existe une variante de Spoofstick sur le site de K. Jarnot (jarnot.com) qui affiche Warning !!- homograph et indique entre paranthèse quel caractère est différent de celui qu’on attend — latin sans accent.

— Limite : Spoofstick dénonce aussi bien un faux site qu’un site dont l’URL comporte légitimement des caractères autres que les caractères latins non accentués... Un utilisateur norvégien a signalé ce défaut : par exemple, un URL comportant le mot röda (« rouge » en Norvégien).

— Conseil : comparez avec Adblock et IDN-Fix.

- IDN-Fix (sur gpsi.ucpel.tche.br) Encore une extension (trouvée sur le forum de MozillaZine) pour éviter le spoofing ; c’est un peu comme Spoofstick mais plus pratique et moins encombrant.

Un petit popup vous avertit du danger et vous permet de taper l’URL du vrai site. Ensuite, on clique sur « Okay » et la page du vrai site s’affiche. L’auteur est brésilien mais je ne suis pas parvenue à découvrir son nom...

— Je viens d’essayer sous Mac ; parfait. AMHA (= « À mon humble avis »), cette extension est la meilleure solution, et la plus simple, pour vous protéger du spoofing.

NB : Depuis la version de Firefox 1.0.2, le navigateur déclare clairement dans le champ de l’URL le nom de domaine du site visité, à la manière de Spoofstick, ce qui ne vous empêche pas de continuer à utiliser l’une ou l’autre des extensions ci-dessus si vous craignez de ne pas faire attention au nom de domaine affiché dans le champ de l’URL.


protection contre le phishing dans Firefox 2
Cliquez pour agrandir l’image

Consultez si besoin le « Glo(u)ssaire cum Commentaires ».

Vous trouverez davantage de liens précisément dans « Liens vers Mozilla, le Libre, les menaces ».

Répondre à cet article

Votre email n'est pas crypté -- remplacez l'arobase par le mot (at) pour éviter que les robots spammeurs ne le récupèrent. Exemple fictif : zozo(at)ploof.net