Une publicité malveillante hébergée par Google mène vers un faux site Keepass qui paraît authentique
(arstechnica.com)- En exploitant l’habitude de faire confiance aux annonces de recherche et aux sites officiels, une annonce Google se faisant passer pour Keepass redirige vers un faux site capable de tromper même des utilisateurs habitués à la sécurité
- Après le clic, la barre d’adresse affiche une URL qui ressemble à ķeepass[.]info, mais le domaine réel est xn--eepass-vbb[.]info, encodé en punycode, et diffuse le malware FakeBat
- L’annonce a été affichée du samedi au mercredi, et l’annonceur était indiqué comme Digital Eagle, dont l’identité avait été vérifiée par Google
- L’association d’une annonce Google, d’une URL qui semble légitime et d’un certificat TLS valide rend difficile l’identification de l’usurpation en se fiant uniquement à la barre d’adresse
- Les cinq principaux navigateurs redirigent tous vers le site d’usurpation lorsqu’on saisit ķeepass[.]info ; en cas de doute, il faut saisir directement l’URL dans un nouvel onglet ou vérifier le propriétaire du certificat TLS
Association d’une annonce Google et d’un site usurpant Keepass
- Une annonce malveillante ressemblant à une publicité Keepass a été diffusée sur Google
- L’annonce se faisait passer pour une promotion du gestionnaire de mots de passe open source Keepass
- Les utilisateurs peuvent lui faire plus facilement confiance, car il s’agit d’une annonce Google et Google est réputé examiner les publicités
- Après un clic, la barre d’adresse affiche ķeepass[.]info, qui ressemble au véritable site de Keepass
- Le site officiel réel de Keepass est keepass.info
Un domaine similaire créé avec punycode
- ķeepass[.]info, tel qu’il apparaît dans la barre d’adresse, représente en réalité xn--eepass-vbb[.]info, une notation encodée
- Ce site diffuse une famille de malwares suivie sous le nom de FakeBat
- La tromperie utilise le mécanisme d’encodage punycode
- punycode permet de représenter des caractères Unicode sous forme de texte ASCII standard
- Ici, il utilise un caractère doté d’un signe ressemblant à une petite virgule sous le k
- Le site dispose même d’un certificat TLS valide, ce qui le fait facilement passer pour un site normal si l’on ne regarde que la barre d’adresse
Informations de transparence publicitaire et mesures de Google
- Le Google Ad Transparency Center indique que l’annonce a été diffusée du samedi au mercredi
- L’entité ayant payé la publicité apparaît comme une organisation nommée Digital Eagle
- La page de transparence présente Digital Eagle comme un annonceur dont l’identité a été vérifiée par Google
- Un représentant de Google a indiqué dans un e-mail envoyé après la publication que l’entreprise avait supprimé l’annonce conformément à ses conditions d’utilisation
Analyse de Malwarebytes
- Jérôme Segura, responsable de la threat intelligence chez Malwarebytes, résume le dispositif comme une tromperie en deux étapes
- D’abord, l’utilisateur est piégé par une annonce Google qui semble tout à fait normale
- Ensuite, il est de nouveau piégé par un domaine similaire qui ressemble à un site légitime
- Malwarebytes a rendu cette escroquerie publique dans un billet publié mercredi
- La combinaison d’une annonce Google et d’un site web dont l’URL paraît presque identique crée un fort effet d’usurpation
Cas passés d’abus de punycode à des fins malveillantes
- Les escroqueries utilisant punycode à des fins malveillantes existent depuis longtemps
- Il y a deux ans, des fraudeurs ont utilisé des annonces Google pour diriger des utilisateurs vers un site ressemblant presque parfaitement à brave.com
- Ce site distribuait une fausse version malveillante du navigateur
- En 2017, un développeur d’applications web avait créé un site de preuve de concept ressemblant à apple.com, ce qui avait largement attiré l’attention sur la technique punycode
Méthodes de vérification pour les utilisateurs
- Il n’existe pas de méthode infaillible pour détecter les annonces Google malveillantes ou les URL encodées en punycode
- Si l’on saisit ķeepass[.]info dans les cinq principaux navigateurs, tous redirigent vers le site d’usurpation
- En cas de doute, il est possible d’ouvrir un nouvel onglet de navigateur et de saisir directement l’URL
- Lorsque l’URL est longue, la saisie directe n’est pas toujours une méthode réaliste
- Une autre méthode consiste à inspecter le certificat TLS afin de vérifier que le site affiché dans la barre d’adresse correspond au propriétaire du certificat
1 commentaires
Avis de Hacker News
L’identité de Digital Eagle a évidemment dû être vérifiée par Google. La vérification d’identité de Google fonctionne sur un modèle payant : si l’on paie, on est considéré comme vérifié.
Le passage « un représentant de Google n’a pas répondu immédiatement à l’e-mail » me laisse aussi perplexe. Je ne sais même pas si de vraies personnes chez Google répondent aux e-mails, et cela fait plus de dix ans que je n’ai pas vu de réponse. Même quand on signale du phishing et du spam, on peut se demander si quelque chose est réellement traité.
Franchement, il est temps que le monde se détache de Google. Depuis au moins plus de deux ans, il est difficile de l’utiliser comme moteur de recherche en toute sécurité.
Après que des clients ont été redirigés vers des sites de phishing via des publicités Google, j’ai décidé de bloquer les domaines ci-dessous sur tous les réseaux que je gère.
googlesyndication.com
googleadservices.com
googletagservices.com
googletagmanager.com
google-analytics.com
Le point fort de Google s’est progressivement dégradé au fil des années. Windows connaît une évolution similaire : le marketing et la publicité abîment un produit qui était plutôt correct.
La raison pour laquelle ce genre de publicité passe semble similaire. Ils s’appuient probablement en grande partie sur les signalements collectifs, et le lien « signaler un problème » doit être l’un des principaux mécanismes pour filtrer les mauvaises publicités. Si davantage passent entre les mailles du filet, cela peut indiquer que trop peu de gens prennent le temps de signaler, et que l’équilibre du système de signalements collectifs est en train de se rompre.
C’était vraiment une autre époque.
Quand on signale un site malveillant à namecheap, il arrive qu’il reste en ligne pendant des mois ; eux aussi sont mauvais, mais il y a bien pire pour le traitement des signalements d’abus. Google pourrait faire mieux, mais en pratique, ils s’en sortent plutôt correctement.
Cela dit, ce cas est une raison de plus pour que tout le monde bloque les publicités. Le blocage des publicités rend tout le monde plus en sécurité.
Il faudrait rendre les intermédiaires publicitaires partiellement responsables des publicités frauduleuses, ou imposer une forte identification réelle des annonceurs, ou les deux. Je ne suis pas favorable à une obligation de type impressum allemand pour les publications ordinaires, mais les publicités, c’est différent.
Les publicités s’incrustent agressivement sur d’autres sites d’une manière que l’utilisateur ne contrôle pas. À part tout bloquer, il n’y a pas d’autre option.
En cliquant sur le coin d’une publicité, on devrait pouvoir consulter le numéro d’immatriculation de l’entreprise responsable et l’adresse de son établissement. Les publicités « étrangères » venant d’autres pays devraient être vérifiées plus strictement. Si c’est une arnaque, il est beaucoup plus difficile d’obtenir réparation, même si elle n’est pas anonyme.
Selon l’article, ķeepass[.]info, même s’il apparaît ainsi dans la barre d’adresse, est en réalité une notation encodée représentant xn--eepass-vbb[.]info, et distribuait le malware FakeBat. Avec la combinaison d’une publicité Google et d’un site Web dont l’URL est presque identique, le piège devenait quasiment parfait.
En 2017, Google Chrome 59 était censé avoir corrigé les attaques de phishing par Punycode. Ex. : https://www.engadget.com/2017-04-17-google-chrome-phishing-u...
Peut-être qu’un criminel particulièrement obstiné a analysé le code source de Chromium qui vérifie le Punycode et a trouvé une faille autorisant
ķà la place dek.https://www.xn--80ak6aa92e.com/ --> le faux « аррӏе.com » affiche un avertissement de phishing
https://xn--eepass-vbb.info/ --> le faux « ķeepass.info » n’affiche pas d’avertissement
ķ(U+0137) appartenant à l’alphabet latin [2], « ķeepass.info » ne devrait pas être détecté par le contrôle des caractères similaires entre systèmes d’écriture mixtes.Je ne vois pas non plus
ķdans la liste [3] des glyphes de « caractères similaires sur l’ensemble d’un système d’écriture ». Faut-il l’y ajouter ? Dans la section consacrée aux lettres grecques de ce fichier, un commentaire dit en substance que « les variantes comme ά, έ, ή, ί sont ignorées » ; il existe peut-être une règle selon laquelle les caractères accentués ne sont généralement pas considérés comme des caractères similaires.Si c’est le cas, cela se comprend dans une certaine mesure. Par exemple, si les noms de domaine contenant
és’affichaient en Punycode, les utilisateurs français seraient assez déçus.[1] https://chromium.googlesource.com/chromium/src/+/main/docs/i...
[2] https://www.compart.com/en/unicode/U+0137
[3] https://source.chromium.org/chromium/chromium/src/+/main:com...
Après tout, on ne cliquerait pas non plus sur « göogle.com », si ?
Alors même que Google mène la guerre aux bloqueurs de publicité sur YouTube, l’entreprise montre encore une fois qu’on ne peut absolument pas lui faire confiance pour assumer la responsabilité d’afficher des publicités sûres.
Et en plus, elle diffuse parfois des vidéos de guerre comme publicités à de jeunes enfants.
Mes préférées sont les pubs idiotes pour des chargeurs en forme de brique censés « défragmenter magiquement le téléphone » et les pubs pour des pistolets Micro Ghost.
Je pense être plutôt attentif à la sécurité, mais je ne suis pas sûr que j’aurais repéré ça. Voilà une raison de plus d’utiliser uBO sans regret.
« L’entreprise a déclaré que les publicités frauduleuses sont supprimées immédiatement, aussi vite que possible, lorsqu’elles sont signalées. »
Si elle voulait faire partie de la solution, elle vérifierait les publicités avant leur publication. Mais ça ne passe pas à l’échelle, donc les gens se font arnaquer, la société en subit les dommages, et Google gagne des sommes indécentes. Un échange plutôt équitable, non… ?
Comme plusieurs personnes l’ont dit, le blocage de la publicité sur Internet fait partie d’une utilisation saine et sûre d’Internet.
La modération est un problème difficile à résoudre. Nous voulons de la commodité pour ce qui est légitime, et un blocage fort pour tout ce qui est ne serait-ce qu’un peu suspect. Il y aura forcément des ratés ici ou là.
Le point essentiel ici est de savoir s’il s’agit d’un cas exceptionnel, ou d’un problème notable avec beaucoup d’exemples de ce type approuvés dans Google Ads, mais l’article ne répond pas à cette question.
Le même problème existait déjà il y a un an, et le préfixe du nom de domaine semble également être le même.
https://www.bleepingcomputer.com/news/security/google-ad-for...
Si je dois passer par toutes sortes de procédures à cause de la connaissance client, j’aimerais que les entreprises soient tenues d’en faire autant dans ces cas qui rendent la vie difficile
Cela vaut pour les publicités trompeuses, les appels de spam, les contrefaçons sur des sites comme Amazon, et même les e-mails
Tout semble conçu pour permettre à tous les escrocs du monde de m’atteindre à 100 %, alors que les entreprises qui rendent cela possible, elles, sont injoignables de quelque manière que ce soit
C’est une technique assez maligne. Si j’avais vu le lien dans un contexte autre qu’une publicité, j’aurais pu me faire avoir moi aussi
J’ai appris à repérer les substitutions Unicode habituelles parce que les lettres ont toujours l’air ne serait-ce qu’un peu bizarres, mais là c’était différent. Même avec la flèche qui pointait dessus, je n’ai pas vu le point sous le
k, et à mes yeux cela ressemblait à une petite poussière ou saleté sur l’écranIl y en a plein sur un écran, et notre système visuel sait très bien ignorer ce genre de bruit
Ce n’est pas une poussière qui bloque la lumière comme un pixel noir, mais un pixel blanc lumineux. Je n’avais jamais pensé au mode sombre comme à un moyen de renforcer la sécurité :)
Punycode a dès le départ une utilité discutable. C’est certes surtout un point de vue d’utilisateur de l’alphabet latin, mais, parmi les nombreux sites en écritures non latines que j’ai consultés ces dix dernières années, tous utilisaient des domaines ASCII ordinaires
Même pour les noms d’utilisateur sur des sites qui autorisent Unicode, on constate que la plupart des utilisateurs d’écritures non latines choisissent des noms en alphabet latin
En pratique, les domaines qui utilisent Punycode sont presque tous des domaines de spam. Même dans les espaces en cyrillique ou asiatiques, la plupart des domaines n’utilisent pas Punycode
Je comprends le concept de Punycode et il est techniquement impressionnant, mais pour les domaines, c’est devenu un énorme casse-tête de phishing
Même moi qui utilise plusieurs langues européennes, j’ai besoin de moins de 10 caractères Unicode, et en réalité chacun reste un code ISO 8859-15 sur 8 bits. Même quand c’est nécessaire, la plupart des sites n’enregistrent même pas de domaine Punycode et utilisent une version ASCII déformée de leur nom
Comme mesure pratique, les navigateurs devraient demander à l’utilisateur, lorsqu’il saisit pour la première fois une URL contenant des caractères non ASCII, s’il veut autoriser les URL d’une langue donnée. Autoriser seulement une ou deux langues réduirait fortement la surface d’attaque pour la plupart des utilisateurs
Par exemple, asahi.com est actuellement pris par 朝日 (le journal Asahi), donc Asahi town (旭) ne peut pas l’utiliser. Bien sûr, il pourrait utiliser quelque chose comme asahi-town.co.jp, mais il existe aussi beaucoup de toponymes Asahi avec d’autres graphies (旭日, 朝陽, 浅緋, etc.)
Exiger de tous ces cas une variante ASCII arbitraire n’a pas de sens. Rien que pour les toponymes japonais, c’est déjà ainsi, et il faut encore ajouter les chevauchements dans l’ensemble de la sphère sinographique
Savoir si de tels domaines sont effectivement enregistrés relève presque du problème de la poule et de l’œuf, et cet espace de collision ne semble pas pouvoir se résoudre proprement dans l’alphabet ASCII
Que les domaines ASCII occidentaux soient vulnérables à la fraude est un problème, mais il ne faudrait pas non plus jeter le bébé avec l’eau du bain
Cela dit, pour des domaines de premier niveau dédiés comme
.рф, je ne vois pas Punycode lui-même comme un problème. Par exemple, une forme comme кремль.рф me semble correcteOn peut dire que tout ce qui dépasse l’ASCII est suspect, mais les personnes dont l’anglais n’est pas la langue maternelle s’y opposeront toujours
Une façon de réduire les publicités malveillantes serait la transparence. Chaque publicité devrait inclure les coordonnées légales de l’annonceur, c’est-à-dire le nom de l’entreprise et le pays
Cela ne résoudrait pas entièrement le problème, mais les consommateurs pourraient éviter les publicités d’entreprises douteuses d’Europe de l’Est. Les chercheurs en sécurité pourraient aussi suivre plus facilement les acteurs malveillants, et Google, en tant que plateforme publicitaire, aurait une certaine responsabilité
Facebook le fait déjà pour les publicités politiques, donc c’est faisable
À moins qu’un gouvernement ne les y oblige ou que le risque de responsabilité juridique ne devienne trop élevé, ils ne le feront pas volontairement
Ce n’est pas un peu xénophobe ?
[0] https://www.cloudflare.com/learning/ssl/what-is-an-ssl-certi...