La version pour ordinateur Windows de l'application de messagerie instantanée Telegram a été victime d'une faille non documentée. Selon Kaspersky, elle a été exploitée à partir de mars 2017. Elle permettait de déployer des logiciels malveillants mais aussi de miner de la crypto-monnaie à l'insu des internautes. La vulnérabilité a depuis été corrigée.

L’une des règles essentielles en sécurité informatique est de toujours se montrer d’une très grande prudence sur les téléchargements que l’on effectue. Même lorsque les fichiers paraissent sûrs, parce qu’ils sont envoyés par des personnes de confiance, parce que leur nom et leur extension semblent normaux ou parce que le transfert se fait par un canal plus ou moins sécurisé.

Ces bonnes pratiques ne protègent hélas pas de tout, mais elles sont un bon moyen de réduire le risque de subir une attaque. Cela dit, la sécurité informatique est une chaîne faite de plusieurs maillons et si l’un d’eux fait défaut, les autres ne seront pas d’une grande aide. Si une faille se trouve au cœur d’une messagerie instantanée, et qu’elle est exploitée, la prudence seule pourrait ne pas suffire.

C’est un peu ce qu’il s’est passé avec l’application Telegram, dont une faille qui n’était pas documentée (et qu’on appelle faille « 0 day » ou « zero day » dans le jargon) a été exploitée pour propager des logiciels malveillants, en les faisant passer pour des fichiers tout à fait inoffensifs. Ce sont les équipes de sécurité de la société de sécurité informatique russe Kaspersky Lab qui ont mis au jour cette brèche.

Telegram

L’astuce de l’écriture inversée

Concrètement, les assaillants ont utilisé une faiblesse dans le standard informatique Unicode, au niveau de la commande U+202E qui permet de taper du texte non pas de gauche à droite mais de droite à gauche — ce qui est pratique pour les personnes qui ont appris un système d’écriture allant dans ce sens, comme l’arabe et l’hébreu — et ainsi cacher leur code malicieux.

Kaspersky donne l’exemple d’un fichier JavaScript, « fichier_dangereux.js », qui est renommé en « photo_high_regnp.js ». Il est ajouté le marqueur Unicode U+202E, qui ne sera pas visible par le destinataire du fichier pour forcer une portion de cette ligne à s’écrire dans l’autre sens : « photo_high_re*U+202E*gnp.js ». À l’affichage, cela donne « photo_high_resj.png ». Une photo au format PNG !

En apparence seulement, car en fait, le fichier a toujours l’extension .js, avec le code malveillant à l’intérieur. Ce qui pourrait se deviner, au regard de la taille du fichier qui est envoyé — dans l’exemple de Kaspersky, il pèse à peine 138 bytes, ce qui est paradoxal pour un fichier se présentant comme une photo en haute résolution. Cela dit, il suffirait de dire autre chose dans le titre pour anesthésier toute vigilance.

La liste des commandes prises en charge dans le cadre de l’attaque.

Une éventuelle parade pourrait toutefois résider dans le contexte de la conversation. Si le fichier débarque de nulle part, sans que les deux interlocuteurs se soient mis d’accord au préalable pour s’envoyer des fichiers, il peut être raisonnable de temporiser et de vérifier auprès de son contact si l’envoi est bien légitime — en passant même par un autre canal de discussion, mais la procédure peut s’avérer fastidieuse.

Selon Kaspersky, cette vulnérabilité, qui a été signalée aux développeurs de Telegram, n’est plus. Elle figurait dans la version de l’application pour Windows et elle était exploitée depuis le mois de mars 2017, selon les constatations de l’entreprise. Toutefois, elle a pu résider bien plus longtemps dans le programme de la société et être utilisée sans que personne ne le sache. Aucun indice ne permet d’accréditer cette thèse.

Même du minage de crypto-monnaie

Grâce au code malicieux contenu dans le fichier JavaScript, les assaillants ont pu mettre en place divers scénarios, comme prendre complètement le contrôle de l’appareil de la victime, placer des portes dérobées, installer des enregistreurs de frappe (ce qui peut être bien pratique pour récupérer des identifiants et des mots de passe) ou encore déployer des outils pour miner de la crypto-monnaie.

L’entreprise cite en particulier les devises Fantomcoin, Monero et ZCash. Il n’est toutefois pas dit si les assaillants ont pu récupérer beaucoup d’unités par ce canal-là et ensuite en tirer une belle somme, une fois converties les opérations de minage. Ce schéma a en tout cas le vent en poupe, en témoigne le déploiement très discret de portions de code sur des pages web pour exploiter le processeur des internautes.

Partager sur les réseaux sociaux