Les attaques homographes : ne croyez pas tout ce que vous voyez!

Les attaques homographes : ne croyez pas tout ce que vous voyez!

Une attaque homographe (ou Homograph Attack en Anglais) correspond à ce qui se produit lorsque des hackers enregistrent des domaines quasi similaires aux originaux, avec des certificats valides.

Une attaque homographe (ou Homograph Attack en Anglais) correspond à ce qui se produit lorsque des hackers enregistrent des domaines quasi similaires aux originaux, avec des certificats valides.

De la même manière que les attaquants ont recours à de nouveaux moyens de plus en plus sophistiqués pour essayer d’éviter les techniques de détection utilisées par les antivirus, ils améliorent également leurs méthodes pour tromper les utilisateurs (ou tout du moins contourner les techniques principales enseignées en matière de sécurité informatique).

Malgré cela, nous pouvons toujours faire un pas en avant pour renforcer notre sécurité et détecter les tactiques qu’ils utilisent, comme nous allons le voir dans cet article.

En premier lieu, ils ont considérablement amélioré la conception de leurs arnaques à l’hameçonnage, notamment en utilisant des images convaincantes ou en intégrant des contenus de pages totalement authentiques.

De plus, grâce aux outils actuels et autres dictionnaires de traduction en ligne, ils parviennent à éviter certaines erreurs de grammaire et d’orthographe dans leurs emails.

En outre, il ne suffit plus juste de regarder l’adresse de l’expéditeur d’un email ou d’un SMS, car grâce aux techniques d’usurpation d’identité, il devient facile pour un attaquant de se faire passer pour quelqu’un d’autre et de falsifier les données d’un message.

Il est aussi nécessaire de prêter attention aux liens présents dans les emails frauduleux, car les sites d’arnaque sont souvent cachés derrière des URL abrégées ou composées, pour ne pas révéler leur intention malveillante de prime abord.

En dépit de tout cela, nous avions une règle d’or jusqu’ici qui nous semblait infaillible : vérifiez toujours que la page qui s’affiche est sécurisée et qu’elle utilise le protocole HTTPS et, surtout, qu’elle contient bien un certificat de sécurité.

Les cybercriminels et les sites sécurisés

Même s’il arrive le plus souvent que les sites web frauduleux utilisent HTTP alors que les sites fiables et authentiques requièrent des informations d’identification (tels que les réseaux sociaux, les portails bancaires etc.) et donc utilisent HTTPS, cela ne signifie pas pour autant que les hackers s’en dispensent. En réalité, ils peuvent même facilement convertir leur site en HTTPS en obtenant un certificat SSL/TLS totalement valide, et ce, gratuitement.

Pour que cela fonctionne, l’attaquant doit être capable d’enregistrer un domaine qui ressemble le plus possible au site authentique qu’il cherche à usurper, puis d’obtenir le certificat pour ce nouveau domaine. Une option consiste d’ailleurs à rechercher des domaines écrits de la même manière. Par exemple, « twiitter.com » par rapport à l’original « twitter.com » ou encore « rnercadolibre.com » pour « mercadolibre.com ».

Rappelez-vous de ces expériences lorsque l’on vous montrait des mots incomplets ou ceux avec des erreurs quasi imperceptibles et qui font que, lorsque vous les lisez vite, ils vous semblent tout à fait complets et corrects… Et bien, c’est exactement ce qui se produit pour beaucoup de gens avec des URLs lorsqu’ils naviguent.

À première vue, si vous lisez rapidement, ces exemples pourraient tromper un bon nombre de personnes, mais il vous suffit en réalité de regarder de plus près pour détecter la ruse. Le hacker a besoin de pouvoir enregistrer un site dont l’adresse est écrite différemment mais qui aurait la même apparence pour un utilisateur, c’est donc la raison pour laquelle les attaques homographes sont utilisées.

Regardons de plus près un exemple. Pourriez-vous dire si ce site est original ou non?

Cet exemple fait partie d’une preuve de concept réalisée par le chercheur Xu dong Zheng, qui a enregistré le domaine https://www.xn--80ak6aa92e.com

Vous pouvez voir comment cela fonctionne en visitant le lien via votre navigateur Firefox.

Ce qui permet de rendre possible tout ça, c’est l’utilisation de caractères Unicode de systèmes d’écriture non latins, tels que le cyrillique ou le grec. Dans ces alphabets, nous pouvons trouver des caractères similaires voire même identiques à ceux que nous utilisons dans l’alphabet latin et dans les URLs. Grâce à Punycode, qui est système de codage de syntaxe, il est possible de traduire n’importe quel caractère Unicode en une chaîne de caractères limitée compatible avec les URLs et ainsi d’enregistrer un domaine utilisant ces caractères.

Par exemple, il est possible d’enregistrer un nom de domaine tel que « xn--pple-43d.com » qui sera interprété comme « apple.com » mais écrit en réalité à l’aide de caractères cyrilliques tels que « а » (U +0430) au lieu de l’ASCII « a » (U + 0041).

Bien que les deux caractères se ressemblent à l’œil nu, ils sont bel et bien différents en noms de domaines et pour les navigateurs et autres certificats de sécurité.

Il existe d’autres nombreux exemples, tels que “tωitter.com” (xn--titter-i2e.com dans Punycode) et “gmạil.com” (xn--gmil-6q5a.com). Vous pouvez même vous amuser à créer vos propres combinaisons avec un convertisseur Unicode vers Punycode.

De nombreux navigateurs actuels possèdent des systèmes qui essaient d’empêcher ce type d’attaques. Par exemple, pour Firefox et Chrome, si un domaine contient des caractères de systèmes d’écriture différents d’un affichage Unicode, ils affichent le Punycode correspondant.

Ainsi, dans les exemples précédemment cités, au lieu de voir « apple.com » (forme Unicode), nous verrions «xn--pple-43d.com» (formulaire Punycode), tandis que «tωitter.com» serait «xn-- titter-i2e.com ».

Toutefois, dans sa preuve de concept, Xudong Zheng parvient à contourner cette protection en enregistrant le domaine « apple.com » en utilisant uniquement des caractères de l’alphabet cyrillique. De cette manière, «xn--80ak6aa92e.com» ressemble à аррӏе.com

Le chercheur est également allé encore plus loin en utilisant Amazon pour obtenir un certificat TLS pour son domaine, ce qui, à première vue, semble plutôt convaincant :

Mais si on regarde plus en détail, on peut observer que celui-ci appartient à « xn--80ak6aa92e.com » :

 

Bien que cette vulnérabilité ait été corrigée dans les dernières mises à jour de Chrome et Internet Explorer, d’autres navigateurs comme Firefox sont toujours touchés par ce problème. Une alternative pour Firefox consiste  à définir l’option network.IDN_show_punycode sur true afin d’afficher à chaque fois les caractères sous leur forme Punycode.

Mais même dans ce cas, le site de gmạil.com de l’exemple cité plus haut parvient également à échapper à la protection de Chrome, car celui-ci utilise

uniquement des caractères latins mais en contient un très spécifique (« ạ » – notez bien le point sous le « a ») qui s’affiche sur le navigateur.

Une protection qui nécessite d’être encore renforcée

A chaque fois qu’un nouveau cas de phishing est détecté ou qu’une fausse page apparaît pour duper un utilisateur, nous donnons le conseil suivant : vérifiez l’expéditeur du message, prêtez attention aux liens de la page sur laquelle vous vous dirigez, assurez-vous que les URLs soient écrites correctement et que le domaine est sécurisé (c’est-à-dire qu’un protocole HTTPS est utilisé et qu’il y a un certificat de sécurité).

Cependant, ces précautions ne sont jamais assez longues, les cybercriminels étant des spécialistes pour utiliser des techniques complexes pour tromper les utilisateurs.

L’utilisation de HTTPS et de certificats n’est pas un gage de sécurité de la part du hacker ! Après tout, s’ils vous volent vos données, pensez-vous vraiment qu’ils se soucient réellement que celles-ci soient chiffrés ou pas?

Le fait est que ces techniques sont utilisées pour donner aux utilisateurs un faux sentiment de sécurité, ce qui les encourage à entrer leurs données en pensant qu’il s’agit d’un site sécurisé, après avoir suivi les recommandations qui leur ont été répétées de se fier aux sites qui possèdent le petit cadenas et le HTTPS… Comme nous l’avons vu, ce n’est hélas plus suffisant!

C’est pour cette raison que, outre l’attention particulière donnée aux emails et sites web, nous vous recommandons désormais d’examiner attentivement les certificats de sécurité et d’éviter d’accéder aux sites web via les liens présents dans les emails (il est toujours préférable de taper l’URL soi-même ou d’avoir des liens directs). Enfin, ajoutez une couche de protection supplémentaire à vos comptes en utilisant une authentification à deux facteurs.

(NDLT : Il s’agit d’un article paru originalement en juillet 2017 sur WeLiveSecurity… En Español)

Discussion