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).

Accédez aux commentaires de l'article