XCSSET, un malware atypique qui se propage grâce à Xcode 🆕

Nicolas Furno |

Article d'origine 17/08 — Les chercheurs en sécurité de TrendMicro lèvent le voile sur un nouveau malware qui se distingue par sa voie de diffusion. Visant les développeurs d’apps pour macOS, XCSSET se loge dans un projet Xcode et s’injecte automatiquement dans les apps compilées par l’outil de développement d’Apple. Il se propage ensuite à l’insu du développeur qui distribue son app sans savoir qu’elle contient un malware.

Si cela ne suffisait pas, le malware peut aussi infecter un dépôt Git partagé par un premier développeur et ensuite utilisé par d’autres développeurs. C’est le principe des dépendances, très courant dans le monde du développement, qui est ainsi exploité par les créateurs du logiciel malveillant pour le déployer plus largement. Le code malicieux se cache dans un dossier masqué dans le dossier xcuserdata qui contient les données du développeur. Il n’y a normalement pas de code à cet emplacement, ce qui complique sa détection.

Logo de base TrendMicro, montage MacGeneration.

Une fois en place sur un Mac, le malware exploite notamment deux failles de sécurité « zero-day », c’est-à-dire de nouvelles failles inconnues jusqu’alors. Elles touchent toutes les deux Safari et permettent de récupérer tous les cookies du navigateur et, plus gênant encore, d’injecter du code JavaScript pour la version de développement du navigateur, Safari Technology Preview. Quand cette version est installée, la faille permet de modifier chaque page web, par exemple pour injecter de la publicité contrôlée par le malware ou, potentiellement plus grave, voler des informations confidentielles lors d’un paiement ou d’une connexion à un site.

Apple va sans doute bloquer ces deux failles de sécurité sans attendre, mais le malware a d’autres armes pour s’en prendre à un Mac infecté. Il est taillé pour voler des informations dans plusieurs autres apps : Evernote, Notes, Skype, Telegram, QQ et WeChat. Il peut aussi prendre des captures d’écran et envoyer des fichiers sur un serveur distant. Et pour couronner le tout, c’est un ransomware qui peut chiffrer des fichiers et réclamer un paiement pour les débloquer.

Le fonctionnement exact du malware est détaillé dans cet article technique qui est très clair et peut être lu sans connaissances préalables, si le sujet vous intéresse. XCSSET est particulièrement actif et dangereux une fois installé sur un Mac, mais on ne sait pas s’il y a beaucoup d’utilisateurs touchés. Les chercheurs de TrendMicro ont trouvé deux projets GitHub publics qui intégraient le code malveillant capable de contaminer des apps lors de la compilation, mais ce sont fort heureusement des projets mineurs qui ne sont pas destinés à être utilisés par d’autres développeurs et qui ne correspondent pas à des apps connues.

Naturellement, la majorité du code source des apps n’est pas public et on ne peut pas connaître facilement le niveau d’activité du malware. Autre inconnue, on ne sait pas comment un système est infecté à l’origine. Si vous êtes vous-même développeur, vous trouverez toutes les explications pour vérifier vos projets Xcode sur le site de TrendMicro.


Mise à jour 24/08 — Oleksandr Shatkivskyi et Vlad Felenuik, les deux chercheurs à l'origine de la découverte du malware XCSSET, ont expliqué à MacRumors que les projets Xcode infectés peuvent passer entre les mailles des inspecteurs du Mac App Store : ils seraient en effet « largement dans l'incapacité de détecter des applications contenant le malware ».

Les deux spécialistes ont prévenu Apple en décembre 2019, et ils espèrent qu'Apple va mettre au point une réponse efficace pour lutter contre le logiciel malfaisant (on l'espère également). Cela pourrait passer par des alertes prévenant l'utilisateur qu'un malware est actif dans macOS, ce qui n'est pas très rassurant au passage.

Shatkivskyi et Felenuik pensent également que ce malware pourrait fonctionner sur les Mac Apple Silicon (ils n'ont pas pu le vérifier, n'ayant pas de DTK sous la main).

avatar Link1993 | 

Si vous avez besoin d'un anti virus, c'est par là que ça se passe ! 😉

https://git.io/JJFah

avatar pacou | 

« Les chercheurs de TrendMicro ont trouvé deux projets GitHub publics qui intégraient le code malveillant »

Pourriez vous dire lesquels ? Ce n’est pas indiqué sauf erreur de ma part dans la doc de trendmicro.

avatar Nicolas Furno | 

@pacou

Si, il y a les liens dans le PDF.

avatar pacou | 

@nicolasf

Je ne les ai pas trouvés. Je vais aller chercher à nouveau.

Merci

avatar YAZombie | 

Heu… ça me semble avoir le potentiel d'être une des plus graves atteintes à la sécurité d'un système… ever, non? C'est juste une impression, mais si quelqu'un pouvait éclairer ma lanterne, avis experts bienvenus. Merci.

avatar Sometime | 

@YAZombie

Il faudrait définir « plus grave atteinte ever » et ce qui vous fait dire cela, mais je n’emploierais pas le terme pour ma part.
C’est certes assez vicieux puisque cela infiltre vos projets, ce qui peut mener a la propagation via des logiciels a priori de bon aloi.
Quant a l’infection des repos git, ce ne serait pas la première fois que l’on pointe le danger que peuvent représenter des dépendances a d’autres projets, notamment via pip pour python ou npm pour JavaScript.

avatar YetOneOtherGit | 

@Sometime

Un des effets de bords de l’Open Source : la relation de confiance aveugle aux dépôts sans se poser de question.

En théorie : puisque les sources sont accessibles on peut auditer la sécurité.

En pratique : Beaucoup font aveuglément confiance aux dépôts et ne se posent pas de questions. (Jusqu’où pourraient-ils s’en poser d’ailleurs)

Et quand on a conscience de la masse de dépenses de bien des Frameworks et bien des librairies : on obtient un des beaux pb de l’époque.

avatar vince29 | 

Je ne vois pas la différence avec inclure une bibliothèque fermée qui aurait été vérolée.

avatar YetOneOtherGit | 

@vince29

"Je ne vois pas la différence avec inclure une bibliothèque fermée qui aurait été vérolée."

La démultiplication exponentielle des offres et des dépendances.

Et ce n’est absolument pas une attaque contre l’open-source 😉

Plus le constat d’un effet de bord d’un large succès.

avatar Sometime | 

@vince29

Peut-être l’aspect intégré a xcode ce qui doit générer des exécutables infectés validement signés.

avatar debione | 

@Sometime
Ce qui fait dire cela je pense, c'est le fait que n'importe quelle application peut être touchée, vu que Xcode est un passage obligatoire, autant angry bird que PS sont potentiellement vérolés... et aussi absolument tout ce qui est passé à la moulinette Xcode...

avatar YAZombie | 

@Sometime, "C’est certes assez vicieux puisque cela infiltre vos projets, ce qui peut mener a la propagation via des logiciels a priori de bon aloi.": ben c'est un peu ce que j'appelle "plus grave atteinte ever".

@debione , "Ce qui fait dire cela je pense, c'est le fait que n'importe quelle application peut être touchée, vu que Xcode est un passage obligatoire, autant angry bird que PS sont potentiellement vérolés... et aussi absolument tout ce qui est passé à la moulinette Xcode...": c'est exactement ce que ça me fait craindre, puisque ça semble presque mécanique.

Encore une fois, s'il y a un truc qui m'échappe, je ne demande qu'à ce qu'on me l'explique.

avatar debione | 

Et qu'Attend Apple pour révoquer le certificat d'Xcode? Pas possible de laisser trainer une énormité pareille dans une application sur leur store... Vu que c'est un de leurs argument principal pour ne pas laisser de store alternatif...
Au dela de la blague Ça semble super méchant comme truc...

avatar raoolito | 

@debione

plutot combler le sfailles dans Xcode non ? a ce que j’ai compris, Xcode en luimeme n’est pas le soucis

avatar debione | 

@raoolito:
Le souci c'est que n'importe quelle application peut être vérolée du coup, et que potentiellement une myriade d'application adoubée par Apple peuvent contenir un ransomware.... Ce qui est à mon avis le plus embêtant...

avatar YetOneOtherGit | 

@debione

"Et qu'Attend Apple pour révoquer le certificat d'Xcode?"

Le bel argument spécieux.

Faire feu de tous bois pour défendre une cause n’est jamais bon signe 😂😂😂

Le combat pour l’ouverture mérite mieux que ce type d’attaque trollesque 😉

avatar debione | 

@ YetOneOtherGit
Heureusement que je n'ai pas écrit: Au de la de la blague... ;)

avatar YetOneOtherGit | 

@debione

Il me semble que tu as rajouté ce “blague à part” dans un deuxième temps, non ?

S’il m’a échappé, excuses-moi 🙏

avatar debione | 

@YetOneOtherGit
Même pas... Tu me feras trois genoux flexion en direction de Cupertino ce soir, et peut-être que je te pardonnerai (et fait gaffe d'ici, le ° est très peu différent entre Mountainview et Cupertino, sinon c'est la damnation éternelle...)

avatar YetOneOtherGit | 

@debione

Toujours en direction de Palo-Alto, je suis du canal historique 👅

avatar YAZombie | 

@ YetOneOtherGit: pourquoi est-ce un argument spécieux? Honnêtement on ne peut pas dire que tu aies donné des informations rassurantes. Je te cite:
"En pratique : Beaucoup font aveuglément confiance aux dépôts et ne se posent pas de questions. (Jusqu’où pourraient-ils s’en poser d’ailleurs)
Et quand on a conscience de la masse de dépenses de bien des Frameworks et bien des librairies : on obtient un des beaux pb de l’époque."

Face à une telle réalité, est-il raisonnable de ne pas faire feu de tout bois?
Je souligne que si j'ai un PC et un tél Android, le cœur de mon équipement est tout de même Apple, il est difficile de me soupçonner d'être un hater

avatar YetOneOtherGit | 

@YAZombie

"Face à une telle réalité, est-il raisonnable de ne pas faire feu de tout bois?"

Tu n’as pas vue le clin d’œil de notre camarade, moi non plus d’ailleurs j’avais réagi au premier degré. 😉

avatar YetOneOtherGit | 

@YAZombie

"Face à une telle réalité, est-il raisonnable de ne pas faire feu de tout bois?"

Il faisait feu de tous bois pour l’ouverture de l’écosystème Apple de façon ironique 😎

avatar YAZombie | 

Ah ok, en effet je n'avais pas compris non plus 😂👌

avatar Ali Baba | 

Je n’ai pas bien compris ou se trouvaient lesdites instructions pour vérifier qu’on n’était pas infecté. (À part acheter leurs logiciels évidemment, mais je suppose que ce n’est pas à ça que l’article fait allusion...)

avatar Florent Morin | 

Dans l'article de TrendMicro, il y a un lien vers un PDF de détails techniques.

avatar Wilthek | 

Bonjour, je reste dubitatif sur l'interêt d'installer une suite de protection comme celle proposée par Trend Micro, j'ai acheté dernièrement en promotion VirusBArrier9 dans sa version complète et j'avoue avoir eu pas mal de ralentissements et de bugs sous Catalina (qui en soit est déjà une Cata.), une clean Install m'a permis de retrouver un OS plus réactif (sans réinstaller VirusBarrier), toujours emprunt des mêmes défauts, mais sans les multiples daemons de VirusBarrier9 et les actions plus ou moins claires exercées sur le système... bref j'ai du mal avec les solutions anti-malwares ou anti-virus sur Mac, j'ai toujours l'impression que cela rajoute plus de soucis que cela ne protège et pourtant j'ai un MBP 2019 15 pouces 16go RAM/512 Go I9 (8 coeurs)... je me disais, vu la configuration, cela va passer inaperçu... pas vraiment.. bugs sur "Musique", ralentissements sur la suite "Adobe", accès à l'AppStore erratique, Synchro iCloud perturbée. Je précise que j'ai conscience que cela reste très subjectif, mais conseillez-vous vraiment l'installation de ce type de logiciel (type Trend Micro ...) ? J'ai du mal à comprendre le bénéfice risque en laissant mon système comme tel. Peut-être pourrez-vous m'éclairer ? Parce qu'après la lecture du doc de Trend je ne vois pas comment repérer une quelconque infection, quant à leurs "softs" gratuits, là encore je me méfie... Alors danger ou pas ? Urgence ou pas ? Merci pour votre éclairage !

avatar Orus | 

Une réponse efficace, serait l'authentification des pirates et ensuite leur élimination. Je délire ? Dans un futur pas si lointain cela deviendra la procédure.

CONNEXION UTILISATEUR