« Homograph attacks », la nouvelle menace des noms de domaine ?

phishing par homoglyphe visant Air FranceLes attaques par le biais de noms de domaine homographiques, ou en anglais « homograph attacks », font planer un nouveau danger pour les titulaires de marques.

Depuis quelques années, un typosquatting d’un nouveau genre a fait son apparition. Sa particularité ? Le nom de domaine frauduleux est identique, ou presque, au nom de domaine légitime : même nombre de caractère, dans le même ordre, version majuscule et minuscule très proche visuellement du nom de domaine original…

Et pourtant, il s’agit bien d’un autre nom de domaine, déposé par un tiers. Si on connaissait l’usage de certains caractères tel que le chiffre 0 pour remplacer la lettre « o », ou le « i » majuscule pour la lettre L minuscule « l », il s’agit ici de caractères de remplacement issus de diacritiques de l’alphabet latin, voire d’autres alphabets tel que cyrillique, le grec ou le tamoul.

Ces nouvelles opportunités de nommage sont permises par le développement d’un internet multilingue et l’utilisation de noms de domaine dit internationalisés, ou « International Domain Names » (IDN).

IDN : les noms de domaine internationalisés

IDN, ASCII, unicode et punycode

Historiquement, et ainsi marquée par une vision anglo-centrée, l’organisation de l’espace de nommage s’est développée autour de la langue anglaise. Ainsi, seuls certains caractères compris dans la norme ASCII pouvaient composer un nom de domaine : lettres non-accentuées de A à Z, les chiffres de 0 à 9 et le trait d’union.

jeu de caractères ASCII autorisés dans les punycodes

Promouvoir et permettre un internet multilingue.

Dans le contexte d’internationalisation d’internet, cette restriction n’était pas tenable en ce qu’elle privait les utilisateurs non-occidentaux d’un nommage respectueux de leur usage. Comment par exemple envisager pour une société japonaise d’enregistrer sa marque écrite en katakana dans sa propre extension pays si celle-ci ne permet que les caractères latins ?

Aujourd’hui, plus de la moitié du contenu disponible sur le web est en anglais, langue qui ne représente pourtant que 6 % de la population mondiale.

usage des IDN par langue [1]

statistiques sur les noms de domaine IDNstatistiques sur les noms de domaine IDN

répartition géographique des internautes en 2017

Si le sujet est abordé par l’ICANN (International Corporation for Assigned Names and Numbers) et l’IETF (Internet Engineering Task Force) à la fin des années 90, il faudra toutefois attendre le début des années 2000, près de 20 ans après l’enregistrement du premier .COM, pour voir apparaitre les premiers noms de domaine contenant des caractères non-latins[2].

Pour cela, un nouveau standard est désormais utilisé, Unicode, répertoriant plus de 120 000 caractères. Il permet ainsi l’utilisation et la visualisation pour les internautes de caractères non-latins. Concrètement, le nom de domaine et plus largement les URL composés de tels caractères sont désormais visualisables dans les navigateurs web, clients email, etc.

jeux de caractères Unicode et ASCII

Pour rappel, en France, l’Afnic a ouvert la possibilité d’enregistrer un nom de domaine en caractères accentués dans l’extension .FR le 3 mai 2012. En effet, les caractères accentués ne sont pas compris dans la norme ASCII. L’utilisation de caractère accentué relève ainsi des IDN.

Enfin, tout nom de domaine, quelque soient les caractères utilisés, peut être visualisable en caractères ASCII. Cette conversion est possible avec le standard punycode. Elle s’identifie facilement puisque les noms de domaine ainsi convertis débutent par [xn--].

  • exemple de nom de domaine ASCII :
  • exemple de nom de domaine Unicode :
  • conversion punycode de café.com :

Diversité des alphabets et nouvelle forme de cybersquatting : un effet de bord des IDN ?

attaque à l'homoglypheComme nous l’avons vu, le standard Unicode répertorie plusieurs milliers de caractères issus des différentes régions du monde. Parmi celles-ci, il n’est pas rare que certains caractères très similaires, voire presque identiques, coexistent.

Caractère Mathematical Sans-serif Small A Unicode U+1D5BA → Unicode U+1D5BA

Caractère Latina Unicode U+0061 → Unicode 0061

Paradoxalement, ces nouvelles opportunités de détournement liées aux homoglyphes ont été identifiées dès les premières normes à ce sujet, tant par l’IETF que le consortium UNICODE lui-même :

RFC 3490 :

« An example of an important issue that is not considered in detail in IDNA is how to provide a high probability that a user who is entering a domain name based on visual information (such as from a business card or billboard) or aural information (such as from a telephone or radio) would correctly enter the IDN. Similar issues exist for ASCII domain names, for example the possible visual confusion between the letter 'O' and the digit zero, but the introduction of the larger repertoire of characters creates more opportunities of similar looking and similar sounding names. ».

Unicode Technical Report #36 - Unicode Security Considerations[3].

En 2002, la première démonstration d’attaque par homographe est effectuée[4] par deux étudiants de l’Institut de Technologie d'Israël Technion qui déposent , composé des caractères « c » et « o » de l’alphabet cyrillique.

Des possibilités de nommage limitées à certaines extensions

Toutes les extensions ne permettent pas l’enregistrement de nom de domaine utilisant des lettres autres que A à Z, et les jeux de caractères disponibles varient également selon les extensions. Néanmoins, plusieurs dizaines de registres[5] le permettent et des extensions génériques telles que le .COM[6] ou .INFO l’autorisent.

part des IDN dans les noms de domaine

Une pratique en plein essor

S’il est techniquement possible de procéder à l’enregistrement de noms de domaine homoglyphes depuis plusieurs années, le danger paraissait jusqu’ici plus probable que véritable.

[7]

Durant plusieurs années, l’anti-phishing work group a répertorié[8] peu de cas de phishing réalisés par des noms de domaine homographes, constatant ainsi que ce danger était surévalué au regard des atteintes effectivement constatées. Les raisons suivantes étaient alors indiquées :

Given that IDNs have been widely available for years, why haven't phishers utilized IDN Homographic attacks more often?

  1. Phishers don’t need to resort to such attacks. As noted elsewhere in this report, the domain name itself usually does not matter to a phisher.
  2. By default, some browser manufacturers show the punycode version of the domain name (such as "xn--hotmal-t9a.net") in the address bar, instead of the native-character version. Users of those browsers therefore usually can’t see homographic attacks.

Plusieurs évolutions techniques ont néanmoins changé la donne, tel que l’affichage des noms de domaine IDN par les navigateurs. Aujourd’hui, chaque navigateur a ses propres règles concernant l’affichage ou non d’un nom de domaine IDN directement sous sa forme unicode (alphabet spécifique) ou punycode (caractères latin). Des règles[9] sont régulièrement mises en place afin d’éviter[10] l’affichage unicode d’un nom de domaine IDN visiblement homographique.

attaque à l'homographe : nom de domaine affiché par Opera Opera

attaque à l'homographe : nom de domaine affiché par Safari attaque à l'homographe : nom de domaine affiché par Safari Safari

attaque à l'homographe : nom de domaine affiché par Internet Explorer Internet Explorer

attaque à l'homographe : nom de domaine affiché par Firefox Firefox

attaque à l'homographe : nom de domaine affiché par Chrome Chrome

attaque à l'homographe : nom de domaine affiché par iPhone iPhone

attaque à l'homographe : nom de domaine affiché par Android Android

Si beaucoup de cas remontés jusqu’ici étaient des « proofs of concept » réalisés par des chercheurs ou journalistes, le cas récent d’un nom de domaine homograph visant la société Air France a rappelé l’existence de ces possibilités de nommage.

phishing à l'encontre d'Air France par attaque homographique www.airfrạnce.com

En effet, début février 2018, plusieurs utilisateurs WhatsApp reçoivent une fausse annonce aux couleurs d’Air France, proposant de gagner des billets gratuits. Arnaque somme toute classique, au détail près que le nom de domaine vers lequel sont dirigés les utilisateurs est un nom de domaine homograph. Comment ? La lettre a de « France » a été remplacée par le caractère[11] « ạ ». Il s’agit bien d’un nom de domaine différent de celui utilisé par la compagnie aérienne, qui a été enregistré par un tiers.

accounts-goȯgle.com → xn--accounts-gogle-bkf.com
accounts-gooġle.com → xn--accounts-goole-m8b.com
accounts-googlė.com → xn--accounts-googl-e4b.com
alịbaba.com → xn--albaba-cl8b.com
alibàba.com → xn--alibba-lta.com
alíbàba.com → xn--albba-tqa3g.com
alibábá.com → xn--alibb-0qab.com
ạṃazon.com → xn--azon-pd5a9y.com
amåzon.com → xn--amzon-nra.com
åmåzon.com → xn--mzon-poab.com
amạẓon.com → xn--amon-6o5ard.com
amàzón.com → xn--amzn-1na9i.com
åmazön.com → xn--mazn-poa9h.com
amazǫn.com → xn--amazn-m1b.com
ạmazọn.com → xn--mazn-4q5azl.com
amàzoń.com → xn--amzo-1na61d.com
amaźoń.com → xn--amao-e2a63a.com
ạmazoṇ.com → xn--mazo-ee5a3x.com
ạmạzoṇ.com → xn--mzo-k5y0vb.com
amaẓoṇ.com → xn--amao-ee5aou.com
ạmaẓoṇ.com → xn--mao-k5yssvc.com
aṃaẓoṇ.com → xn--aao-14ywa86b.com
ạṃạẓoṇ.com → xn--o-npmn61akcb.com
amazọṇ.com → xn--amaz-ee5a79a.com
ạṃạẓọṇ.com → xn--yhgi1u0bb9x.com
appľe.com → xn--appe-i1a.com
appĺé.com → xn--app-dma81b.com
åpplė.com → xn--ppl-tla7w.com
ạpplė.com → xn--ppl-mra0298a.com
appĺė.com → xn--app-mra8o.com
appļė.com → xn--app-mra8p.com
åpplë.com → xn--ppl-tla7a.com
appĺë.com → xn--app-lma80b.com
äppĺë.com → xn--pp-uia4a57a.com
ăpplĕ.com → xn--ppl-8oa7g.com
applē.com → xn--appl-eva.com
ạpplẹ.com → xn--ppl-rgzsf.com
appĺeid.com → xn--appeid-kcb.com
appĺëid.com → xn--appid-psa66c.com
appĺeíd.com → xn--apped-2sa15c.com
appĺes.com → xn--appes-85a.com
cïsco.com → xn--csco-5pa.com
citï.com → xn--cit-1ma.com
citïgroup.com → xn--citgroup-w2a.com
cȯintelegraph.com → xn--cintelegraph-eue.com
coıntelegraph.com → xn--contelegraph-24b.com
coiṇtelegraph.com → xn--coitelegraph-r54f.com
deloítte.com → xn--delotte-bza.com
ḟacẹbook.com → xn--acbook-vl7b84c.com
facḛbook.com → xn--facbook-pr3c.com
ḟacebȯok.com → xn--acebok-lqc5238c.com
fạcebọok.com → xn--fcebok-wc8b4n.com
facebòók.com → xn--facebk-7wai.com
facėbôôk.com → xn--facbk-9taa1z.com
faceḅoọk.com → xn--faceok-sg7br0e.com
foxṇews.com → xn--foxews-yt7b.com
göógle.com → xn--ggle-qqar.com
gõögle.com → xn--ggle-0qag.com
gòőgle.com → xn--ggle-lqa48c.com
gọȏgle.com → xn--ggle-bwb1625b.com
googḻe.com → xn--googe-4j1b.com
goöglë.com → xn--gogl-opa7d.com
googlȅ.com → xn--googl-35b.com
gọọglẹ.com → xn--ggl-ljz8da.com
ḡọọḡḷẹ.com → xn--zgga0e00a7ca.com
google-analytiçs.com → xn--google-analytis-rmb.com
hsbç.com → xn--hsb-4la.com
îapple.com → xn--apple-4sa.com
ïd-apple.com → xn--d-apple-nza.com
îkea.com → xn--kea-uma.com
ikeɑ.com → xn--ike-isb.com
întel.com → xn--ntel-zpa.com
mcdonạlds.com → xn--mcdonlds-rx0d.com
mįcrosoft.com → xn--mcrosoft-bkb.com
mićrosoft.com → xn--mirosoft-18a.com
micrösoft.com → xn--micrsoft-q4a.com
mïcrösoft.com → xn--mcrsoft-oza9d.com
micrọsoft.com → xn--micrsoft-180d.com
mịcrọsoft.com → xn--mcrsoft-vw4cua.com
microṣoft.com → xn--microoft-th0d.com
microsòft.com → xn--microsft-r3a.com
mïcrösöft.com → xn--mcrsft-iwa2db.com
microsọft.com → xn--microsft-380d.com
micrọsọft.com → xn--micrsft-fx4cb.com
ṃicrosofṭ.com → xn--icrosof-r03c9o.com
ṃicrosofṭ.com → xn--icrosof-r03c9o.com
nèstlè.com → xn--nstl-5oad.com
nestlë.com → xn--nestl-rsa.com
ṅike.com → xn--ike-84y.com
ņike.com → xn--ike-wwa.com
ṇike.com → xn--ike-h5y.com
nịke.com → xn--nke-llz.com
niḳe.com → xn--nie-82y.com
nikė.com → xn--nik-mra.com
nikẹ.com → xn--nik-ljz.com
nissɑn.com → xn--nissn-3jc.com
öracle.com → xn--racle-iua.com
orȧnge.com → xn--ornge-ucc.com
orɑnge.com → xn--ornge-1jc.com
orangę.com → xn--orang-n0a.com
ṣamsung.com → xn--amsung-hz7b.com
sàmsung.com → xn--smsung-ita.com
sämsung.com → xn--smsung-bua.com
sạmsung.com → xn--smsung-wc8b.com
saṃsung.com → xn--sasung-4s7b.com
starbụcks.com → xn--starbcks-8f1d.com
verïzon.com → xn--verzon-kwa.com
verïzonwireless.com → xn--verzonwireless-xmb.com
verizonwïreless.com → xn--verizonwreless-2mb.com
verïzonwïreless.com → xn--verzonwreless-rjbe.com
vïsa.com → xn--vsa-zma.com
visā.com → xn--vis-3oa.com
viså.com → xn--vis-wla.com
vodafoņe.com → xn--vodafoe-pkb.com
whaṭsapp.com → xn--whasapp-gb4c.com
whạtsạpp.com → xn--whtspp-xc8bc.com
wwwgoôgle.com → xn--wwwgogle-83a.com
щһатѕарр.com → xn--80aa2cah4b8e73b.com

Cette histoire a défrayé la chronique mais n’est pas isolée. Sur un simple panel de grande marque, nous avons détecté avec notre technologie plusieurs centaines de dépôts au cours des précédents mois et nous constatons une hausse des enregistrements de ce type.

Voici un extrait des cas détectés ces dernières semaines.

Parmi ces 117 noms de domaine, 35 étaient en paramétrés pour permettre d’envoyer des emails.

[1] https://idnworldreport.eu/infographics/idns-and-linguistic-diversity-2/ [2] Il est précisé que la notion de caractère non-latin utilisée dans ce document fait référence, par abus de langage, aux caractères autres que les lettres non-accentuées de A à Z. [3] https://www.unicode.org/reports/tr36/ [4] http://www.csl.sri.com/users/neumann/insiderisks.html#140 [5] https://eurid.eu/en/register-a-eu-domain/domain-names-with-special-characters-idns/ [6] https://www.verisign.com/assets/idn-valid-language-tags.pdf [7] https://idnworldreport.eu/year-2017/facts-and-figures/key-numbers/ [8] http://docs.apwg.org/reports/APWG_Global_Phishing_Report_2H_2014.pdf [9] https://wiki.mozilla.org/IDN_Display_Algorithm [10] https://bug1332714.bmoattachments.org/attachment.cgi?id=8829419 [11] https://fr.wikipedia.org/wiki/%E1%BA%A0